函數調用
myFun()
# 函數的參數
# 單個(gè)參數
# 場(chǎng)景
# 需要動(dòng)態(tài)的調整函數體中某一個(gè)處理信息
# 則可以, 以參數的形式接收到相關(guān)數據
# 定義
# def 函數名(參數名稱(chēng)):
# 函數體
# 函數體中, 可以直接以變量的方式使用該參數
# 函數的調用
# 函數名(參數值)
# 形參和實(shí)參的概念
# 上述函數定義中, "參數名稱(chēng)"即為形參;
# 在調用函數的時(shí)候, 傳遞的真實(shí)數據, 即為實(shí)參
# 多個(gè)參數
# 場(chǎng)景
# 需要動(dòng)態(tài)的調整函數體中多個(gè)處理信息時(shí)
# 則可以以 逗號 做分割, 接收多個(gè)參數
# 定義
# def 函數名(參數名稱(chēng)1, 參數名稱(chēng)2):
# 函數體
# 函數體中, 可以直接以變量的方式使用所有參數
# 調用
# 方式1
# 函數名(參數1, 參數2, 參數3。)
# 形參和實(shí)參一一對應
# 方式2
# 函數名(參數名稱(chēng)1=參數1, 參數名稱(chēng)n = 參數n。)
# 可以指明形參名稱(chēng)
# 稱(chēng)為"關(guān)鍵字參數"
# 不需要嚴格按照順序
# 不定長(cháng)參數
# 場(chǎng)景
# 如果函數體中, 需要處理的數據, 不確定長(cháng)度
# 則可以以不定長(cháng)參數的方式接收數據
# 方式1
# 定義
# def 函數名(*args):
# 元組
# 函數體
# 函數體中, 可以直接以元組變量的方式使用該參數
# 使用
# 函數名(參數1, 參數2, 參數3。)
Python 函數 函數是組織好的,可重復使用的,用來(lái)實(shí)現單一,或相關(guān)聯(lián)功能的代碼段。
函數能提高應用的模塊性,和代碼的重復利用率。你已經(jīng)知道Python提供了許多內建函數,比如print()。
但你也可以自己創(chuàng )建函數,這被叫做用戶(hù)自定義函數。 定義一個(gè)函數 你可以定義一個(gè)由自己想要功能的函數,以下是簡(jiǎn)單的規則: 函數代碼塊以 def 關(guān)鍵詞開(kāi)頭,后接函數標識符名稱(chēng)和圓括號()。
任何傳入參數和自變量必須放在圓括號中間。圓括號之間可以用于定義參數。
函數的第一行語(yǔ)句可以選擇性地使用文檔字符串—用于存放函數說(shuō)明。函數內容以冒號起始,并且縮進(jìn)。
return [表達式] 結束函數,選擇性地返回一個(gè)值給調用方。不帶表達式的return相當于返回 None。
語(yǔ)法 def functionname( parameters ): "函數_文檔字符串" function_suite return [expression] 默認情況下,參數值和參數名稱(chēng)是按函數聲明中定義的順序匹配起來(lái)的。 實(shí)例 以下為一個(gè)簡(jiǎn)單的Python函數,它將一個(gè)字符串作為傳入參數,再打印到標準顯示設備上。
實(shí)例(Python 2.0+) def printme( str ): "打印傳入的字符串到標準顯示設備上" print str return 函數調用 定義一個(gè)函數只給了函數一個(gè)名稱(chēng),指定了函數里包含的參數,和代碼塊結構。 這個(gè)函數的基本結構完成以后,你可以通過(guò)另一個(gè)函數調用執行,也可以直接從Python提示符執行。
如下實(shí)例調用了printme()函數: 實(shí)例(Python 2.0+) #!/usr/bin/python# -*- coding: UTF-8 -*- # 定義函數def printme( str ): "打印任何傳入的字符串" print str return # 調用函數printme("我要調用用戶(hù)自定義函數!")printme("再次調用同一函數") 以上實(shí)例輸出結果: 我要調用用戶(hù)自定義函數!再次調用同一函數參數傳遞 在 python 中,類(lèi)型屬于對象,變量是沒(méi)有類(lèi)型的: a=[1,2,3] a="Runoob" 以上代碼中,[1,2,3] 是 List 類(lèi)型,"Runoob" 是 String 類(lèi)型,而變量 a 是沒(méi)有類(lèi)型,她僅僅是一個(gè)對象的引用(一個(gè)指針),可以是 List 類(lèi)型對象,也可以指向 String 類(lèi)型對象。 可更改(mutable)與不可更改(immutable)對象 在 python 中,strings, tuples, 和 numbers 是不可更改的對象,而 list,dict 等則是可以修改的對象。
不可變類(lèi)型:變量賦值 a=5 后再賦值 a=10,這里實(shí)際是新生成一個(gè) int 值對象 10,再讓 a 指向它,而 5 被丟棄,不是改變a的值,相當于新生成了a。可變類(lèi)型:變量賦值 la=[1,2,3,4] 后再賦值 la[2]=5 則是將 list la 的第三個(gè)元素值更改,本身la沒(méi)有動(dòng),只是其內部的一部分值被修改了。
python 函數的參數傳遞: 不可變類(lèi)型:類(lèi)似 c++ 的值傳遞,如 整數、字符串、元組。如fun(a),傳遞的只是a的值,沒(méi)有影響a對象本身。
比如在 fun(a)內部修改 a 的值,只是修改另一個(gè)復制的對象,不會(huì )影響 a 本身。可變類(lèi)型:類(lèi)似 c++ 的引用傳遞,如 列表,字典。
如 fun(la),則是將 la 真正的傳過(guò)去,修改后fun外部的la也會(huì )受影響python 中一切都是對象,嚴格意義我們不能說(shuō)值傳遞還是引用傳遞,我們應該說(shuō)傳不可變對象和傳可變對象。 python 傳不可變對象實(shí)例 實(shí)例(Python 2.0+) #!/usr/bin/python# -*- coding: UTF-8 -*- def ChangeInt( a ): a = 10 b = 2ChangeInt(b)print b # 結果是 2 實(shí)例中有 int 對象 2,指向它的變量是 b,在傳遞給 ChangeInt 函數時(shí),按傳值的方式復制了變量 b,a 和 b 都指向了同一個(gè) Int 對象,在 a=10 時(shí),則新生成一個(gè) int 值對象 10,并讓 a 指向它。
傳可變對象實(shí)例 實(shí)例(Python 2.0+) #!/usr/bin/python# -*- coding: UTF-8 -*- # 可寫(xiě)函數說(shuō)明def changeme( mylist ): "修改傳入的列表" mylist.append([1,2,3,4]) print "函數內取值: ", mylist return # 調用changeme函數mylist = [10,20,30]changeme( mylist )print "函數外取值: ", mylist 實(shí)例中傳入函數的和在末尾添加新內容的對象用的是同一個(gè)引用,故輸出結果如下: 函數內取值: [10, 20, 30, [1, 2, 3, 4]]函數外取值: [10, 20, 30, [1, 2, 3, 4]]參數 以下是調用函數時(shí)可使用的正式參數類(lèi)型: 必備參數關(guān)鍵字參數默認參數不定長(cháng)參數必備參數 必備參數須以正確的順序傳入函數。調用時(shí)的數量必須和聲明時(shí)的一樣。
調用printme()函數,你必須傳入一個(gè)參數,不然會(huì )出現語(yǔ)法錯誤: 實(shí)例(Python 2.0+) #!/usr/bin/python# -*- coding: UTF-8 -*- #可寫(xiě)函數說(shuō)明def printme( str ): "打印任何傳入的字符串" print str return #調用printme函數printme() 以上實(shí)例輸出結果: Traceback (most recent call last): File "test.py", line 11, in printme()TypeError: printme() takes exactly 1 argument (0 given)關(guān)鍵字參數 關(guān)鍵字參數和函數調用關(guān)系緊密,函數調用使用關(guān)鍵字參數來(lái)確定傳入的參數值。 使用關(guān)鍵字參數允許函數調用時(shí)參數的順序與聲明時(shí)不一致,因為 Python 解釋器能夠用參數名匹配參數值。
以下實(shí)例在函數 printme() 調用時(shí)使用參數名: 實(shí)例(Python 2.0+) #!/usr/bin/python# -*- coding: UTF-8 -*- #可寫(xiě)函數說(shuō)明def printme( str ): "打印任何傳入的字符串" print str return #調用printme函數printme( str = "My string") 以上實(shí)例輸出結果: My string下例能將關(guān)鍵字參數順序不重要展示得。
Python 中,函數的應用非常廣泛,比如 input() 、print()、range()、len() 函數等等,這些都是 Python 的內置函數,可以直接使用。
除了可以直接使用的內置函數外, 還支持自定義函數,即將一段有規律的、可重復使用的代碼定義成函數,從而達到一次編寫(xiě)、多次調用的目的。
通常,函數可以接收零個(gè)或多個(gè)參數,也可以返回零個(gè)或多個(gè)值。從函數使用者的角度來(lái)看,函數就像一個(gè)“黑匣子”,程序將零個(gè)或多個(gè)參數傳入這個(gè)“黑匣子”,該“黑匣子”經(jīng)過(guò)一番計算即可返回零個(gè)或多個(gè)值。
下面程序定義了兩個(gè)函數:
純文本復制
def my_max(x, y) :# 定義一個(gè)變量z,該變量等于x、y中較大的值
z = x if x > y else y# 返回變量z的值
return z# 定義一個(gè)函數,聲明一個(gè)形參
def say_hi(name) :print("===正在執行say_hi()函數===")
return name + ",您好!"
調用前面創(chuàng )建的那 2 個(gè)函數,執行代碼如下:
a = 6
b = 9
# 調用my_max()函數,將函數返回值賦值給result變量
result = my_max(a , b) # ①
print("result:", result)
# 調用say_hi()函數,直接輸出函數的返回值
print(say_hi("孫悟空")) # ②
上面程序中,分別在 ① 號、② 號代碼處調用了 my_max() 和 say_hi() 這兩個(gè)函數。從下面的運行結果可以看出,當程序調用一個(gè)函數時(shí),既可以把調用函數的返回值賦值給指定變量,也可以將函數的返回值傳給另一個(gè)函數,作為另一個(gè)函數的參數。
運行上面程序,將可以看到如下運行結果:
result: 9
===正在執行say_hi()函數===
孫悟空,您好!
1.常用內置函數:(不用import就可以直接使用) help(obj) 在線(xiàn)幫助, obj可是任何類(lèi)型 callable(obj) 查看一個(gè)obj是不是可以像函數一樣調用 repr(obj) 得到obj的表示字符串,可以利用這個(gè)字符串eval重建該對象的一個(gè)拷貝 eval_r(str) 表示合法的python表達式,返回這個(gè)表達式 dir(obj) 查看obj的name space中可見(jiàn)的name hasattr(obj,name) 查看一個(gè)obj的name space中是否有name getattr(obj,name) 得到一個(gè)obj的name space中的一個(gè)name setattr(obj,name,value) 為一個(gè)obj的name space中的一個(gè)name指向vale這個(gè)object delattr(obj,name) 從obj的name space中刪除一個(gè)name vars(obj) 返回一個(gè)object的name space。
用dictionary表示 locals() 返回一個(gè)局部name space,用dictionary表示 globals() 返回一個(gè)全局name space,用dictionary表示 type(obj) 查看一個(gè)obj的類(lèi)型 isinstance(obj,cls) 查看obj是不是cls的instance issubclass(subcls,supcls) 查看subcls是不是supcls的子類(lèi) 類(lèi)型轉換函數 chr(i) 把一個(gè)ASCII數值,變成字符 ord(i) 把一個(gè)字符或者unicode字符,變成ASCII數值 oct(x) 把整數x變成八進(jìn)制表示的字符串 hex(x) 把整數x變成十六進(jìn)制表示的字符串 str(obj) 得到obj的字符串描述 list(seq) 把一個(gè)sequence轉換成一個(gè)list tuple(seq) 把一個(gè)sequence轉換成一個(gè)tuple dict(),dict(list) 轉換成一個(gè)dictionary int(x) 轉換成一個(gè)integer long(x) 轉換成一個(gè)long interger float(x) 轉換成一個(gè)浮點(diǎn)數 complex(x) 轉換成復數 max(。) 求最大值 min(。
) 求最小值 用于執行程序的內置函數 complie 如果一段代碼經(jīng)常要使用,那么先編譯,再運行會(huì )更快。 2.和操作系統相關(guān)的調用 系統相關(guān)的信息模塊 import sys sys.argv是一個(gè)list,包含所有的命令行參數. sys.stdout sys.stdin sys.stderr 分別表示標準輸入輸出,錯誤輸出的文件對象. sys.stdin.readline() 從標準輸入讀一行 sys.stdout.write("a") 屏幕輸出a sys.exit(exit_code) 退出程序 sys.modules 是一個(gè)dictionary,表示系統中所有可用的module sys.platform 得到運行的操作系統環(huán)境 sys.path 是一個(gè)list,指明所有查找module,package的路徑. 操作系統相關(guān)的調用和操作 import os os.environ 一個(gè)dictionary 包含環(huán)境變量的映射關(guān)系 os.environ["HOME"] 可以得到環(huán)境變量HOME的值 os.chdir(dir) 改變當前目錄 os.chdir('d:\\outlook') 注意windows下用到轉義 os.getcwd() 得到當前目錄 os.getegid() 得到有效組id os.getgid() 得到組id os.getuid() 得到用戶(hù)id os.geteuid() 得到有效用戶(hù)id os.setegid os.setegid() os.seteuid() os.setuid() os.getgruops() 得到用戶(hù)組名稱(chēng)列表 os.getlogin() 得到用戶(hù)登錄名稱(chēng) os.getenv 得到環(huán)境變量 os.putenv 設置環(huán)境變量 os.umask 設置umask os.system(cmd) 利用系統調用,運行cmd命令 操作舉例: os.mkdir('/tmp/xx') os.system("echo 'hello' > /tmp/xx/a.txt") os.listdir('/tmp/xx') os.rename('/tmp/xx/a.txt','/tmp/xx/b.txt') os.remove('/tmp/xx/b.txt') os.rmdir('/tmp/xx') 用python編寫(xiě)一個(gè)簡(jiǎn)單的shell #!/usr/bin/python import os, sys cmd = sys.stdin.readline() while cmd: os.system(cmd) cmd = sys.stdin.readline() 用os.path編寫(xiě)平臺無(wú)關(guān)的程序 os.path.abspath("1.txt") == os.path.join(os.getcwd(), "1.txt") os.path.split(os.getcwd()) 用于分開(kāi)一個(gè)目錄名稱(chēng)中的目錄部分和文件名稱(chēng)部分。
os.path.join(os.getcwd(), os.pardir, 'a', 'a.doc') 全成路徑名稱(chēng). os.pardir 表示當前平臺下上一級目錄的字符 .. os.path.getctime("/root/1.txt") 返回1.txt的ctime(創(chuàng )建時(shí)間)時(shí)間戳 os.path.exists(os.getcwd()) 判斷文件是否存在 os.path.expanduser('~/dir') 把~擴展成用戶(hù)根目錄 os.path.expandvars('$PATH') 擴展環(huán)境變量PATH os.path.isfile(os.getcwd()) 判斷是否是文件名,1是0否 os.path.isdir('c:\Python26\temp') 判斷是否是目錄,1是0否 os.path.islink('/home/huaying/111.sql') 是否是符號連接 windows下不可用 os.path.ismout(os.getcwd()) 是否是文件系統安裝點(diǎn) windows下不可用 os.path.samefile(os.getcwd(), '/home/huaying') 看看兩個(gè)文件名是不是指的是同一個(gè)文件 os.path.walk('/home/huaying', test_fun, "a.c") 遍歷/home/huaying下所有子目錄包括本目錄,對于每個(gè)目錄都會(huì )調用函數test_fun. 例:在某個(gè)目錄中,和他所有的子目錄中查找名稱(chēng)是a.c的文件或目錄。 def test_fun(filename, dirname, names): //filename即是walk中的a.c dirname是訪(fǎng)問(wèn)的目錄名稱(chēng) if filename in names: //names是一個(gè)list,包含dirname目錄下的所有內容 print os.path.join(dirname, filename) os.path.walk('/home/huaying', test_fun, "a.c") 文件操作 打開(kāi)文件 f = open("filename", "r") r只讀 w寫(xiě) rw讀寫(xiě) rb讀二進(jìn)制 wb寫(xiě)二進(jìn)制 w+寫(xiě)追加 讀寫(xiě)文件 f.write("a") f.write(str) 寫(xiě)一字符串 f.writeline() f.readlines() 與下read類(lèi)同 f.read() 全讀出來(lái) f.read(size) 表示從文件中讀取size個(gè)字符 f.readline() 讀一行,到文件結尾,返回空串. f.readlines() 讀取全部,返回一個(gè)list. list每。
Python在設計上堅持了清晰劃一的風(fēng)格,這使得Python成為一門(mén)易讀、易維護,并且被大量用戶(hù)所歡迎的、用途廣泛的語(yǔ)言。
接下來(lái),記錄一些本人自主學(xué)習Python的一些筆記:all 一個(gè)可迭代對象的所有元素都為真,則返回True print(all([1,2,3])) # True print(all([0,1,2])) # False12 any 一個(gè)可迭代對象中只要有一個(gè)元素為真,則返回True print(any([1,0,0])) # True print(any([0])) # False12 bin 將一個(gè)十進(jìn)制數字轉化成一個(gè)二進(jìn)制數字的字符串 print(bin(2)) # 0b101 hex 將一個(gè)十進(jìn)制數字轉化成一個(gè)十六進(jìn)制數字的字符串 print(hex(2)) # 0x21 oct 將一個(gè)十進(jìn)制數字轉化成一個(gè)八進(jìn)制數字的字符串 print(oct(8)) # 0o21 callable 判斷一個(gè)對象是否是可以被調用的,那么什么樣才是可被調用的呢,即類(lèi)似于“test()”這樣的寫(xiě)法。函數與類(lèi)皆可以被調用 b = 2 def func():pass print(callable(b),callable(func)) # False True1234 exec 將一串代碼字符串,以代碼的形式執行 code = ''' n = 0 while n < 10:print(n) n+=1''' exec(code)1234567 執行結果:eval 將一串基本數據類(lèi)型的字符串,轉化成基本數據類(lèi)型 s_list = "[1,2,3,4]" l = eval(s_list) # 此時(shí)l已經(jīng)是一個(gè)列表對象了 print(l[0]) # 1123 dir 查看某個(gè)類(lèi)型下的所有方法 l = [1,2,3] print(dir(l)) # 此時(shí)將會(huì )打印列表的所有方法12 divmod 獲取兩個(gè)數相除后的商和余數 print(divmod(5,2)) # 結果:(2,1)。
5除以2得到商2,余數為11 max 獲取某個(gè)可迭代對象的最大值 print(max([4,3,2,8])) # 結果:81 min 獲取某個(gè)可迭代對象的最小值 print(min([4,3,2,8])) # 結果:21 sum 獲取某個(gè)可迭代對象的和 print(sum([4,3,2,8])) # 結果:171 pow(a,b) 獲取a的b次方 print(pow(3,3)) # 結果:271 type 查看數據類(lèi)型 print(type("abc")) # 結果:1 round 保留小數。注意:它的保留方式是向下保留,并不是四舍五入 print(round(1.345,2)) # 結果:1.341 filter 將一個(gè)可迭代對象按某種特定方式過(guò)濾,生成一個(gè)新的可迭代對象 f = filter(lambda x : x > 5,range(10)) for index in f:print(index) # 打印結果:6,7,8,9123 map 將一個(gè)可迭代對象按某種特定方式處理,生成一個(gè)新的可迭代對象。
效果與列表生成式一樣 m = map(lambda x : x * 2,range(10)) for index in m:print(index)# 列表生成式寫(xiě)法 l = [x * 2 for x in range(10)] for index in l:print(index)。
4.6. 定義函數
我們可以創(chuàng )建一個(gè)用來(lái)生成指定邊界的斐波那契數列的函數:
>>> def fib(n): # write Fibonacci series up to n
"""Print a Fibonacci series up to n."""
a, b = 0, 1
while a < n:
print(a, end=' ')
a, b = b, a+b
print()
>>> # Now call the function we just defined:
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
關(guān)鍵字 def 引入了一個(gè)函數 定義。在其后必須跟有函數名和包括形式參數的圓括號。函數體語(yǔ)句從下一行開(kāi)始,必須是縮進(jìn)的。
函數體的第一行語(yǔ)句可以是可選的字符串文本,這個(gè)字符串是函數的文檔字符串,或者稱(chēng)為 docstring。(更多關(guān)于 docstrings 的信息請參考 文檔字符串) 有些工具通過(guò) docstrings 自動(dòng)生成在線(xiàn)的或可打印的文檔,或者讓用戶(hù)通過(guò)代碼交互瀏覽;在你的代碼中包含 docstrings 是一個(gè)好的實(shí)踐,讓它成為習慣吧。
函數 調用 會(huì )為函數局部變量生成一個(gè)新的符號表。確切的說(shuō),所有函數中的變量賦值都是將值存儲在局部符號表。變量引用首先在局部符號表中查找,然后是包含函數的局部符號表,然后是全局符號表,最后是內置名字表。因此,全局變量不能在函數中直接賦值(除非用 global 語(yǔ)句命名),盡管他們可以被引用。
函數引用的實(shí)際參數在函數調用時(shí)引入局部符號表,因此,實(shí)參總是 傳值調用 (這里的 值 總是一個(gè)對象 引用 ,而不是該對象的值)。[1] 一個(gè)函數被另一個(gè)函數調用時(shí),一個(gè)新的局部符號表在調用過(guò)程中被創(chuàng )建。
一個(gè)函數定義會(huì )在當前符號表內引入函數名。函數名指代的值(即函數體)有一個(gè)被 Python 解釋器認定為 用戶(hù)自定義函數 的類(lèi)型。 這個(gè)值可以賦予其他的名字(即變量名),然后它也可以被當作函數使用。這可以作為通用的重命名機制:
>>> fib
>>> f = fib
>>> f(100)
0 1 1 2 3 5 8 13 21 34 55 89
如果你使用過(guò)其他語(yǔ)言,你可能會(huì )反對說(shuō):fib 不是一個(gè)函數,而是一個(gè)方法,因為它并不返回任何值。事實(shí)上,沒(méi)有 return 語(yǔ)句的函數確實(shí)會(huì )返回一個(gè)值,雖然是一個(gè)相當令人厭煩的值(指 None )。這個(gè)值被稱(chēng)為 None (這是一個(gè)內建名稱(chēng))。如果 None 值是唯一被書(shū)寫(xiě)的值,那么在寫(xiě)的時(shí)候通常會(huì )被解釋器忽略(即不輸出任何內容)。如果你確實(shí)想看到這個(gè)值的輸出內容,請使用 print() 函數:
Python列表定義:按特定順序排列的元素組成。在Python中,用方括號[]來(lái)表示列表,并用逗號來(lái)分隔其中的元素。Python列表是編程中很常見(jiàn)的數據類(lèi)型 。
列表是一種可修改的集合類(lèi)型,其元素可以是數字、string等基本類(lèi)型,也可以是列表、元組、字典等集合對象,甚至可以是自定義的類(lèi)型。其定義方式如下:>>> nums = [1,2,3,4]>>> type(nums)>>> print nums[1, 2, 3, 4]>>> strs = ["hello","world"]>>> print strs['hello', 'world']>>> lst = [1,"hello",False,nums,strs]>>> type(lst)>>> print lst[1, 'hello', False, [1, 2, 3, 4], ['hello', 'world']]
下面我們來(lái)看一下列表中有哪些常見(jiàn)的方法:count():統計某個(gè)元素在列表中出現的次數。index():從列表中找出某個(gè)值第一個(gè)匹配項的索引位置。append():在列表末尾添加新對象。extend():在列表末尾一次性追加另一個(gè)序列的多個(gè)值。insert():在列表的指定位置插入對象。pop():移除列表中的一個(gè)元素(默認最后一個(gè)元素),并且返回該元素的值。remove():移除列表中某個(gè)值的第一個(gè)匹配項。reverse():將列表中的元素反向,不重新拷貝一個(gè)列表。reversed():將列表中的元素反向,重新拷貝一個(gè)列表。sort():將列表中的元素排序,不重新拷貝一個(gè)列表。sortd():將列表中的元素排序,重新拷貝一個(gè)列表。copy():淺拷貝,只是給原來(lái)的列表貼上了一個(gè)新標簽,對于一個(gè)復雜對象的子對象并不會(huì )完全復制,如果有子列表,改變原來(lái)的值,新的拷貝對象也會(huì )改變。deepcopy():深拷貝,將復雜對象的每一層復制一個(gè)單獨的個(gè)體出來(lái)。就是完全拷貝。常見(jiàn)內置函數:max()、min()、sum()、len()、all()、any()、zip()、enumerate()
python函數是指組織好的、可重復使用的、用來(lái)實(shí)現單一或相關(guān)聯(lián)功能的代碼段。
python函數包含系統中自帶的一些函數、第三方函數、以及用戶(hù)自定義的函數。步驟/方法打開(kāi)IDLE python GUI,點(diǎn)擊開(kāi)始-所有程序-python2.7-IDLE python GUI,或者直接進(jìn)入dos環(huán)境,或者其他的IDLE。
首先,創(chuàng )建一個(gè)簡(jiǎn)單的自定義函數,定義為K函數。假如x==Kill,那么,就可以代入剛才所創(chuàng )建的K函數,最后返回一個(gè)語(yǔ)句,x為任意字符,空白字符也可以。
要注意的是,用def創(chuàng )建函數的時(shí)候,k(x)括號里面是不用雙引號的,而調用自定義函數的時(shí)候,在括號了就要加上雙引號。上面的定義函數比較簡(jiǎn)單,只用了一個(gè)print輸出語(yǔ)句,現在,定義一個(gè)累加的函數,就要用到while函數和if函數了。
A函數是用來(lái)計算累加的,其中用到了一個(gè)while循環(huán)和if判斷,x為自定義變量,假如現在X為100,也就是說(shuō)此函數計算1+2+3+。+100的和。
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權,根據《信息網(wǎng)絡(luò )傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個(gè)月內通知我們,我們會(huì )及時(shí)刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習?shū)B(niǎo). 頁(yè)面生成時(shí)間:4.167秒