Python是一門弱類型語(yǔ)言,很多從C/C++轉(zhuǎn)過來的朋友起初不是很適應(yīng)。比如,在聲明一個(gè)函數(shù)時(shí),不能指定參數(shù)的類型。用C做類比,那就是所有參數(shù)都是void*類型!void類型強(qiáng)制轉(zhuǎn)換在C++中被廣泛地認(rèn)為是個(gè)壞習(xí)慣,不到萬(wàn)不得已是不會(huì)使用的。Python自然沒有類型強(qiáng)制轉(zhuǎn)換一說了,因?yàn)樗莿?dòng)態(tài)語(yǔ)言。首先,所有對(duì)象都從Object繼承而來,其次,它有強(qiáng)大的內(nèi)省,如果調(diào)用某個(gè)不存在的方法會(huì)有異常拋出。大多數(shù)情況,我們都不需要做參數(shù)類型栓查,除了一些特殊情況。
系統(tǒng) 2019-09-27 17:47:04 1695
1.簡(jiǎn)介在編寫代碼時(shí),往往涉及時(shí)間、日期、時(shí)間戳的相互轉(zhuǎn)換。2.示例#引入模塊importtime,datetime2.1str類型的日期轉(zhuǎn)換為時(shí)間戳#字符類型的時(shí)間tss1='2013-10-1023:40:00'#轉(zhuǎn)為時(shí)間數(shù)組timeArray=time.strptime(tss1,"%Y-%m-%d%H:%M:%S")printtimeArray#timeArray可以調(diào)用tm_year等printtimeArray.tm_year#2013#轉(zhuǎn)為時(shí)
系統(tǒng) 2019-09-27 17:46:52 1695
我們?cè)诙xPython類時(shí),經(jīng)常會(huì)看到比較好的代碼中,都有__repr__和__string__,兩個(gè)內(nèi)部函數(shù)的定義。但是我一直很少關(guān)注它們的區(qū)別和具體應(yīng)用場(chǎng)景。稍微做個(gè)小結(jié)。1.__foo()__在python中表示__foo__是一個(gè)私有private函數(shù),在CookBookpp254中,解釋為,該函數(shù)不會(huì)被子類的相同名稱的函數(shù)重載。一般地說,類中以“下劃線”開頭定義的變量或者函數(shù)都是私有變量或者內(nèi)部函數(shù),區(qū)別是:1.1單下劃線開始的變量或者函數(shù)表示非
系統(tǒng) 2019-09-27 17:46:49 1695
方法調(diào)用行為方法調(diào)用比其他類型的查找略為復(fù)雜一點(diǎn)。以下是一些注意事項(xiàng):在方法查找過程中,如果某方法拋出一個(gè)異常,除非該異常有一個(gè)silent_variable_failure屬性并且值為True,否則的話它將被傳播。如果異常被傳播,模板里的指定變量會(huì)被置為空字符串,比如:>>>t=Template("Mynameis{{person.first_name}}.")>>>classPersonClass3:...deffirst_name(self):...
系統(tǒng) 2019-09-27 17:46:44 1695
通俗的來說,Python中所謂的命名空間可以理解為一個(gè)容器。在這個(gè)容器中可以裝許多標(biāo)識(shí)符。不同容器中的同名的標(biāo)識(shí)符是不會(huì)相互沖突的。理解python的命名空間需要掌握三條規(guī)則:第一,賦值(包括顯式賦值和隱式賦值)產(chǎn)生標(biāo)識(shí)符,賦值的地點(diǎn)決定標(biāo)識(shí)符所處的命名空間。第二,函數(shù)定義(包括def和lambda)產(chǎn)生新的命名空間。第三,python搜索一個(gè)標(biāo)識(shí)符的順序是"LEGB"。所謂的"LEGB"是python中四層命名空間的英文名字首字母的縮寫。最里面的一層是L
系統(tǒng) 2019-09-27 17:46:43 1695
一.安裝依賴庫(kù)yum-yinstallpython-developensslopenssl-develgccsqlitesqlite-develmysql-devellibxml2-devellibxslt-develtkintertk-devel#下載Pythonmkdir/tmp/pythoncd/tmp/pythonwgethttps://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz二.解壓Py
系統(tǒng) 2019-09-27 17:46:40 1695
前言進(jìn)程之間通信與線程同步是一個(gè)歷久彌新的話題,對(duì)編程稍有了解應(yīng)該都知道,但是細(xì)說又說不清。一方面除了工作中可能用的比較少,另一方面就是這些概念牽涉到的東西比較多,而且相對(duì)較深。網(wǎng)絡(luò)編程,服務(wù)端編程,并發(fā)應(yīng)用等都會(huì)涉及到。其開發(fā)和調(diào)試過程都不直觀。由于同步通信機(jī)制的原理都是想通的,本文希通過望借助python實(shí)例來將抽象概念具體化。閱讀之前可以參考之前的一篇文章:python多線程與多進(jìn)程及其區(qū)別,了解一下線程和進(jìn)程的創(chuàng)建。python多線程同步pytho
系統(tǒng) 2019-09-27 17:46:39 1695
tzset()方法重置所使用的庫(kù)例程的時(shí)間轉(zhuǎn)換規(guī)則。環(huán)境變量TZ指定如何完成此操作。TZ環(huán)境變量的標(biāo)準(zhǔn)格式(空格為清楚起見而加的):復(fù)制代碼代碼如下:stdoffset[dst[offset[,start[/time],end[/time]]]]std和dst:三個(gè)或更多的字母數(shù)字給人的時(shí)區(qū)縮寫。這些將被傳播到time.tzname。offset:偏移量offset的形式為:.hh[:mm[:ss]]。這表明增值的本地時(shí)間以UTC到達(dá)。如果前面加一個(gè)“-”
系統(tǒng) 2019-09-27 17:46:36 1695
python操作redis用法詳解轉(zhuǎn)載地址1、redis連接redis提供兩個(gè)類Redis和StrictRedis用于實(shí)現(xiàn)Redis的命令,StrictRedis用于實(shí)現(xiàn)大部分官方的命令,并使用官方的語(yǔ)法和命令,Redis是StrictRedis的子類,用于向后兼容舊版本的redis-py。redis連接實(shí)例是線程安全的,可以直接將redis連接實(shí)例設(shè)置為一個(gè)全局變量,直接使用。如果需要另一個(gè)Redis實(shí)例(orRedis數(shù)據(jù)庫(kù))時(shí),就需要重新創(chuàng)建redi
系統(tǒng) 2019-09-27 17:46:35 1695
怎么理解裝飾器,用過或者寫過什么裝飾器嗎?1.1.概述:裝飾器本質(zhì)上是一個(gè)Python函數(shù),它可以讓其他函數(shù)在不需要做任何代碼變動(dòng)的前提下增加額外功能,裝飾器的返回值也是一個(gè)函數(shù)對(duì)象。1.2.詳細(xì)描述:1.importlogging8.ret=oldfunc(*args,**kwargs)9.returnret10.11.返回新函數(shù)12.returnnew_func13.14.15.#通過語(yǔ)法糖使用裝飾器16.@decoratorbr/>2.#定義裝飾器,
系統(tǒng) 2019-09-27 17:46:27 1695