Python備忘錄-基礎(chǔ)

Python 基礎(chǔ)知識(shí)

Python命名規(guī)則

# 參考 PEP 8
# 類名
MyClass # bad : myClass,my_class
# 方法、模塊、包、變量名
var_underscore_separate # bad: varCamel,VarCamel
# 類中的私有變量
__var
# 屬性名
__var__

使用 future 的特性

導(dǎo)入__future__ 可以在python2中使用python3的一些特性萨咕,環(huán)境是python2.7

# 參考 PEP 236
>>> print "Hello,world"
Hello,world
>>> from __future__ import print_function
>>> print "Hello,world"
  File "<stdin>", line 1
    print "Hello,world"
                      ^
SyntaxError: invalid syntax
>>> print("Hello,world")
Hello,world

>>> type("Hello")
<type 'str'>
>>> from __future__ import unicode_literals
>>> type("Hello")
<type 'unicode'>

>>> 1/2
0
>>> from __future__ import division
>>> 1/2
0.5

future 的具體的特性請(qǐng)參考 future

檢查對(duì)象的屬性

>>> dir(list)
['__add__', '__class__', ...]

定義 doc 方法

>>> def Example():
          """ This is an example function"""
          print "Example function"

>>> Example.__doc__
' This is an example function'

# or using help function
>>> help(Example)
Help on function Example in module __main__:

Example()
    This is an example function

>>>

檢查實(shí)例的類型

>>> ex = 10
>>> isinstance(ex,int)
True

檢查 Get、Set屬性

>>> class Example(object):
    def __init__(self):
        self.name = "ex"
    def printex(self):
        print "This is an example"


>>> ex = Example()
>>> hasattr(ex,"name")
True
>>> hasattr(ex,"printex")
True
>>> hasatter(ex,"print")
>>> hasattr(ex,"print")
False
>>> getattr(ex,"name")
'ex'
>>> setattr(ex,"name",'example')
>>> ex.name
'example'

檢查繼承

>>> class Example(object):
    def __init__(self):
        self.name = "ex"
    def printex(self):
        print "This is an example"

>>> issubclass(Example,object)
True

檢查所有的全局變量

globals() 方法返回一個(gè)字典

>>> globals()
{'__builtins__': <module '__builtin__' (built-in)>, 'Example': <class '__main__.Example'>, 'ex': <__main__.Example object at 0x000000000349D160>, '__name__': '__main__', '__package__': None, '__doc__': None}

檢查是否可以調(diào)用

>>> def fun():
    print 'I am callable'

>>> callable(a)
False
>>> callable(fun)
True

獲取方法瘤缩、類的名稱

>>> class ExampleClass(object):
    pass

>>> def example_fun():
    pass

>>> ex = ExampleClass()
>>> ex.__class__.__name__
'ExampleClass'
>>> example_fun.__name__
'example_fun'

List的相關(guān)操作

>>> a = [1, 2, 3, 4, 5]
>>> a[0]
1
>>> a[-1]
5
>>> a[0:]
[1, 2, 3, 4, 5]
>>> a[:-1]
[1, 2, 3, 4]
>>> a[0:-1:2]
[1, 3]
>>> s = slice(0,-1,2)
>>> a[s]
[1, 3]
>>> s
slice(0, -1, 2)
# 通過循環(huán)打印 list的索引和元素值
>>> a = range(3)
>>> for idx,item in enumerate(a):
    print(idx,item)


(0, 0)
(1, 1)
(2, 2)
# 將兩個(gè)list組成一個(gè)元組list
>>> a = [1, 2, 3, 4, 5]
>>> b = [2, 4, 5, 6, 8]
>>> zip(a,b)
[(1, 2), (2, 4), (3, 5), (4, 6), (5, 8)]
# List 過濾
>>> [x for x in range(5) if x > 1]
[2, 3, 4]
>>> predicate = lamba x : isinstance(x,int)
>>> l = ['1', '2', 3, 'Hello', 4]
>>> filter(predicate,l)
[3, 4]
# List 去重
>>> a = [1, 2, 3, 3, 3]
>>> list({_ for _ in a})
[1, 2, 3]
# 或者通過set去重
>>> list(set(a))
[1, 2, 3]
# list倒序
>>> a = [1, 2, 3, 4, 5]
>>> a[::-1]
[5, 4, 3, 2, 1]
>>>

字典的相關(guān)操作


>>> a = {"1":1, "2":2, "3":3}
>>> b = {"2":2, "3":3, "4":4}
# 獲取所有的key
>>> a.keys()
['1', '3', '2']
# 將key和value組成一個(gè)元組list
>>> a.items()
[('1', 1), ('3', 3), ('2', 2)]
# 在兩個(gè)字典中查找重復(fù)的key
>>> [_ for _ in a.keys() if _ in b.keys()]
['3', '2']
>>> c = set(a).intersection(set(b))
>>> list(c)
['3', '2']
# 更新字典
>>> a.update(b)
>>> a
{'1': 1, '3': 3, '2': 2, '4': 4}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末紊服,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子蒙谓,更是在濱河造成了極大的恐慌斥季,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,576評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件累驮,死亡現(xiàn)場(chǎng)離奇詭異酣倾,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)谤专,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門躁锡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人置侍,你說我怎么就攤上這事映之±狗伲” “怎么了?”我有些...
    開封第一講書人閱讀 168,017評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵杠输,是天一觀的道長(zhǎng)赎败。 經(jīng)常有香客問我,道長(zhǎng)蠢甲,這世上最難降的妖魔是什么僵刮? 我笑而不...
    開封第一講書人閱讀 59,626評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮鹦牛,結(jié)果婚禮上搞糕,老公的妹妹穿的比我還像新娘。我一直安慰自己曼追,他們只是感情好寞宫,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著拉鹃,像睡著了一般辈赋。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上膏燕,一...
    開封第一講書人閱讀 52,255評(píng)論 1 308
  • 那天钥屈,我揣著相機(jī)與錄音,去河邊找鬼坝辫。 笑死篷就,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的近忙。 我是一名探鬼主播竭业,決...
    沈念sama閱讀 40,825評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼及舍!你這毒婦竟也來了未辆?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,729評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤锯玛,失蹤者是張志新(化名)和其女友劉穎咐柜,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體攘残,經(jīng)...
    沈念sama閱讀 46,271評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡拙友,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了歼郭。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片遗契。...
    茶點(diǎn)故事閱讀 40,498評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖病曾,靈堂內(nèi)的尸體忽然破棺而出牍蜂,到底是詐尸還是另有隱情漾根,我是刑警寧澤,帶...
    沈念sama閱讀 36,183評(píng)論 5 350
  • 正文 年R本政府宣布捷兰,位于F島的核電站立叛,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏贡茅。R本人自食惡果不足惜秘蛇,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望顶考。 院中可真熱鬧赁还,春花似錦、人聲如沸驹沿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽渊季。三九已至朋蔫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間却汉,已是汗流浹背驯妄。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留合砂,地道東北人青扔。 一個(gè)月前我還...
    沈念sama閱讀 48,906評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像翩伪,于是被迫代替她去往敵國(guó)和親微猖。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容