亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Python技術(shù)點(diǎn)

Lionad-Morotar / 1520人閱讀

摘要:內(nèi)置函數(shù)實(shí)現(xiàn)對(duì)可迭代對(duì)象進(jìn)行進(jìn)一步處理。文件文件的打開權(quán)限打開文件,文件不存在報(bào)異常寫入文件,文件不存在則創(chuàng)建。文件不存在則創(chuàng)建。追加文件,具有讀寫權(quán)限。

Python基礎(chǔ)類型:

1.Tuple元組,內(nèi)容不可改變,但是允許元素內(nèi)部存在list等類型的元素,并且允許改變列表的值,所謂內(nèi)容不可變指的是在內(nèi)存中指向的地址是不變的。

temp=(1,2,[3,4])    
temp[-1].append(5).  
print temp #(1,2,[3,4,5]). 

在創(chuàng)建單元素的Tuple時(shí),在初始化的時(shí)候一定要在元素的后面加上"," (temp=(1,)) 否則temp的類型為int 而不是tuple

2.Set集合,元素中不允許存在重復(fù)元素,通過Add方法添加重復(fù)元素也不會(huì)報(bào)錯(cuò),元素中不允許存在list等類型的元素,集合內(nèi)的元素不存在特定順序,所以無法按照索引的方式讀取。

3.Dict字典,字典的鍵-值對(duì)中鍵是不可以重復(fù)且無序,遍歷字典存在方法items() 獲取鍵-值對(duì)形成的元組list,keys() 獲取由字典中所有的鍵組成的list,values() 獲取由字典中的值組成的list,iteritems() 字典對(duì)象本身提供的迭代方法,免去了轉(zhuǎn)化為list的過程,更省內(nèi)存。

4.List列表,這里主要記錄下列表的迭代方法,要是在一次迭代中既獲取list的索引,還可以獲取list的值,可以使用enumerate() 先將list元素和索引轉(zhuǎn)換為元組列表[(index,item)]。

Python函數(shù)

1.函數(shù)通過Def定義,函數(shù)的參數(shù)可以是函數(shù)的簽名,變量也可以指向函數(shù),接收函數(shù)為參數(shù)的函數(shù)稱之為高階函數(shù)。

2.內(nèi)置函數(shù)map() 實(shí)現(xiàn)對(duì)可迭代對(duì)象進(jìn)行進(jìn)一步處理。filter()實(shí)現(xiàn)對(duì)可迭代對(duì)象按條件過濾結(jié)果,zip()函數(shù)實(shí)現(xiàn)對(duì)2個(gè)可迭代對(duì)象進(jìn)行壓縮為一個(gè)元組列表。以上方法在對(duì)于遍歷元素時(shí)可以幫助簡化代碼及方便對(duì)可迭代對(duì)象的處理。

3.閉包是在內(nèi)層函數(shù)引用了外層函數(shù)的變量并返回內(nèi)部函數(shù),實(shí)現(xiàn)對(duì)函數(shù)內(nèi)部狀態(tài)的封裝,有點(diǎn)像類。

4.Python裝飾器實(shí)際就是一個(gè)高級(jí)函數(shù),以函數(shù)為參數(shù)返回一個(gè)新的函數(shù)。在某些場景下類似于AOP,需要在函數(shù)的上方指定裝飾器。函數(shù)的參數(shù)必須和裝飾器最內(nèi)層函數(shù)個(gè)數(shù)一致或者使用可變參數(shù)(args,*kw)。

例如要實(shí)現(xiàn)對(duì)被調(diào)用函數(shù)的日志記載,就可以使用裝飾器實(shí)現(xiàn)。對(duì)于要實(shí)現(xiàn)帶參數(shù)的裝飾器也很簡單,在最外層再嵌套一次函數(shù)即可實(shí)現(xiàn)。

def log(type):
      def returnFunc(func):
            def internelFunc(a,b):
                    print  type
                    func(a,b)
          return internelFunc
     return returnFunc
@log("INFO")
def testA(a,b):
      print a + b
testA(1,2) # INFO 
 3

5.被裝飾的函數(shù),訪問函數(shù)__name____doc__屬性返回的裝飾器最內(nèi)層函數(shù)對(duì)應(yīng)的值,要想不被發(fā)現(xiàn)采用了裝飾器,可以最內(nèi)層函數(shù)簽名的上方使用@functools.wraps(func) 實(shí)現(xiàn)對(duì)func函數(shù)的上述屬性復(fù)制到最內(nèi)層函數(shù)上。

