成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Python對(duì)函數(shù)要求,Python支持的函數(shù)

在Python中定義Main函數(shù)

目錄

創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于做網(wǎng)站、網(wǎng)站制作、淶源網(wǎng)絡(luò)推廣、微信小程序定制開發(fā)、淶源網(wǎng)絡(luò)營(yíng)銷、淶源企業(yè)策劃、淶源品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供淶源建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:jinyejixie.com

許多編程語言都有一個(gè)特殊的函數(shù),當(dāng)操作系統(tǒng)開始運(yùn)行程序時(shí)會(huì)自動(dòng)執(zhí)行該函數(shù)。這個(gè)函數(shù)通常被命名為main(),并且依據(jù)語言標(biāo)準(zhǔn)具有特定的返回類型和參數(shù)。另一方面,Python解釋器從文件頂部開始執(zhí)行腳本,并且沒有自動(dòng)執(zhí)行的特殊函數(shù)。

盡管如此,為程序的執(zhí)行定義一個(gè)起始點(diǎn)有助于理解程序是如何運(yùn)行的。Python程序員提出了幾種方式對(duì)此進(jìn)行實(shí)現(xiàn)。

本文結(jié)束時(shí),您將了解以下內(nèi)容:

Python中的基本main()函數(shù)

一些Python腳本中,包含一個(gè)函數(shù)定義和一個(gè)條件語句,如下所示:

此代碼中,包含一個(gè)main()函數(shù),在程序執(zhí)行時(shí)打印Hello World!。此外,還包含一個(gè)條件(或if)語句,用于檢查__name__的值并將其與字符串"__main__"進(jìn)行比較。當(dāng)if語句為True時(shí),Python解釋器將執(zhí)行main()函數(shù)。更多關(guān)于Python條件語句的信息可以由此獲得。

這種代碼模式在Python文件中非常常見,它將作為腳本執(zhí)行并導(dǎo)入另一個(gè)模塊。為了幫助理解這段代碼的執(zhí)行方式,首先需要了解Python解釋器如何根據(jù)代碼的執(zhí)行方式設(shè)置__name__。

Python中的執(zhí)行模式

Python解釋器執(zhí)行代碼有兩種方式:

更多內(nèi)容可參考如何運(yùn)行Python腳本。無論采用哪種方式,Python都會(huì)定義一個(gè)名為__name__的特殊變量,該變量包含一個(gè)字符串,其值取決于代碼的使用方式。

本文將如下示例文件保存為execution_methods.py,以 探索 代碼如何根據(jù)上下文改變行為:

在此文件中,定義了三個(gè)對(duì)print()函數(shù)的調(diào)用。前兩個(gè)打印一些介紹性短語。第三個(gè)print()會(huì)先打印短語The value __name__ is,之后將使用Python內(nèi)置的repr()函數(shù)打印出__name__變量。

在Python中,repr()函數(shù)將對(duì)象轉(zhuǎn)化為供解釋器讀取的形式。上述示例通過使用repr()函數(shù)來強(qiáng)調(diào)__name__的值為字符串。更多關(guān)于repr()的內(nèi)容可參考Python文檔。

在本文中,您將隨處可見文件(file),模塊(module)和腳本(script)這三個(gè)字眼。實(shí)際上,三者之間并無太大的差別。不過,在強(qiáng)調(diào)代碼目的時(shí),還是存在細(xì)微的差異:

“如何運(yùn)行Python腳本”一文也討論了三者的差別。

基于命令行執(zhí)行

在這類方法中,Python腳本將通過命令行來執(zhí)行。

執(zhí)行腳本時(shí),無法與Python解釋器正在執(zhí)行的代碼交互。關(guān)于如何通過命令行執(zhí)行代碼的詳細(xì)信息對(duì)本文而言并不重要,但您可以通過展開下框閱讀更多有關(guān)Windows,Linux和macOS之間命令行差異的內(nèi)容。

命令行環(huán)境

不同的操作系統(tǒng)在使用命令行執(zhí)行代碼時(shí)存在細(xì)微的差異。

