python3 學(xué)習(xí)筆記

一前弯、變量和數(shù)據(jù)類型

變量名字母全小寫, 常量名字母全大寫望伦,多個單詞用下劃線隔開。

  • 標(biāo)識符
    1)第一個字符必須是字母表中字母或下劃線 _ 古程。
    2)標(biāo)識符的其他部分由字母蔼卡、數(shù)字和下劃線組成。
    3)標(biāo)識符對大小寫敏感籍琳。
    4)不可以是python中的關(guān)鍵字菲宴,如False贷祈、True、None喝峦、class等势誊。
    注意:self不是python中的關(guān)鍵字。類中參數(shù)self也可以用其他名稱命名谣蠢,但是為了規(guī)范和便于讀者理解粟耻,推薦使用self。

  • 字符串

  1. str.endswith()
S.endswith(suffix[, start[, end]]) -> bool

用于判斷字符串是否以指定后綴結(jié)尾眉踱,可選參數(shù)"start"與"end"為檢索字符串的開始與結(jié)束位置挤忙。

  • 字典
  1. 對字典排序
# 按照key對字典進(jìn)行排序
sorted(dict1.items(), key = lambda x: x[0])
# 按照value對字典進(jìn)行排序
sorted(dict1.items(), key = lambda x: x[1])

二、面向?qū)ο缶幊?/h2>

Python是動態(tài)語言谈喳,根據(jù)類創(chuàng)建的實例(對象)可以任意綁定屬性册烈。

  • 類、對象婿禽、屬性和方法
名稱 說明
類名首字母大寫赏僧,多個單詞采用駝峰式命名。如:ValueError扭倾。私有類可用一個下劃線開頭 人類淀零;手機
對象 對象=類名() 張三、李四膛壹;華為驾中、oppo
屬性 對象集合的共同特征 身高、體重模聋、年齡
方法 即:動作肩民。python 類語法中有三種方法:實例方法(self)、靜態(tài)方法撬槽、類方法(cls)此改。方法名一律小寫,如有多個單詞侄柔,用下劃線隔開共啃;私有方法在方法前加一個下劃線_ 吃飯、上班

函數(shù)的命名規(guī)格與方法的命名規(guī)格相同暂题。

  • 內(nèi)置類屬性
  1. __name____name__是一個變量移剪,前后加了雙下劃線是因為這是系統(tǒng)定義的名字,普通變量不要使用此方式命名變量薪者。__name__天生就存在于一個 python 程序中纵苛,代表對應(yīng)程序名稱。import的時候是要執(zhí)行所import的模塊的。直接運行py文件(__name__ = '__main__')和導(dǎo)入py文件(__name__ = 文件名攻人,不加后面的.py)輸出的__name__值不同取试,因此通過判斷__name__的值,就可以區(qū)分py文件是直接被運行怀吻,還是被引入到其他程序中瞬浓。
  2. __module__:類定義所在的模塊,如果在當(dāng)前模塊返回__main__; 如果類位于一個導(dǎo)入模塊mymod中蓬坡,那么className.__module__等于mymod)
  3. __bases__:類的所有父類(包含了所有父類組成的元組)
  4. __doc__:類的文檔字符串猿棉,也就是類的幫助信息。
  5. __dict__:類的屬性(獲取類所有信息):結(jié)果返回一個字典包含類屬性及屬性值屑咳,類方法等所有類信息
    參考:python類屬性用法總結(jié)
  • __new____init__區(qū)別
    __init__是當(dāng)實例對象創(chuàng)建完成后被調(diào)用的萨赁,然后設(shè)置對象屬性的一些初始值。(實例方法)
    __new__是在實例創(chuàng)建之前被調(diào)用的兆龙,因為它的任務(wù)就是創(chuàng)建實例然后返回該實例杖爽。(靜態(tài)方法)
    即,__new____init__之前被調(diào)用详瑞,__new__的返回值(實例)將傳遞給__init__方法的第一個參數(shù)掂林,然后__init__給這個實例設(shè)置一些參數(shù)臣缀。
    只有在__new__返回一個cls的實例時坝橡,后面的__init__才能被調(diào)用。
  • 常用內(nèi)置函數(shù)
    所有內(nèi)置函數(shù)
  1. sorted():對所有可迭代的對象進(jìn)行排序操作精置。
  2. eval():執(zhí)行一個字符串表達(dá)式计寇,并返回表達(dá)式的值。
  3. ord()chr()
    ord()(ordinal序數(shù)的)對表示單個 Unicode 字符的字符串脂倦,返回代表它 Unicode 碼點的整數(shù)番宁。是 chr()的逆函數(shù)。ord('a') = 97, chr(97) = 'a'
  4. round():round(number[, ndigits]) -> number 保留n位小數(shù)
  • 封裝赖阻、繼承蝶押、多態(tài)
  1. 封裝:(1)私有化屬性(__屬性),訪問范圍僅限于類中火欧;(2)定義共有set和get方法棋电;(3)裝飾器@property進(jìn)行私有化處理。