6.偏函數(shù)通過使用@functools.partial來實(shí)現(xiàn)把一個(gè)多參數(shù)函數(shù),通過設(shè)置默認(rèn)值轉(zhuǎn)化為一個(gè)少參數(shù)的新函數(shù). 個(gè)人認(rèn)為用處不大,對(duì)于常用的函數(shù)直接封裝為一個(gè)函數(shù)給定默認(rèn)值即可。

testB=functools.partial(testA,a=2)
testB(b=2)
Python模塊

1.Python模塊包實(shí)際就是文件夾,但是需要在文件夾的內(nèi)部存在一個(gè)__init__.py文件,這是規(guī)定,否則不會(huì)認(rèn)為是一個(gè)包,在引用多級(jí)包時(shí)通過“.”來分割(包1.包2.包3)

2.在Python的舊版中要測試新版本的功能,可以在舊版中使用
from __future__ import division

例如在python2.7中 10/3 結(jié)果是 3,但是引入上述包之后,10/3 結(jié)果是 3.33333 這是在新版中才有的特性

某些模塊存在C語言編譯的版本(例如:cStingIO等),在進(jìn)行包導(dǎo)入操作時(shí),應(yīng)該先檢查是否存在對(duì)應(yīng)的C語言編譯版本,這樣可以提升Python文件的執(zhí)行速度。Python是動(dòng)態(tài)語言,解釋執(zhí)行代碼運(yùn)行速度慢。

Python面向?qū)ο?/b>

1.類中定義私有方法在方法的前面加上2個(gè)“_” 即可實(shí)現(xiàn), 只在類內(nèi)可以訪問。

2.類的靜態(tài)方法和靜態(tài)變量都是可以通過類的實(shí)例訪問的,類方法需要在方法上方添加裝飾器@classmethod,當(dāng)類實(shí)例對(duì)類變量進(jìn)行動(dòng)態(tài)賦值時(shí),對(duì)類變量并不會(huì)有任何影響,只不過是給實(shí)例本身添加一個(gè)同名的屬性。

3.對(duì)類實(shí)例中的某個(gè)屬性賦值時(shí)需要進(jìn)行檢驗(yàn)有效性,在C#中常用的方法是定義一個(gè)私有字段,然后定義get和set屬性,通過set屬性進(jìn)行有效性檢驗(yàn),在Python也可以這么實(shí)現(xiàn),但是在Python內(nèi)部提供可一個(gè)裝飾器@property可以簡化實(shí)現(xiàn)

class  A:
      def __init__(self):
            self.__age=20
      @property
      def age(self):
            return self.__age
      @age.setter
      def  age(self,age):
            #校驗(yàn)有效性
            self.__age=age
a=A()
a.age=15

4.類繼承優(yōu)先級(jí)別為從右向左,子類調(diào)用父類的方法或者是給父類進(jìn)行賦值操作,只需要使用super(子類名,self). 方法或?qū)傩?/b>即可。但是父類一定要繼承object,否則就會(huì)報(bào)錯(cuò)。

5.類中還有一個(gè)默認(rèn)的特殊方法或?qū)傩裕覀冊谑褂脮r(shí)默認(rèn)調(diào)用,可以通過dir()方法查看,例如我們在實(shí)例化類的時(shí)候,類會(huì)自動(dòng)調(diào)用__init__()方法。在調(diào)用len()方法時(shí),會(huì)調(diào)用__len__() 方法。對(duì)動(dòng)態(tài)屬性的限制時(shí)會(huì)調(diào)用__slots__屬性等。如果有特殊需要可以使用這些方法來實(shí)現(xiàn)自定義操作。

對(duì)于要使用某些語法糖,需要實(shí)現(xiàn)某些特殊的方法,例如想使用 with語法糖,就必須實(shí)現(xiàn)__enter__()__exit__()方法。

Python文件

1.文件的打開權(quán)限:

r :打開文件,文件不存在報(bào)異常
w :寫入文件,文件不存在則創(chuàng)建。寫入已經(jīng)存在的文件,會(huì)先清空文件在寫入文件。
a :追加文件,文件不存在則創(chuàng)建。在文件的末尾處追加內(nèi)容。
r+ :打開文件,具有讀寫權(quán)限。文件不存在則報(bào)錯(cuò),寫文件時(shí)不會(huì)清空文件內(nèi)容,會(huì)從文件的開頭進(jìn)行覆蓋,因?yàn)槲募闹羔樤谖募拈_頭,先用 read() 方法,之后在進(jìn)行寫文件就會(huì)變成追加的方式。
w+ :寫入文件,具有讀寫權(quán)限。文件不存在則創(chuàng)建。在進(jìn)行文件讀取操作是,默認(rèn)情況下read()為空字符,因在使用寫入操作時(shí),文件內(nèi)容先被清空之后在進(jìn)行寫入操作。
a+ :追加文件,具有讀寫權(quán)限。文件不存在則創(chuàng)建。

