真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python存儲函數(shù) python保存函數(shù)

python 字典可以儲存函數(shù)嗎

Python中是沒有switch的, 所以有時我們需要用switch的用法, 就只能通過if else來實現(xiàn)了. 但if else寫起來比較冗長,

超過十余年行業(yè)經(jīng)驗,技術(shù)領(lǐng)先,服務(wù)至上的經(jīng)營模式,全靠網(wǎng)絡(luò)和口碑獲得客戶,為自己降低成本,也就是為客戶降低成本。到目前業(yè)務(wù)范圍包括了:成都網(wǎng)站設(shè)計、成都做網(wǎng)站,成都網(wǎng)站推廣,成都網(wǎng)站優(yōu)化,整體網(wǎng)絡(luò)托管,小程序制作,微信開發(fā),App定制開發(fā),同時也可以讓客戶的網(wǎng)站和網(wǎng)絡(luò)營銷和我們一樣獲得訂單和生意!

這時就可以使用Python中的dict來實現(xiàn), 比switch還要簡潔. 用法如下:

如果是key1的情況就執(zhí)行func1, 如果是key2的情況就執(zhí)行func2...(func1, func2...所有的函數(shù)的參數(shù)形式需要相同),

假設(shè)各個函數(shù)參數(shù)均為(arg1, arg2):

