成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Python模板函數(shù)簡介說明

開發(fā) 后端
對于Python的GIL和線程安全很多人不是很了解,通過本文,希望能讓大家對Python的GIL等內(nèi)容有所幫助。本文還將就主要談下筆者對線程安全的一些理解。

下面給大家一個(gè)寶貴的建議,對于那些從來沒有學(xué)習(xí)過編程或者并非計(jì)算機(jī)專業(yè)的編程學(xué)習(xí)者而言,Python是***的選擇之一,并建議那些初學(xué)的程序員先從Python開始學(xué)習(xí)編程。

今天用Python模板函數(shù)寫了兩個(gè)程序,水仙花數(shù)和***數(shù)!經(jīng)典的c練習(xí)題!水仙花數(shù)的程序很小,沒什么感覺,***數(shù)的程序就復(fù)雜一些了!同學(xué)用c寫,我用Python寫,代碼幾乎是對等翻譯!我用的機(jī)器cpu主頻超過同學(xué)的兩倍,內(nèi)存是同學(xué)的4倍,就這樣,程序運(yùn)行的時(shí)間幾乎相同(10w個(gè)數(shù)據(jù))。

可想而知,Python模板函數(shù)作為解釋型語言,速度上面確實(shí)是個(gè)巨大的問題!我曾經(jīng)看到有文章說,就算對解釋型語言,Python也是其中比較慢的,可怕。想象一下運(yùn)行起來比basic還慢的程序。。。!瘋了!還有就是,Python模板函數(shù)運(yùn)行起來必須帶模板的名稱!比如開方的函數(shù)!

在函數(shù)式編程里面, 我們可以定義匿名函數(shù),也可以把函數(shù)賦值給一個(gè)變量或作為參數(shù)傳遞給另外一個(gè)函數(shù),Python語言很早就支持函數(shù)式編程,我們可以用lambda關(guān)鍵字定義一個(gè)匿名函數(shù),然后賦值給一個(gè)變量,如下所示:

  1. from string import strip,upper  
  2. #functions:  
  3. #  
  4. def map_add(x):  
  5.     return x+3  
  6. #  
  7. if __name__=='__map_add__':  
  8.     map_add(x)  
  9. #zip file  
  10. def zip_file():  
  11.     #open file  
  12.     f = open('map.txt')  
  13.     lines = f.readlines()  
  14.     print lines  
  15.     f.close()  
  16.     #  
  17.     print 'BEFORE\n'  
  18.     for eachline in lines:  
  19.         print '[%s]' % eachline[:-1]  
  20.     #  
  21.     print 'AFTER\n'  
  22.     for eachline in map(upper, map(strip, lines)):  
  23.         print '[%s]' % eachline  
  24. #  
  25. if __name__=='__zip_file__':  
  26.     zip_file() 

lambda定義的匿名函數(shù)可以引用外圍函數(shù)的變量,上面的代碼中,第二個(gè)lambda表達(dá)式定義的匿名函數(shù)引用了***個(gè)匿名函數(shù)的參數(shù)n,因?yàn)?**個(gè)匿名函數(shù)是第二個(gè)匿名函數(shù)的外圍函數(shù)。

除了lambda表達(dá)式之外,Python模板函數(shù)還支持將函數(shù)作為參數(shù)傳遞給另外一個(gè)函數(shù),有點(diǎn)類似于C語言中的函數(shù)指針,Python語言內(nèi)建的函數(shù)filter,map,reduce就可以接受函數(shù)參數(shù)。

filter(function, sequence)會遍歷sequence中的每一個(gè)item,并以該item為參數(shù)調(diào)用function,如果function返回ture,就將該item加到結(jié)果sequence中,這就達(dá)到過濾sequence的效果,作為參數(shù)的function就是過濾的條件,例子如下:

  1. >>>reduce(lambda x,y:x*y, [1,2,3,4,5]#((((1*2)*3)*4)*5  
  2. >>>120  
  3.  
  4. >>>reduce(lambda x,y:x*y, [1,2,3], 10)  
  5. >>>60 #((1*2)*3)*10  

這里用lambda定義的匿名函數(shù)來定義過濾條件,在list a中返回是偶數(shù)的items,下面這個(gè)模塊以一個(gè)現(xiàn)有的文本為參數(shù),清除多余空格,再把所有文字都轉(zhuǎn)換為大寫(英文)。為子演示程序要創(chuàng)建一個(gè)map.txt該文件中有幾行前后有多余空格的字符串。

【編輯推薦】

  1. 如何使Python嵌入C++應(yīng)用程序?
  2. 深入探討Ruby與Python語法比較
  3. Python學(xué)習(xí)資料介紹分享
  4. Python學(xué)習(xí)經(jīng)驗(yàn)談:版本、IDE選擇及編碼解 決方案
  5. 淺析Python的GIL和線程安全
責(zé)任編輯:chenqingxiang 來源: 新浪科技
相關(guān)推薦

2010-02-01 10:40:13

Python Djan

2010-02-23 15:44:24

Python編輯器

2010-03-03 18:00:52

Android開源平臺

2010-03-30 14:46:56

CentOS學(xué)習(xí)

2010-02-02 18:14:38

Python函數(shù)

2014-01-21 09:15:12

Python函數(shù)

2010-02-24 16:44:58

Python 函數(shù)

2009-12-23 17:57:22

WPF默認(rèn)模板

2009-11-11 13:51:23

VS DisplayI

2010-10-11 16:19:30

Mysql聚合函數(shù)

2010-10-25 15:12:42

Oracle日期函數(shù)

2010-10-25 17:28:05

Oracle bita

2010-10-14 14:01:35

MySQL CONVE

2010-01-06 17:06:05

Json格式

2009-12-22 09:15:02

ADO.NET功能

2010-10-25 17:39:24

Oracle單行日期函

2011-04-12 13:27:09

Oracle日期函數(shù)

2009-10-09 17:57:20

結(jié)構(gòu)化布線

2009-12-02 15:32:13

Visual Stud

2010-10-25 14:47:49

Oracle系統(tǒng)變量函
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产欧美日韩一区 | 日韩久久精品视频 | 日韩精品1区2区3区 成人黄页在线观看 | 天天成人综合网 | 国产精品免费观看视频 | 亚洲一级毛片 | 草草网| 亚洲高清一区二区三区 | 丁香婷婷久久久综合精品国产 | 亚洲人在线播放 | 欧美成人一区二区三区 | www九色| 亚洲区一区二 | 久操伊人 | 国产高清精品一区二区三区 | 久久久久久综合 | 免费电影av | 亚洲国产精品一区二区三区 | 亚洲一区 中文字幕 | 久久天堂| 精品欧美一区二区精品久久 | www.国产精品| 国产精品免费一区二区三区四区 | 亚洲毛片| 久久欧美高清二区三区 | 一区二区三区成人 | 91精品国产综合久久久久久漫画 | 精品国产视频 | 欧美激情在线精品一区二区三区 | 热re99久久精品国99热观看 | 视频在线一区二区 | 国产乱码久久久 | 91 久久| 日韩a | 日韩午夜场 | 欧美日韩精品 | 国久久| 欧美久久影院 | 一级毛片视频在线 | 午夜视频免费在线观看 | 国产精品久久久久久吹潮 |