上述打開方式都存在對(duì)應(yīng)的二進(jìn)制,分別為:rb,wbab,rb+wb+,ab+,記住每次read()write()之后的指針位置,就可以掌握上面的每種模式,當(dāng)前文件指針的位置使用tell()方法獲取。設(shè)置文件指針的方法為seek()

2.在對(duì)文件進(jìn)行寫入操作的時(shí)候,當(dāng)寫入的文件為unicode格式的文字時(shí),需要先轉(zhuǎn)化為utf-8

unicode.encode(u"非白即黑","utf-8")

以上是在學(xué)習(xí)Python中一些需要注意的地方的總結(jié),并不是講解Python基礎(chǔ),隨著逐漸深入,后續(xù)還會(huì)有更新。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/38469.html

相關(guān)文章

  • Python學(xué)到什么程度才可以去找工作?掌握這4點(diǎn)足夠了!

    摘要:接下來我們就來看看學(xué)到什么程度才算是真正學(xué)會(huì)可以去一展身手。一確立目標(biāo)了解需求做什么事情都要先確定好目標(biāo),才不至于迷失方向。 大家在學(xué)習(xí)Python的時(shí)候,有人會(huì)問Python要學(xué)到什么程度才能出去找工作,對(duì)于在Python培訓(xùn)機(jī)構(gòu)學(xué)習(xí)Python的同學(xué)來說這都不是問題,因?yàn)榘凑誔ython課程大綱來,一般都不會(huì)有什么問題,而對(duì)于自學(xué)Python來說,那就比較難掌握,冒然出去找工作非常...

    Yuqi 評(píng)論0 收藏0
  • 趁著課余時(shí)間學(xué)點(diǎn)Python(十四)文件操作

    摘要:我是布小禪,一枚自學(xué)萌新,跟著我每天進(jìn)步一點(diǎn)點(diǎn)吧說了這么多暫時(shí)也就夠了,那么就告辭吧 文章目錄 ?? 前言 ??? 作者簡介 ??文件操作?1??、open函數(shù)...

    abson 評(píng)論0 收藏0
  • Hello World!一個(gè)計(jì)算機(jī)準(zhǔn)大一小白的學(xué)習(xí)路徑規(guī)劃

    摘要:今天主要說一下個(gè)人情況和學(xué)習(xí)路徑規(guī)劃。個(gè)人情況作為浙江新高考最后一屆小白鼠,經(jīng)歷了許許多多手動(dòng)和諧的事情,但是七選三有技術(shù)是唯一好的一件事情,讓我有了一點(diǎn)編程的基礎(chǔ)。 前言 Hello World!這是我思否的第一篇技術(shù)博客(不知道算不算),剛剛經(jīng)歷了高考,有個(gè)10+分的滑鐵盧,現(xiàn)坐標(biāo)浙江杭州,被西南某末流211機(jī)械專業(yè)錄取。雖然被苦x的機(jī)械錄取,但還是對(duì)計(jì)算機(jī)有著幻想。以后想通...

    Fourierr 評(píng)論0 收藏0
  • Hello World!一個(gè)計(jì)算機(jī)準(zhǔn)大一小白的學(xué)習(xí)路徑規(guī)劃

    摘要:今天主要說一下個(gè)人情況和學(xué)習(xí)路徑規(guī)劃。個(gè)人情況作為浙江新高考最后一屆小白鼠,經(jīng)歷了許許多多手動(dòng)和諧的事情,但是七選三有技術(shù)是唯一好的一件事情,讓我有了一點(diǎn)編程的基礎(chǔ)。 前言 Hello World!這是我思否的第一篇技術(shù)博客(不知道算不算),剛剛經(jīng)歷了高考,有個(gè)10+分的滑鐵盧,現(xiàn)坐標(biāo)浙江杭州,被西南某末流211機(jī)械專業(yè)錄取。雖然被苦x的機(jī)械錄取,但還是對(duì)計(jì)算機(jī)有著幻想。以后想通...

    X1nFLY 評(píng)論0 收藏0
  • Python 技術(shù)點(diǎn)

    摘要:文件操作遍歷文件夾和文件獲取文件名和擴(kuò)展名逐行讀取文本文件內(nèi)容寫文件判斷文件是否存在創(chuàng)建文件夾其他數(shù)字前補(bǔ)未完待續(xù) 1、文件操作 1-1 遍歷文件夾和文件 import os rootDir = /path/to/root for parent, dirnames, filenames in os.walk(rootDir): for dirname in dirnames:...

    TNFE 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<