class Student:
    def __init__(self, age):
        self.__age = age  # 低層變?yōu)椋篲Student__age     
    # 先有g(shù)et_age
    @property
    def age(self):
        return self.__age
    # 再有set_age苇侵,因為set依賴get
    @age.setter
    def age(self, age):
        if 0 <= age <= 120:
            self.__age = age         
x = Student(17)
print(x.age)  # 17
print(dir(x)) # ['_Student__age',...... '__str__', 'age']

三赶盔、常見模塊

模塊使用小寫命名,首字母保持小寫榆浓,盡量不要用下劃線(除非多個單詞于未,且數(shù)量不多的情況)

  • bisect
    bisect.bisect_left(a, x)返回x元素可以插入有序序列a的最左邊的位置或者x在a里最左邊的位置O(log n)
    bisect.insort_left(a, x) 將 x 插入到一個有序序列 a 里,并維持其有序。O(n)
  • collections
    x = defaultdict(list)defaultdict是dict的子類烘浦,defaultdict提供一個default_factory屬性抖坪,該屬性所指定的函數(shù)負(fù)責(zé)為不存在的key來生成 value。(訪問x[0]得到[])
  • sortedcontainers
    其主要包含SortedList闷叉、SortedDictSortedSet三個類柳击,容器內(nèi)數(shù)據(jù)一直保持有序。
from sortedcontainers import SortedList
sl = SortedList(['e', 'a', 'c', 'd', 'b'])
sl.add("ab")  # SortedList(['a', 'ab', 'b', 'c', 'd', 'e'])
sl.bisect_left('e')  # 5

詳見:http://www.grantjenks.com/docs/sortedcontainers/

持續(xù)更新中......

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市藕咏,隨后出現(xiàn)的幾起案子状知,更是在濱河造成了極大的恐慌,老刑警劉巖孽查,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件饥悴,死亡現(xiàn)場離奇詭異,居然都是意外死亡盲再,警方通過查閱死者的電腦和手機西设,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來答朋,“玉大人贷揽,你說我怎么就攤上這事∶瓮耄” “怎么了禽绪?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長洪规。 經(jīng)常有香客問我印屁,道長,這世上最難降的妖魔是什么斩例? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任雄人,我火速辦了婚禮,結(jié)果婚禮上念赶,老公的妹妹穿的比我還像新娘础钠。我一直安慰自己,他們只是感情好晶乔,可當(dāng)我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布珍坊。 她就那樣靜靜地躺著,像睡著了一般正罢。 火紅的嫁衣襯著肌膚如雪阵漏。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天,我揣著相機與錄音履怯,去河邊找鬼回还。 笑死,一個胖子當(dāng)著我的面吹牛叹洲,可吹牛的內(nèi)容都是我干的柠硕。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼运提,長吁一口氣:“原來是場噩夢啊……” “哼蝗柔!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起民泵,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤癣丧,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后栈妆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體胁编,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年鳞尔,在試婚紗的時候發(fā)現(xiàn)自己被綠了嬉橙。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡寥假,死狀恐怖市框,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情昧旨,我是刑警寧澤拾给,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站兔沃,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏级及。R本人自食惡果不足惜乒疏,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望饮焦。 院中可真熱鬧怕吴,春花似錦、人聲如沸县踢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽硼啤。三九已至议经,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背煞肾。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工咧织, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人籍救。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓习绢,卻偏偏與公主長得像,于是被迫代替她去往敵國和親蝙昙。 傳聞我的和親對象是個殘疾皇子闪萄,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,037評論 2 355