在Linux和macOS中,通常使用如下命令:

美元符號(hào)($)之前的內(nèi)容可能有所不同,具體取決于您的用戶名和計(jì)算機(jī)名稱。您鍵入的命令位于$之后。在Linux或macOS上,Python3的可執(zhí)行文件名為python3,因此可以通過輸入python3 script_name.py來運(yùn)行python腳本。

在Windows上,命令提示符通常如下所示:

根據(jù)您的用戶名,之前的內(nèi)容可能會(huì)有所不同,您輸入的命令位于之后。在Windows上,Python3的可執(zhí)行文件通常為python。因此可以通過輸入python script_name.py來運(yùn)行python腳本。

無論哪種操作系統(tǒng),本文的Python腳本的輸出結(jié)果都是相同的。因此本文以Linux和macOS為例。

使用命令行執(zhí)行execution_methods.py,如下所示:

在這個(gè)示例中,__name__具有值'__main__',其中引號(hào)(')表明該值為字符串類型。

請(qǐng)記住,在Python中,使用單引號(hào)(')和雙引號(hào)(")定義的字符串沒有區(qū)別。更多關(guān)于字符串的內(nèi)容請(qǐng)參考Python的基本數(shù)據(jù)類型。

如果在腳本中包含"shebang行"并直接執(zhí)行它(./execution_methods.py),或者使用IPython或Jupyter Notebook的%run,將會(huì)獲取相同的結(jié)果。

您還可以通過向命令行添加-m參數(shù)的方法實(shí)現(xiàn)以模塊的方式執(zhí)行。通常情況下,推薦如下方式pip: python3 -m pip install package_name。

添加-m參數(shù)將會(huì)運(yùn)行包中__main__.py的代碼。更多關(guān)于__main__.py文件的內(nèi)容可參考如何將開源Python包發(fā)布到PyPI中。

在三種情況中,__name__都具有相同的值:字符串'__main__'。

技術(shù)細(xì)節(jié):Python文檔中具體定義了__name__何時(shí)取值為'__main__'。

當(dāng)通過標(biāo)準(zhǔn)輸入,腳本或者交互提示中讀取數(shù)據(jù)時(shí),模塊的__name__將取值為'__main__'。(來源)

__name__與__doc__,__package__和其他屬性一起存儲(chǔ)在模塊的全局命名空間。更多關(guān)于屬性的信息可參考Python數(shù)據(jù)模型文檔,特別是關(guān)于模塊和包的信息,請(qǐng)參閱Python Import文檔。

導(dǎo)入模塊或解釋器

接下來是Python解釋器執(zhí)行代碼的第二種方式:導(dǎo)入。在開發(fā)模塊或腳本時(shí),可以使用import關(guān)鍵字導(dǎo)入他人已經(jīng)構(gòu)建的模塊。

在導(dǎo)入過程中,Python執(zhí)行指定模塊中定義的語句(但僅在第一次導(dǎo)入模塊時(shí))。要演示導(dǎo)入execution_methods.py文件的結(jié)果,需要啟動(dòng)Python解釋器,然后導(dǎo)入execution_methods.py文件:

在此代碼輸出中,Python解釋器執(zhí)行了三次print()函數(shù)調(diào)用。前兩行由于沒有變量,在輸出方面與在命令行上作為腳本執(zhí)行時(shí)完全相同。但是第三個(gè)輸出存在差異。

當(dāng)Python解釋器導(dǎo)入代碼時(shí),__name__的值與要導(dǎo)入的模塊的名稱相同。您可以通過第三行的輸出了解這一點(diǎn)。__name__的值為'execution_methods',是Python導(dǎo)入的.py文件。

注意如果您在沒有退出Python時(shí)再次導(dǎo)入模塊,將不會(huì)有輸出。

注意:更多關(guān)于導(dǎo)入在Python中如何工作的內(nèi)容請(qǐng)參考官方文檔和Python中的絕對(duì)和相對(duì)導(dǎo)入。

Main函數(shù)的最佳實(shí)踐

既然您已經(jīng)了解兩種執(zhí)行方式上的差異,那么掌握一些最佳實(shí)踐方案還是很有用的。它們將適用于編寫作為腳本運(yùn)行的代碼或者在另一個(gè)模塊導(dǎo)入的代碼。

如下是四種實(shí)踐方式:

將大部分代碼放入函數(shù)或類中

請(qǐng)記住,Python解釋器在導(dǎo)入模塊時(shí)會(huì)執(zhí)行模塊中的所有代碼。有時(shí)如果想要實(shí)現(xiàn)用戶可控的代碼,會(huì)導(dǎo)致一些副作用,例如:

在這種情況下,想要實(shí)現(xiàn)用戶控制觸發(fā)此代碼的執(zhí)行,而不是讓Python解釋器在導(dǎo)入模塊時(shí)執(zhí)行代碼。

因此,最佳方法是將大部分代碼包含在函數(shù)或類中。這是因?yàn)楫?dāng)Python解釋器遇到def或class關(guān)鍵字時(shí),它只存儲(chǔ)這些定義供以后使用,并且在用戶通知之前不會(huì)實(shí)際執(zhí)行。

