成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

經(jīng)驗拾憶(純手工)=> Python基本數(shù)據(jù)類型

Andrman / 2530人閱讀

摘要:不要疑惑,告訴你答案這個代表正負號的正。雖然一點技術含量沒有,但是你要懂序列也許叫可迭代對象更為合適,但是我喜歡叫序列。

數(shù)據(jù)結構 可變類型與不可變類型(重頭戲)
    基操:
        可變類型:[], {}                # 可增刪改 查
        不可變類型: int float str ()    # 無法增刪改, 只可查

    升操: + 與 += 的區(qū)別:
        也許很多人會說 + 和 += 是完全等價的,或者知道區(qū)別,但也說不出個所以然
        看我操作:(忽略Python小整數(shù)池的內(nèi)存固定分配問題)
            +: 
                無論是可變類型 還是 不可變類型, 都是新指向的空間
            +=: 
                對于可變類型:原地操作,原指向,原空間
                對于不可變類型:異地操作,新指向,新空間
                

        我這里故意搞你一下思緒:見過 a=+1 么,可以運行試試。
        不要疑惑,告訴你答案:這個+1 代表 正負號的 正1。 雖然一點技術含量沒有,但是你要懂
序列
    也許叫可迭代對象更為合適,但是我喜歡叫序列。
    我認知的序列包括 [], {}, ()   # 請記住這個序列,數(shù)據(jù)處理最為重要
    此外說明一下:
        1. 我的代碼大多都是Ipython運行完貼上去的, 所以你看見的out格式就代表print了,要懂~
        2. 所寫的大多都是實際經(jīng)驗中常用的 或者 冷門但是好用的
        3. 列出的函數(shù)API有的嫌棄麻煩沒有寫參數(shù),你要懂,(我這里沒有顧及0入門的小白,諒解)
元祖
    基操:
        元祖屬于不可變類型,不能增刪改,所以函數(shù)少的可憐
        我用help查了一下,只有下面這2個函數(shù)。。。。。。
        a = (1,2,3)
        count() # 統(tǒng)計元素個數(shù)
        index() # 查找元素,并返回位置
    升操:
        a = (1)  # 哥們注意,這不是元祖,這是 整形1 .....
        a = (1,) # 這才是元祖,單元素元祖需要加逗號,記住即可,不必糾結      
常用字符串操作:
    基操:
        a = " 你2好 "
        a.find("你")  # 搜索目標字符串,找到 則 返回索引,找不到 則 返回-1 (推薦使用)
        a.split(2)    # 注意:不給參數(shù),默認按所有 空白符 切割
        a.strip()  
    升操: 
        1. string庫的靈活使用
            In [1]: import string
            In [2]: string.digits
            Out[2]: "0123456789"
            
            In [8]: string.ascii_letters
            Out[8]: "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"           
              
            In [9]: string.ascii_lowercase
            Out[9]: "abcdefghijklmnopqrstuvwxyz"
            
            In [10]: string.ascii_uppercase
            Out[10]: "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
            
            In [12]: string.punctuation
            Out[12]: "!"#$%&"()*+,-./:;<=>?@[]^_`{|}~"
            
        2. python3.6 - f模板字符串
            新語法引出來,只為刷三觀,具體自己去學
            學過ES6可能會很熟悉 -> 其實就是模板字符串 (ES6和python語法真的很像)
            In [15]: name = "張三"     
            In [16]: f"名字:{name}"
            Out[16]: "名字:張三"
            
            如果你想學習更多f原語,請參考這位老哥->
            https://blog.csdn.net/sunxb10/article/details/81036693
常用列表操作:
    a = [4,3,2,1]
    基操:
        a.extend() # 參數(shù)如果是序列,則把這個序列解開,一個一個插入
        a.append() # 參數(shù)寫什么,插入的就是什么
    升操:
        a[::] # 開辟空間 復制列表
        a.sort(key=)   # 記住這個key,可以寫函數(shù)名 (后面也會寫高階函數(shù)的文章)