dictName = {"key1":func1, "key2":func2, "key3":func3"...}#字典的值直接是函數(shù)的名字,不能加引號dictName[key](arg1, arg2)

示例代碼如下:

#!/usr/bin/python#File: switchDict.py#Author: lxw#Time: 2014/10/05import redef add(x, y): return x + ydef sub(x, y): return x - ydef mul(x, y): return x * ydef div(x, y): return x / ydef main():

inStr = raw_input("Please input the easy expression:(e.g. 1 + 2.But 1 + 2 + 3 are not accepted.\n")

inList = re.split("(\W+)", inStr)

inList[1] = inList[1].strip() print("-------------------------") print(inList) print("-------------------------") #Method 1:

if inList[1] == "+": print(add(int(inList[0]), int(inList[2]))) elif inList[1] == "-": print(sub(int(inList[0]), int(inList[2]))) elif inList[1] == "*": print(mul(int(inList[0]), int(inList[2]))) elif inList[1] == "/": print(div(int(inList[0]), int(inList[2]))) else: pass

#Method 2:

try:

operator = {"+":add, "-":sub, "*":mul, "/":div} print(operator[inList[1]](int(inList[0]), int(inList[2]))) except KeyError: passif __name__ == '__main__':

main()

Output:

PS J:\ python .\switchDict.py

Please input the easy expression:(e.g. 1 + 2.But 1 + 2 + 3 are not accepted.1 + 2

-------------------------['1', '+', '2']-------------------------

3

3PS J:\ python .\switchDict.py

Please input the easy expression:(e.g. 1 + 2.But 1 + 2 + 3 are not accepted.4 - 9

-------------------------['4', '-', '9']-------------------------

-5

-5PS J:\ python .\switchDict.py

Please input the easy expression:(e.g. 1 + 2.But 1 + 2 + 3 are not accepted.6 / 5

-------------------------['6', '/', '5']-------------------------

1

1PS J:\ python .\switchDict.py

Please input the easy expression:(e.g. 1 + 2.But 1 + 2 + 3 are not accepted.1 9 9

-------------------------['1', '', '9', ' ', '9']-------------------------PS J:\ python .\switchDict.py

Please input the easy expression:(e.g. 1 + 2.But 1 + 2 + 3 are not accepted.1 ( 9

-------------------------['1', '(', '9']-------------------------PS J:\

個人感覺, 如果想用switch來解決某個問題, 并且每種情況下的操作在形式上是相同的(如都執(zhí)行某個函數(shù)并且這些函數(shù)有

相同的參數(shù)), 就可以用這種方法來實現(xiàn).

python中函數(shù)包括

1. print()函數(shù):打印字符串

2. raw_input()函數(shù):從用戶鍵盤捕獲字符

3. len()函數(shù):計算字符長度

4. format(12.3654,'6.2f'/'0.3%')函數(shù):實現(xiàn)格式化輸出

5. type()函數(shù):查詢對象的類型

6. int()函數(shù)、float()函數(shù)、str()函數(shù)等:類型的轉(zhuǎn)化函數(shù)

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

8. help()函數(shù):Python的幫助函數(shù)

9. s.islower()函數(shù):判斷字符小寫

10. s.sppace()函數(shù):判斷是否為空格

11. str.replace()函數(shù):替換字符

12. import()函數(shù):引進庫

13. math.sin()函數(shù):sin()函數(shù)

14. math.pow()函數(shù):計算次方函數(shù)

15. 3**4: 3的4次方

16. pow(3,4)函數(shù):3的4次方

17. os.getcwd()函數(shù):獲取當(dāng)前工作目錄

18. listdir()函數(shù):顯示當(dāng)前目錄下的文件

19. socket.gethostbyname()函數(shù):獲得某主機的IP地址

20. urllib.urlopen(url).read():打開網(wǎng)絡(luò)內(nèi)容并存儲

21. open().write()函數(shù):寫入文件

22. webbrowser.open_new_tab()函數(shù):新建標簽并使用瀏覽器打開指定的網(wǎng)頁

23. def function_name(parameters):自定義函數(shù)

24. time.sleep()函數(shù):停止一段時間

25. random.randint()函數(shù):產(chǎn)生隨機數(shù)

python有多少內(nèi)置函數(shù)

Python內(nèi)置函數(shù)有很多,為大家推薦5個神仙級的內(nèi)置函數(shù):

(1)Lambda函數(shù)

用于創(chuàng)建匿名函數(shù),即沒有名稱的函數(shù)。它只是一個表達式,函數(shù)體比def簡單很多。當(dāng)我們需要創(chuàng)建一個函數(shù)來執(zhí)行單個操作并且可以在一行中編寫時,就可以用到匿名函數(shù)了。

Lamdba的主體是一個表達式,而不是一個代碼塊。僅僅能在lambda表達式中封裝有限的邏輯進去。

利用Lamdba函數(shù),往往可以將代碼簡化許多。

(2)Map函數(shù)

會將一個函數(shù)映射到一個輸入列表的所有元素上,比如我們先創(chuàng)建了一個函數(shù)來返回一個大寫的輸入單詞,然后將此函數(shù)應(yīng)有到列表colors中的所有元素。

我們還可以使用匿名函數(shù)lamdba來配合map函數(shù),這樣可以更加精簡。

(3)Reduce函數(shù)

當(dāng)需要對一個列表進行一些計算并返回結(jié)果時,reduce()是個非常有用的函數(shù)。舉個例子,當(dāng)需要計算一個整數(shù)列表所有元素的乘積時,即可使用reduce函數(shù)實現(xiàn)。

它與函數(shù)的最大的區(qū)別就是,reduce()里的映射函數(shù)(function)接收兩個參數(shù),而map接收一個參數(shù)。

(4)enumerate函數(shù)

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

它的兩個參數(shù),一個是序列、迭代器或其他支持迭代對象;另一個是下標起始位置,默認情況從0開始,也可以自定義計數(shù)器的起始編號。

(5)Zip函數(shù)

用于將可迭代的對象作為參數(shù),將對象中對應(yīng)的元素打包成一個個元組,然后返回由這些元組組成的列表

當(dāng)我們使用zip()函數(shù)時,如果各個迭代器的元素個數(shù)不一致,則返回列表長度與最短的對象相同。


本文標題:python存儲函數(shù) python保存函數(shù)
本文鏈接:http://weahome.cn/article/highci.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部