將如下代碼保存在best_practices.py以證明這個(gè)想法:

在此代碼中,首先從time模塊中導(dǎo)入sleep()。

在這個(gè)示例中,參數(shù)以秒的形式傳入sleep()函數(shù)中,解釋器將暫停一段時(shí)間再運(yùn)行。隨后,使用print()函數(shù)打印關(guān)于代碼描述的語句。

之后,定義一個(gè)process_data()函數(shù),執(zhí)行如下五項(xiàng)操作:

在命令行中執(zhí)行

當(dāng)你將此文件作為腳本用命令行執(zhí)行時(shí)會(huì)發(fā)生什么呢?

Python解釋器將執(zhí)行函數(shù)定義之外的from time import sleep和print(),之后將創(chuàng)建函數(shù)process_data()。然后,腳本將退出而不做任何進(jìn)一步的操作,因?yàn)槟_本沒有任何執(zhí)行process_data()的代碼。

如下是這段腳本的執(zhí)行結(jié)果:

我們?cè)谶@里看到的輸出是第一個(gè)print()的結(jié)果。注意,從time導(dǎo)入和定義process_data()函數(shù)不產(chǎn)生結(jié)果。具體來說,調(diào)用定義在process_data()內(nèi)部的print()不會(huì)打印結(jié)果。

導(dǎo)入模塊或解釋器執(zhí)行

在會(huì)話(或其他模塊)中導(dǎo)入此文件時(shí),Python解釋器將執(zhí)行相同的步驟。

Python解釋器導(dǎo)入文件后,您可以使用已導(dǎo)入模塊中定義的任何變量,類或函數(shù)。為了證明這一點(diǎn),我們將使用可交互的Python解釋器。啟動(dòng)解釋器,然后鍵入import best_practices:

導(dǎo)入best_practices.py后唯一的輸出來自process_data()函數(shù)外定義的print()。導(dǎo)入模塊或解釋器執(zhí)行與基于命令行執(zhí)行類似。

使用__name__控制代碼的執(zhí)行

如何實(shí)現(xiàn)基于命令行而不使用Python解釋器導(dǎo)入文件來執(zhí)行呢?

您可以使用__name__來決定執(zhí)行上下文,并且當(dāng)__name__等于"__main__"時(shí)才執(zhí)行process_data()。在best_practices.py文件中添加如下代碼:

這段代碼添加了一個(gè)條件語句來檢驗(yàn)__name__的值。當(dāng)值為"__main__"時(shí),條件為True。記住當(dāng)__name__變量的特殊值為"__main__"時(shí)意味著Python解釋器會(huì)執(zhí)行腳本而不是將其導(dǎo)入。

條件語塊內(nèi)添加了四行代碼(第12,13,14和15行):

現(xiàn)在,在命令行中運(yùn)行best_practices.py,并觀察輸出的變化:

首先,輸出顯示了process_data()函數(shù)外的print()的調(diào)用結(jié)果。

之后,data的值被打印。因?yàn)楫?dāng)Python解釋器將文件作為腳本執(zhí)行時(shí),變量__name__具有值"__main__",因此條件語句被計(jì)算為True。

接下來,腳本將調(diào)用process_data()并傳入data進(jìn)行修改。當(dāng)process_data執(zhí)行時(shí),將輸出一些狀態(tài)信息。最終,將輸出modified_data的值。

現(xiàn)在您可以驗(yàn)證從解釋器(或其他模塊)導(dǎo)入best_practices.py后發(fā)生的事情了。如下示例演示了這種情況:

注意,當(dāng)前結(jié)果與將條件語句添加到文件末尾之前相同。因?yàn)榇藭r(shí)__name__變量的值為"best_practices",因此條件語句結(jié)果為False,Python將不執(zhí)行process_data()。

創(chuàng)建名為main()的函數(shù)來包含要運(yùn)行的代碼

現(xiàn)在,您可以編寫作為腳本由從命令行執(zhí)行并導(dǎo)入且沒有副作用的Python代碼。接下來,您將學(xué)習(xí)如何編寫代碼并使其他程序員能輕松地理解其含義。

許多語言,如C,C++,Java以及其他的一些語言,都會(huì)定義一個(gè)叫做main()的函數(shù),當(dāng)編譯程序時(shí),操作系統(tǒng)會(huì)自動(dòng)調(diào)用該函數(shù)。此函數(shù)通常被稱為入口點(diǎn)(entry point),因?yàn)樗浅绦蜻M(jìn)入執(zhí)行的起始位置。

相比之下,Python沒有一個(gè)特殊的函數(shù)作為腳本的入口點(diǎn)。實(shí)際上在Python中可以將入口點(diǎn)定義成任何名稱。

盡管Python不要求將函數(shù)命名為main(),但是最佳的做法是將入口點(diǎn)函數(shù)命名為main()。這樣方便其他程序員定位程序的起點(diǎn)。

此外,main()函數(shù)應(yīng)該包含Python解釋器執(zhí)行文件時(shí)要運(yùn)行的任何代碼。這比將代碼放入條件語塊中更好,因?yàn)橛脩艨梢栽趯?dǎo)入模塊時(shí)重復(fù)使用main()函數(shù)。

修改best_practices.py文件如下所示:

在這個(gè)示例中,定義了一個(gè)main()函數(shù),它包含了上面的條件語句塊。之后修改條件語塊執(zhí)行main()。如果您將此代碼作為腳本運(yùn)行或?qū)?,將獲得與上一節(jié)相同的輸出。

在main()中調(diào)用其他函數(shù)

另一種常見的實(shí)現(xiàn)方式是在main()中調(diào)用其他函數(shù),而不是直接將代碼寫入main()。這樣做的好處在于可以實(shí)現(xiàn)將幾個(gè)獨(dú)立運(yùn)行的子任務(wù)整合。

例如,某個(gè)腳本有如下功能:

如果在單獨(dú)的函數(shù)中各自實(shí)現(xiàn)這些子任務(wù),您(或其他用戶)可以很容易地實(shí)現(xiàn)代碼重用。之后您可以在main()函數(shù)中創(chuàng)建默認(rèn)的工作流。

您可以根據(jù)自己的情況選擇是否使用此方案。將任務(wù)拆分為多個(gè)函數(shù)會(huì)使重用更容易,但會(huì)增加他人理解代碼的難度。

修改best_practices.py文件如下所示:

在此示例代碼中,文件的前10行具有與之前相同的內(nèi)容。第12行的第二個(gè)函數(shù)創(chuàng)建并返回一些示例數(shù)據(jù),第17行的第三個(gè)函數(shù)模擬將修改后的數(shù)據(jù)寫入數(shù)據(jù)庫(kù)。