常用字典操作:
    基操:
        a = {1:2}
        a.update({key:value})   # 有則更新,無則添加(Key-Value算一個整體)
        a.setdefault(key, value) # 有此Key則不變 并返回value,無則插入key,value并返回None
        a.keys()     # 返回所有 key (注意:返回值可以理解為 集合對象)
        a.values()   # 返回所有 value (同上,返回值可理解為 集合對象)
        a.items()    # 返回所有 鍵值對 (同上,返回值可理解為 集合對象)
    升操:
        1. Key是字典作為序列的默認首選項
            解釋對列表、元祖等序列等一系列操作如果應用在 字典上 就會只操作 Key
        2. 雙層序列 和 字典 轉換:
            seq2dict: dict( ((1,2),(3,4)) )
            dict2seq: tuple( {1:2,3:4}.items() )
常用集合操作:
    大前提: 集合=無序=去重
    基操:add | pop | remove | update 和 & | - ^
    升操:(集合的初始化方式的差異)
        In [57]: s1 = set("abcd") # 理解方式: 此初始化方式 會先遍歷 整個 字符串
        In [58]: s1
        Out[58]: {"a", "b", "c", "d"}
        
        In [59]: s2 = {"abcd"}   # 理解方式: 此初始化方法把 整個 字符串當做集合的 一個 元素
        In [60]: s2
        Out[60]: {"abcd"}

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

轉載請注明本文地址:http://systransis.cn/yun/43836.html

相關文章

  • 經(jīng)驗拾憶手工)=&gt; Python高階函數(shù)操作

    摘要:解釋就相當于把每個序列元素的每一個單獨用一個管道函數(shù)處理,再把他們按順序組合成一個新可迭代對象注意這個管道函數(shù)只能是單參數(shù)函數(shù),如果想傳遞多個參數(shù)怎么辦使用偏函數(shù)怕有些人看不懂,這里就不用了,而是用普通函數(shù)定義方式固定值固定值固定值固定值固 map In [25]: list(map(lambda a:a**2, [1,2,3,4])) Out[25]: [1, 4, 9, 16] 解...

    Elle 評論0 收藏0
  • 經(jīng)驗拾憶手工)=&gt; Python三程

    摘要:多線程對于爬蟲方面也可以表現(xiàn)出較好的性能。計算密集型就別想多線程了,一律多進程。所以同一時刻最大的并行線程數(shù)進程數(shù)的核數(shù)這條我的個人理解很模糊,參考吧多線程多線程有種通過的那種方式,非常普遍,此處就不寫了。 GIL的理解 GIL這個話題至今也是個爭議較多的,對于不用應用場景對線程的需求也就不同,說下我聽過的優(yōu)點: 1. 我沒有用過其他語言的多線程,所以無法比較什么,但是對于I/O而言,...

    Snailclimb 評論0 收藏0
  • 經(jīng)驗拾憶手工)=&gt; Python三器

    摘要:也就是給原函數(shù)加個外殼。類裝飾填充了啊我是原函數(shù)類裝飾填充了啊我是原函數(shù)說明后面關于類的裝飾器如果理解困難當做了解即可,用的也少。 可迭代對象、生成器、迭代器三者的關系 1. 迭代器一定是可迭代對象 2. 生成器是迭代器的一種 3. 可迭代對象:必須實現(xiàn) __iter__方法 4. 迭代器:必須實現(xiàn) __iter__方法 和 __next__ 方法 5. 生成器:必須實現(xiàn) __it...

    Miracle_lihb 評論0 收藏0
  • 經(jīng)驗拾憶手工)=&gt; Python__黑魔法__

    摘要:類的繼承類繼承有三種調(diào)用方式,其實是有區(qū)別的,聽我慢慢道來第一種父類方法參數(shù)直接調(diào)用第二種方法參數(shù)直接調(diào)用在誰的類下調(diào)用,就找此類對應的下一個就是要繼承的第三種方法參數(shù)找類名對應的的下一個,就是繼承的,一般寫本身的類名上下文管理器上下文管理 類的繼承 類繼承有三種調(diào)用方式,其實是 有區(qū)別 的,聽我慢慢道來 class A: def say(self, name): ...

    tulayang 評論0 收藏0

發(fā)表評論

0條評論

Andrman

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<