Python 進擊

dict

  • class dict(iterable, **kwarg)
    Each item in the iterable must itself be an iterable with exactly two objects. The first object of each item becomes a key in the new dictionary, and the second object the corresponding value. If a key occurs more than once, the last value for that key becomes the corresponding value in the new dictionary.
>>> d = dict([('a',1), ('b',2), ('a',3)])
>>> d
{'a': 3, 'b': 2}
  • get(key[, default])
    Return the value for key if key is in the dictionary, else default. If default is not given, it defaults to None, so that this method never raises a KeyError.
>>> d = {'b': 2}

>>> d.get('a')
>>> d.get('b')
2
>>> d.get('a', 1)
1
>>> d
{'b': 2}
  • setdefault(key[, default])
    If key is in the dictionary, return its value. If not, insert key with a value of default and return default. default defaults to None.
>>> d = {'b': 2}

>>> d.setdefault('b',3)
2
>>> d.setdefault('a',1)
1
>>> d
{'a': 1, 'b': 2}
>>> d.setdefault('c')
>>> d
{'a': 1, 'b': 2, 'c': None}
  • pop(key[, default])
    If key is in the dictionary, remove it and return its value, else return default. If default is not given and key is not in the dictionary, a KeyError is raised.
>>> d
{'a': 1, 'b': 2}
>>> d.pop('a')
1
>>> d
{'b': 2}
>>> d.pop('a', None)
>>> 
>>> d
{'b': 2}
>>> d.pop('a')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'a'
  • popitem()
    Remove and return an arbitrary (key, value) pair from the dictionary. If the dictionary is empty, calling popitem() raises a KeyError.

str

  • str.find(sub[, start[, end]])
    Return the lowest index in the string where substring sub is found within the slice s[start:end]. Optional arguments start and end are interpreted as in slice notation. Return -1 if sub is not found.

  • str.strip([chars])?

  • str.split(sep=None, maxsplit=-1)?

  • str.splitlines([keepends])?

  • str.startswith(prefix[, start[, end]])
    Return True if string starts with the prefix, otherwise return False. prefix can also be a tuple of prefixes to look for. With optional start, test string beginning at that position. With optional end, stop comparing string at that position.

  • str.endswith(suffix[, start[, end]])
    Return True if the string ends with the specified suffix, otherwise return False. suffix can also be a tuple of suffixes to look for. With optional start, test beginning at that position. With optional end, stop comparing at that position.

  • str.capitalize()
    Return a copy of the string with its first character capitalized and the rest lowercased.

  • str.lower()
    Return a copy of the string with all the cased characters converted to lowercase.

  • str.upper()
    Return a copy of the string with all the cased characters converted to uppercase

format

  • 1 %s
>>> '/%s/%s' % ('a','b')
'/a/b'

>>> '%(a)s and %(b)s' % {'a': 'apple', 'b':'banana'}
'apple and banana'

__new__() v.s. __init__() v.s. __call__()

  • __new__(): 創(chuàng)建對象
    __init__(): 初始化對象
    __call__(): 對象的調(diào)用

關(guān)系:現(xiàn)有對象的創(chuàng)建瓶埋,然后有初始化翁锡。即先 __new__() 再 __init__(). __init__() 有一個 self 參數(shù)废恋,這個就是 __new__() 返回的實例掘譬。

  • 看個栗子
class A(object):
    def __init__(self, *arg, **kwarg):
        print("Hi, i'm init!")
        print(self)

    def __new__(cls, *arg, **kwarg):
        print("Hi, i'm new!")
        print(cls)
        return object.__new__(cls, *arg, **kwarg)

    def __call__(self, *arg, **kwarg):
        print("Hi, i'm call!")

if __name__ == '__main__':
    a = A()
    a()

its output:

Hi, i'm new!
<class '__main__.A'>
Hi, i'm init!
<__main__.A object at 0x7f5eeec87b70>
Hi, i'm call!
  • read more
    • object.__new__(cls[, ...])?
    • object.__init__(self[, ...])?
    • object.__call__(self[, args...])?

instance method v.s. @staticmethod method v.s. @classmethod method

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖邦邦,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異醉蚁,居然都是意外死亡燃辖,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進店門网棍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來黔龟,“玉大人,你說我怎么就攤上這事滥玷∈仙恚” “怎么了?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵惑畴,是天一觀的道長蛋欣。 經(jīng)常有香客問我,道長如贷,這世上最難降的妖魔是什么陷虎? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮杠袱,結(jié)果婚禮上尚猿,老公的妹妹穿的比我還像新娘。我一直安慰自己楣富,他們只是感情好凿掂,可當(dāng)我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著纹蝴,像睡著了一般庄萎。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上塘安,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天惨恭,我揣著相機與錄音,去河邊找鬼耙旦。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的免都。 我是一名探鬼主播锉罐,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼绕娘!你這毒婦竟也來了脓规?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤险领,失蹤者是張志新(化名)和其女友劉穎侨舆,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體绢陌,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡挨下,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了脐湾。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片臭笆。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖秤掌,靈堂內(nèi)的尸體忽然破棺而出愁铺,到底是詐尸還是另有隱情,我是刑警寧澤闻鉴,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布茵乱,位于F島的核電站,受9級特大地震影響孟岛,放射性物質(zhì)發(fā)生泄漏瓶竭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一蚀苛、第九天 我趴在偏房一處隱蔽的房頂上張望在验。 院中可真熱鬧,春花似錦堵未、人聲如沸腋舌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽块饺。三九已至,卻和暖如春雌芽,著一層夾襖步出監(jiān)牢的瞬間授艰,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工世落, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留淮腾,地道東北人。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像谷朝,于是被迫代替她去往敵國和親洲押。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,486評論 2 348