第21行定義了main()函數(shù)。在此示例中,對(duì)main()做出修改,它將調(diào)用數(shù)據(jù)讀取,數(shù)據(jù)處理以及數(shù)據(jù)寫入等功能。

首先,從read_data_from_web()中創(chuàng)建data。將data作為參數(shù)傳入process_data(),之后將返回modified_data。最后,將modified_data傳入write_data_to_database()。

腳本的最后兩行是條件語塊用于驗(yàn)證__name__,并且如果if語句為True,則執(zhí)行main()。

在命令行中運(yùn)行如下所示:

根據(jù)執(zhí)行結(jié)果,Python解釋器在執(zhí)行main()函數(shù)時(shí),將依次執(zhí)行read_data_from_web(),process_data()以及write_data_to_database()。當(dāng)然,您也可以導(dǎo)入best_practices.py文件并重用process_data()作為不同的數(shù)據(jù)輸入源,如下所示:

在此示例中,導(dǎo)入了best_practices并且將其簡(jiǎn)寫為bp。

導(dǎo)入過程會(huì)導(dǎo)致Python解釋器執(zhí)行best_practices.py的全部代碼,因此輸出顯示解釋文件用途的信息。

然后,從文件中存儲(chǔ)數(shù)據(jù)而不是從Web中讀取數(shù)據(jù)。之后,可以重用best_practices.py文件中的process_data()和write_data_to_database()函數(shù)。在此情況下,可以利用代碼重寫來取代在main()函數(shù)中實(shí)現(xiàn)全部的代碼邏輯。

實(shí)踐總結(jié)

以下是Python中main()函數(shù)的四個(gè)關(guān)鍵最佳實(shí)踐:

結(jié)論

恭喜!您現(xiàn)在已經(jīng)了解如何創(chuàng)建Python main()函數(shù)了。

本文介紹了如下內(nèi)容:

現(xiàn)在,您可以開始編寫一些非常棒的關(guān)于Python main()函數(shù)代碼啦!

Python中定義函數(shù)默認(rèn)參數(shù)值的使用注意事項(xiàng)?

4.7.1. 默認(rèn)參數(shù)值

最常用的一種形式是為一個(gè)或多個(gè)參數(shù)指定默認(rèn)值。這會(huì)創(chuàng)建一個(gè)可以使用比定義是允許的參數(shù)更少的參數(shù)調(diào)用的函數(shù),例如:

def ask_ok(prompt, retries=4, complaint='Yes or no, please!'):

while True:

ok = input(prompt)

if ok in ('y', 'ye', 'yes'):

return True

if ok in ('n', 'no', 'nop', 'nope'):

return False

retries = retries - 1

if retries 0:

raise OSError('uncooperative user')

print(complaint)

這個(gè)函數(shù)可以通過幾種不同的方式調(diào)用:

只給出必要的參數(shù):

ask_ok('Do you really want to quit?')

給出一個(gè)可選的參數(shù):

ask_ok('OK to overwrite the file?', 2)

或者給出所有的參數(shù):

ask_ok('OK to overwrite the file?', 2, 'Come on, only yes or no!')

這個(gè)例子還介紹了 in 關(guān)鍵字。它測(cè)定序列中是否包含某個(gè)確定的值。

默認(rèn)值在函數(shù) 定義 作用域被解析,如下所示:

i = 5

def f(arg=i):

print(arg)

i = 6

f()

將會(huì)輸出 5。

重要警告: 默認(rèn)值只被賦值一次。這使得當(dāng)默認(rèn)值是可變對(duì)象時(shí)會(huì)有所不同,比如列表、字典或者大多數(shù)類的實(shí)例。例如,下面的函數(shù)在后續(xù)調(diào)用過程中會(huì)累積(前面)傳給它的參數(shù):

def f(a, L=[]):

L.append(a)

return L

print(f(1))

print(f(2))

print(f(3))

這將輸出:

[1]

[1, 2]

[1, 2, 3]

如果你不想讓默認(rèn)值在后續(xù)調(diào)用中累積,你可以像下面一樣定義函數(shù):

