python函數命名
Ⅰ python 幾個重要的內置函數
在學習Python的過程中,有幾個比較重要的內置函數:help()函數、dir()函數、input()與raw_input()函數、print()函數、type()函數。
第一、help()函數
Help()函數的參數分為兩種:如果傳一個字元串做參數的話,它會自動搜索以這個字元串命名的模塊、方法等;如果傳入的是一個對象,就會顯示這個對象的類型的幫助。比如輸入help(『print』),它就會尋找以『print』為名的模塊、類等,找不到就會看到提示信息;而print在Python里是一個保留字,和pass、return同等,而非對象,所以help(print)也會報錯。
第二、dir()函數
dir()函數返回任意對象的屬性和方法列表,包含模塊對象、函數對象、字元串對象、列表對象、字典對象等。盡管查找和導入模塊相對容易,但是記住每個模塊包含什麼卻不是這么簡單,您並不希望總是必須查看源代碼來找出答案。Python提供了一種方法,可以使用內置的dir()函數來檢查模塊的內容,當你為dir()提供一個模塊名的時候,它返回模塊定義的屬性列表。dir()函數適用於所有對象的類型,包含字元串、整數、列表、元組、字典、函數、定製類、類實例和類方法。
第三、input與raw_input函數
都是用於讀取用戶輸入的,不同的是input()函數期望用戶輸入的是一個有效的表達式,而raw_input()函數是將用戶的輸入包裝成一個字元串。
第四、Print()函數
Print在Python3版本之間是作為Python語句使用的,在Python3里print是作為函數使用的。
第五、type()函數
Type()函數返回任意對象的數據類型。在types模塊中列出了可能的數據類型,這對於處理多種數據類型的函數非常有用,它通過返回類型對象來做到這一點,可以將這個類型對象與types模塊中定義類型相比較。
Ⅱ Python語言中命名空間的使用
如果一個命名聲明為全局的,那麼對它的所有引用和賦值會直接搜索包含這個模塊全局命名的作用域。如果要重新綁定最里層作用域之外的變數,可以使用 nonlocal 語句;如果不聲明為 nonlocal,這些變數將是只讀的(對這樣的變數賦值會在最裡面的作用域創建一個新的局部變數,外部具有相同命名的那個變數不會改變)。
通常,局部作用域引用當前函數的命名。在函數之外,局部作用域與全局使用域引用同一命名空間:模塊命名空間。類定義也是局部作用域中的另一個命名空間。
重要的是作用域決定於源程序的意義:一個定義於某模塊中的函數的全局作用域是該模塊的命名空間,而不是該函數的別名被定義或調用的位置,了解這一點非常重要。另一方面,命名的實際搜索過程是動態的,在運行時確定的——然而,Python 語言也在不斷發展,以後有可能會成為靜態的「編譯」時確定,所以不要依賴動態解析!(事實上,局部變數已經是靜態確定了。)
Python 的一個特別之處在於:如果沒有使用 global 語法,其賦值操作總是在最里層的作用域。賦值不會復制數據,只是將命名綁定到對象。刪除也是如此:del x 只是從局部作用域的命名空間中刪除命名 x 。事實上,所有引入新命名的操作都作用於局部作用域。特別是 import 語句和函數定義將模塊名或函數綁定於局部作用域(可以使用 global 語句將變數引入到全局作用域)。
global 語句用以指明某個特定的變數為全局作用域,並重新綁定它。nonlocal 語句用以指明某個特定的變數為封閉作用域,並重新綁定它。
Ⅲ python的標識符命名規則是什麼有哪些關鍵字
包名:全部小寫字母,中間可以由點分隔開,不推薦使用下劃線。作為命名空間,包名應該具有唯一性,推薦採用公司或者組織域名的倒置,如com.apple.quicktime.v2。
模塊名:全部小寫字母,如果是多個單詞構成,可以用下劃線隔開,如mmy_threading。
3、類名:總是使用首字母大寫單詞串。如MyClass。內部類可以使用額外的前導下劃線。
類總是使用駝峰格式命名,即所有單詞首字母大寫其餘字母小寫。類名應該簡明,精確,並足以從中理解類所完成的工作。常見的一個方法是使用表示其類型或者特性的後綴,例如:
SQLEngine、MimeTypes。
4、異常名:異常屬於類,命名同類命名,但應該使用Error作為後綴。如FileNotFoundError
5、變數名:變數名:全部小寫,由下劃線連接各個單詞。如color = WHITE,this_is_a_variable = 1
*注意*:
1.不論是類成員變數還是全局變數,均不使用 m 或 g 前綴。
2.私有類成員使用單一下劃線前綴標識,如_height。多定義公開成員,少定義私有成員。
3.變數名不應帶有類型信息,因為Python是動態類型語言。如 iValue、names_list、dict_obj 等都是不好的命名。
函數名和方法名:
函數名應該為小寫,可以用下劃線風格單詞以增加可讀性。如:myfunction,my_example_function。
*注意*:
混合大小寫僅被允許用於這種風格已經占據優勢的時候,以便保持向後兼容。
總使用「self」作為實例方法的第一個參數。總使用「cls」作為類方法的第一個參數。
如果一個函數的參數名稱和保留的關鍵字沖突,通常使用一個後綴下劃線好於使用縮寫或奇怪的拼寫。
7、常量名:全部大寫字母,如果是多個單詞構成,可以用下劃線隔開,如YEAR和WEEK_OF_MOUTH。
了解Python命名規則可以幫助我們更好的處理代碼,提高工作效率。
Ⅳ python函數名與變數名可以一樣嗎
不可以一樣。一般這種編程的函數和它的變數不能讓她是一樣的如果你設成一樣的之後。在程序調動的過程中,它會區分不出來是函數還是變數就會導致程序運行死機。所以在定義的時候你如果變數名和函數是一樣的,這個時候可能系統會提示你的。
Ⅳ python自定義函數有哪些
Python的自定義函數格式中規中矩,用def引導自定義函數名,用括弧給出該函數的參數,在冒號後換行通過縮進確定函數體。在格式上和條件判斷語句有些相似。
如果函數名和變數名沖突了,相當於重新賦值。而python解釋是從上到下的,也就是說此時誰在下面誰佔用這個變數名。剩下的那個就只能在內存中等待垃圾回收了。
自定義函數的參數:
按道理來說,即使Python不嚴格要求定義函數參數,但這方面的知識有助於理解自定義函數中參數操作的情況,還是應該說明一下的。
可以簡單地理解為在定義函數時括弧中聲明的參數是我們在函數使用中會用到的參數,在調用函數時括弧中的變數就是參加函數運算用到的變數,換個名字參數(用於定義)和變數(用於調用)就足以理解了。
Ⅵ python所有內置函數的定義詳解
1、定義函數
函數是可重用的程序。本書中已經使用了許多內建函數,如len()函數和range()函數,但是還沒自定義過函數。定義函數的語法格式如下:
def 函數名(參數):
函數體
定義函數的規則如下:
①關鍵字def用來定義一個函數,它是define的縮寫。
②函數名是函數的唯一標識,函數名的命名規則遵循標識符的命名規則。
③函數名後面一定要緊跟著一個括弧,括弧內的參數是可選的,括弧後面要有冒號。
④函數體(statement)為一個或一組Python語句,注意要有縮進。
⑤函數體的第一行可以有文檔字元串,用於描述函數的功能,用三引號括起來。
按照定義規則,可以定義第一個函數了:
>>>defhello_world():
...print('Hello,world!')#注意函數體要有縮進
...
>>>hello_world()
Hello,world!
>>>a=100#全局變數
>>>deftest1():
...print(a)
...
>>>deftest2():
...print(a)
...
>>>test1()
100
>>>test2()
100
>>>deftest1():
...a=100#局部變數
...print(a)
...
>>>deftest2():
...print(a)
...
>>>test1()
100
>>>print(a)
Traceback(mostrecentcalllast):
File"<stdin>",line1,in<mole>
NameError:name'a'isnotdefined
>>>test2()
Traceback(mostrecentcalllast):
File"<stdin>",line1,in<mole>
File"<stdin>",line2,intest2
NameError:name'a'isnotdefined
>>>deftest1():
...globala#全局變數
...a=100
...print(a)
...
>>>deftest2():
...print(a)
...
>>>test1()
100
>>>print(a)
100
>>>test2()
100
>>>a=100#全局變數
>>>deftest1():
...a=200#同名局部變數
...print(a)
...
>>>deftest2():
...print(a)
...
>>>test1()
200
>>>test2()
100
這個函數不帶任何參數,它的功能是列印出「Hello,world!」。最後一行代碼hello_world()是調用函數,即讓Python執行函數的代碼。
2、全局變數和局部變數
全局變數是定義在所有函數外的變數。例如,定義一個全局變數a,分別在函數test1()和test2()使用變數a:
定義了全局變數a之後,在函數test1()和test2()內都可以使用變數a,由此可知,全局變數的作用范圍是全局。
局部變數是在函數內定義的變數,除了用關鍵字global修飾的變數以外。例如,在函數test1()內定義一個局部變數a,分別在函數外和另一個函數test2()內使用變數a:
Python解釋器提示出錯了。由於局部變數a定義在函數test1()內,因此,在函數test1()內可以使用變數a,但是在函數外或者另一個函數test2()內使用變數a,都會報錯,由此可見,局部變數的作用范圍是定義它的函數內部。
一般情況下,在函數內聲明的變數都是局部變數,但是採用關鍵字global修飾的變數卻是全局變數:
這個程序與上個程序相比,只是在函數test1()中多了一行代碼「global a」,程序便可以正確運行了。在函數test1()中,採用關鍵字global修飾了變數a之後,變數a就變成了全局變數,不僅可以在該函數內使用,還可以在函數外或者其他函數內使用。
如果在某個函數內局部變數與全局變數同名,那麼在該函數中局部變數會覆蓋全局變數:
由於在函數test1()中定義了一個與全局變數同名的局部變數a,因此,在函數test1()中全局變數a的值被局部變數覆蓋了,但是在函數test2()中全局變數a的值沒有被覆蓋。
綜上所述,在Python中,全局變數保存的數據供整個腳本文件使用;而局部變數只用於臨時保存數據,變數僅供局部代碼塊使用。
Ⅶ python語言合法命名規則
變數和函數的命名規則
以大小寫字母、下劃線開頭均可,但不可以使用特殊字元,如$,%,*等,也不可以和關鍵字(keyword)重復。
正確樣例(使用「、」分割):
a、s1、n_12_a、d1f、Masd、MIc_2sD、_123a等。
錯誤樣例(分割同上):
1s、$AS、,12、from、import等。
文件名的命名規則
和Windows的文件命名規則相同,已知不可以使用turtle.py作為文件名。
正確樣例(使用「、」分割):
123.py、ae1.py、12saf.py、啊.py、_12a (1)等。
錯誤樣例(分割同上):
turtle.py、|as.py、32a&&.py、12*3a.py、w12[.py、等。
Ⅷ python中函數名的命名規則
Python 命名一般來說有一下不成文的規則 :
模塊名一般使用全部小寫 如 myphone
類名第一個字母大寫,如果有多個單詞,每一個單詞的第一個字母大寫如 : MyPhone
函數名 : 小寫, 如果有多個單詞用下劃線隔開 如 my_phone
常量名字一般全大寫 : MYPHONE
Ⅸ python函數的名稱可以隨意命名對嗎
錯,函數的命名不能用python的保留字。['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
Ⅹ Python 函數的中文名稱
python函數名都是英文單詞,既然自學,准備一份英語字典。
count,英文動詞,數個數
len 英文名詞縮寫 length 長度
list 列表
int 整數
等等,編程語言和自然語言-英文相通。學好英文。