def f(a, L=None):

if L is None:

L = []

L.append(a)

return L

在python中自定義函數(shù)需要什么關(guān)鍵字放在函數(shù)開始

def開頭。

格式:

def 函數(shù)名(參數(shù)):

縮進(jìn) 函數(shù)具體的代碼

python自定義函數(shù)有哪些?

Python的自定義函數(shù)格式中規(guī)中矩,用def引導(dǎo)自定義函數(shù)名,用括號(hào)給出該函數(shù)的參數(shù),在冒號(hào)后換行通過縮進(jìn)確定函數(shù)體。在格式上和條件判斷語句有些相似。

如果函數(shù)名和變量名沖突了,相當(dāng)于重新賦值。而python解釋是從上到下的,也就是說此時(shí)誰在下面誰占用這個(gè)變量名。剩下的那個(gè)就只能在內(nèi)存中等待垃圾回收了。

自定義函數(shù)的參數(shù):

按道理來說,即使Python不嚴(yán)格要求定義函數(shù)參數(shù),但這方面的知識(shí)有助于理解自定義函數(shù)中參數(shù)操作的情況,還是應(yīng)該說明一下的。

可以簡(jiǎn)單地理解為在定義函數(shù)時(shí)括號(hào)中聲明的參數(shù)是我們?cè)诤瘮?shù)使用中會(huì)用到的參數(shù),在調(diào)用函數(shù)時(shí)括號(hào)中的變量就是參加函數(shù)運(yùn)算用到的變量,換個(gè)名字參數(shù)(用于定義)和變量(用于調(diào)用)就足以理解了。

python基本要求

Python語言完全可以從零基礎(chǔ)開始學(xué)習(xí),即使沒有任何計(jì)算機(jī)基礎(chǔ)的人,經(jīng)過一個(gè)系統(tǒng)的學(xué)習(xí)過程,也能掌握Python編程?,F(xiàn)在市面上IT培訓(xùn)機(jī)構(gòu)學(xué)習(xí)Python課程的學(xué)員幾乎都沒有計(jì)算機(jī)編程基礎(chǔ),但是他們通過系統(tǒng)化的學(xué)習(xí)也完全掌握Python開發(fā)技術(shù),月薪基本過萬。

學(xué)習(xí)Python編程技術(shù),需要有自己的學(xué)習(xí)方式和方法:

1、明確自己的目標(biāo):無論學(xué)習(xí)什么樣的知識(shí),都要對(duì)自己的學(xué)習(xí)目標(biāo)有一個(gè)明確的認(rèn)識(shí),比如以后就業(yè)想要走哪個(gè)方向,是Web、人工智能還是數(shù)據(jù)分析;只有朝著自己的目標(biāo)前進(jìn),才可以少走彎路,得到全面提升。

2、基礎(chǔ)的Python學(xué)習(xí):比如說:了解Python是什么、可以做什么;什么是變量、算法、解釋器;Python基本數(shù)據(jù)類型;列表和元組的操作方法;字符串操作方法等。

3、掌握Python的條件、循環(huán)和相關(guān)的執(zhí)行語句:任何知識(shí)的基礎(chǔ)都是比較枯燥的,學(xué)習(xí)完基礎(chǔ)知識(shí)之后,我們就可以動(dòng)手來做一些邏輯層面的東西了,比如:掌握if、else、elif等語句的使用。

4、深層次的知識(shí)學(xué)習(xí):比如說面對(duì)對(duì)象知識(shí)OOP,更高層次的Python程序結(jié)構(gòu),代碼的重用避免代碼冗余,函數(shù)的參數(shù)、作用域等。

5、項(xiàng)目實(shí)踐:學(xué)習(xí)Python知識(shí),一定要多動(dòng)手實(shí)踐,畢竟實(shí)踐出真知,多敲代碼、多去嘗試,獨(dú)立解決問題、探索問題,你會(huì)擁有更多收獲。

python3--內(nèi)置函數(shù)

python的常用內(nèi)置函數(shù)

1.abs() 函數(shù)返回?cái)?shù)字的絕對(duì)值

abs(-40)=40

2. dict() 函數(shù)用于創(chuàng)建一個(gè)字典

dict()

{} ? ? ?#創(chuàng)建一個(gè)空字典類似于u={},字典的存取方式一般為key-value

例如u = {"username":"tom", ?"age":18}

3. help() 函數(shù)用于查看函數(shù)或模塊用途的詳細(xì)說明

help('math')查看math模塊的用處

a=[1,2,3,4]

help(a)查看列表list幫助信息

4.dir()獲得當(dāng)前模塊的屬性列表

dir(help)

['__call__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']

5.min() 方法返回給定參數(shù)的最小值 /參數(shù)可以為序列

a=? min(10,20,30,40)

a

10

6. next() 返回迭代器的下一個(gè)項(xiàng)目

it = iter([1, 2, 3, 4, 5])

next(it)

1

next(it)

2

7. id() 函數(shù)用于獲取對(duì)象的內(nèi)存地址

a=12

id(a)

1550569552

8.enumerate() 函數(shù)用于將一個(gè)可遍歷的數(shù)據(jù)對(duì)象(如列表、元組或字符串)組合為一個(gè)索引序列,同時(shí)列出數(shù)據(jù)和數(shù)據(jù)下標(biāo),一般用在 for 循環(huán)當(dāng)中。

a=["tom","marry","leblan"]

list(enumerate(a))

[(0, 'tom'), (1, 'marry'), (2, 'leblan')]

9. oct() 函數(shù)將一個(gè)整數(shù)轉(zhuǎn)換成8進(jìn)制字符串

oct(15)

'0o17'

oct(10)

'0o12'

10. bin() 返回一個(gè)整數(shù) int 或者長(zhǎng)整數(shù) long int 的二進(jìn)制表示

bin(10)

'0b1010'

bin(15)

'0b1111'

11.eval() 函數(shù)用來執(zhí)行一個(gè)字符串表達(dá)式,并返回表達(dá)式的值

eval('2+2')

4

12.int() 函數(shù)用于將一個(gè)字符串會(huì)數(shù)字轉(zhuǎn)換為整型

int(3)

3

int(3.6)

3

int(3.9)

3

int(4.0)

4

13.open() 函數(shù)用于打開一個(gè)文件,創(chuàng)建一個(gè)file對(duì)象,相關(guān)的方法才可以調(diào)用它進(jìn)行讀寫

f=open('test.txt')

14.str() 函數(shù)將對(duì)象轉(zhuǎn)化為適于人閱讀的形式

str(3)

'3'

15. bool() 函數(shù)用于將給定參數(shù)轉(zhuǎn)換為布爾類型,如果沒有參數(shù),返回 False

bool()

False

bool(1)

True

bool(10)

True

bool(10.0)

True

16.isinstance() 函數(shù)來判斷一個(gè)對(duì)象是否是一個(gè)已知的類型

a=5

isinstance(a,int)

True

isinstance(a,str)

False

17. sum() 方法對(duì)系列進(jìn)行求和計(jì)算

sum([1,2,3],5)

11

sum([1,2,3])

6

18. super() 函數(shù)用于調(diào)用下一個(gè)父類(超類)并返回該父類實(shí)例的方法。super 是用來解決多重繼承問題的,直接用類名調(diào)用父類方法

class ? User(object):

? def__init__(self):

class Persons(User):

? ? ? ? super(Persons,self).__init__()

19. float() 函數(shù)用于將整數(shù)和字符串轉(zhuǎn)換成浮點(diǎn)數(shù)

float(1)

1.0

float(10)

10.0

20. iter() 函數(shù)用來生成迭代器

a=[1,2,3,4,5,6]

iter(a)

for i in iter(a):

... ? ? ? ? print(i)

...

1

2

3

4

5

6

21.tuple 函數(shù)將列表轉(zhuǎn)換為元組

a=[1,2,3,4,5,6]

tuple(a)

(1, 2, 3, 4, 5, 6)

22.len() 方法返回對(duì)象(字符、列表、元組等)長(zhǎng)度或項(xiàng)目個(gè)數(shù)

s = "playbasketball"

len(s)

14

a=[1,2,3,4,5,6]

len(a)

6

23. property() 函數(shù)的作用是在新式類中返回屬性值

class User(object):

?def __init__(self,name):

? ? ? ? ? self.name = name

def get_name(self):

? ? ? ? ? return self.get_name

@property

?def name(self):

? ? ? ? ?return self_name

24.type() 函數(shù)返回對(duì)象的類型

25.list() 方法用于將元組轉(zhuǎn)換為列表

b=(1,2,3,4,5,6)

list(b)

[1, 2, 3, 4, 5, 6]

26.range() 函數(shù)可創(chuàng)建一個(gè)整數(shù)列表,一般用在 for 循環(huán)中

range(10)

range(0, 10)

range(10,20)

range(10, 20)

27. getattr() 函數(shù)用于返回一個(gè)對(duì)象屬性值

class w(object):

... ? ? ? ? ? ? s=5

...

a = w()

getattr(a,'s')

5

28. complex() 函數(shù)用于創(chuàng)建一個(gè)復(fù)數(shù)或者轉(zhuǎn)化一個(gè)字符串或數(shù)為復(fù)數(shù)。如果第一個(gè)參數(shù)為字符串,則不需要指定第二個(gè)參數(shù)

complex(1,2)

(1+2j)

complex(1)

(1+0j)

complex("1")

(1+0j)

29.max() 方法返回給定參數(shù)的最大值,參數(shù)可以為序列

b=(1,2,3,4,5,6)

max(b)

6

30. round() 方法返回浮點(diǎn)數(shù)x的四舍五入值

round(10.56)

11

round(10.45)

10

round(10.45,1)

10.4

round(10.56,1)

10.6

round(10.565,2)

10.56

31. delattr 函數(shù)用于刪除屬性

class Num(object):

...? ? a=1

...? ? b=2

...? ? c=3.

.. print1 = Num()

print('a=',print1.a)

a= 1

print('b=',print1.b)

b= 2

print('c=',print1.c)

c= 3

delattr(Num,'b')

print('b=',print1.b)

Traceback (most recent call last):? File "", line 1, inAttributeError: 'Num' object has no attribute 'b'

32. hash() 用于獲取取一個(gè)對(duì)象(字符串或者數(shù)值等)的哈希值

hash(2)

2

hash("tom")

-1675102375494872622

33. set() 函數(shù)創(chuàng)建一個(gè)無序不重復(fù)元素集,可進(jìn)行關(guān)系測(cè)試,刪除重復(fù)數(shù)據(jù),還可以計(jì)算交集、差集、并集等。

a= set("tom")

b = set("marrt")

a,b

({'t', 'm', 'o'}, {'m', 't', 'a', 'r'})

ab#交集

{'t', 'm'}

a|b#并集

{'t', 'm', 'r', 'o', 'a'}

a-b#差集

{'o'}

新聞名稱:Python對(duì)函數(shù)要求,Python支持的函數(shù)
網(wǎng)頁路徑:http://jinyejixie.com/article26/hopccg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、網(wǎng)站收錄、微信公眾號(hào)、電子商務(wù)動(dòng)態(tài)網(wǎng)站、用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司
大新县| 郴州市| 香河县| 阜宁县| 德安县| 霍林郭勒市| 龙井市| 汉中市| 泉州市| 蓬溪县| 拜城县| 齐齐哈尔市| 波密县| 监利县| 沙洋县| 四川省| 德保县| 商城县| 饶河县| 开鲁县| 威信县| 宝鸡市| 普宁市| 永安市| 砀山县| 大兴区| 岑溪市| 泉州市| 雷波县| 进贤县| 黎平县| 灵宝市| 临猗县| 随州市| 双江| 广饶县| 武邑县| 古浪县| 鸡西市| 岳普湖县| 齐齐哈尔市|