Python 基礎(chǔ)

Python is free and easy to learn if you know where to start!

注意事項(xiàng)

  • python目前有兩個(gè)主要的大版本: python2.x python3.x, 變化比較大, 注意所看資料是針對(duì)哪個(gè)版本的.
  • 注意不要再同一個(gè)腳本中混合使用tab和空格進(jìn)行縮進(jìn).
  • 推薦在終端中使用ipython
  • 關(guān)于python代碼風(fēng)格規(guī)范, 請(qǐng)參考pep8
  • 如果腳本中包換非英文字符, 請(qǐng)?jiān)?!/python下一行添加"# coding: utf-8"

數(shù)據(jù)類(lèi)型

變量的可變與不可變.

python中基本的數(shù)據(jù)類(lèi)型包括:
- number(int, float)
- string
- tuple
- list
- dict
- boolean

其中: number, string, tuple 屬于不可變類(lèi)型, 其余屬于可變類(lèi)型.

改變一個(gè)數(shù)字的值, 實(shí)際上是創(chuàng)建了一個(gè)新的對(duì)象.

In [1]: a = 1

In [3]: id(a)
Out[3]: 140405345671768

In [4]: a = a + 1

In [5]: id(a)
Out[5]: 140405345671744

注意, 這里變量 a 的id變了. string 也是不可變類(lèi)型, 改變一個(gè)字符串的值也會(huì), 也會(huì)創(chuàng)建一個(gè)新對(duì)象. 所以在python應(yīng)該盡量避免對(duì)字符串使用 '+' 的操作, 防止程序執(zhí)行效率下降.

如果是一個(gè)list

In [6]: b = [1]

In [7]: id(b)
Out[7]: 4322169992

In [8]: b.append(1)

In [9]: b
Out[9]: [1, 1]

In [10]: id(b)
Out[10]: 4322169992

我們看到id沒(méi)有發(fā)生變化.

一切皆是對(duì)象

In [12]: dir("hello")
Out[12]:
['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__',
 ...
 ...
 'capitalize', 'index', .......]

這里我們看到, "hello" 并不是一個(gè)簡(jiǎn)單的, 猶如在 C 里那樣的字符串, 與他關(guān)聯(lián)的還有一大堆的方法.

什么是對(duì)象? 對(duì)象實(shí)際上就是 一堆數(shù)據(jù)與一堆方法的集合.

這里要強(qiáng)調(diào)一點(diǎn), python并非一門(mén)純的面向?qū)ο蟮恼Z(yǔ)言, 其中還包括了很多過(guò)程式的, 函數(shù)式的編程元素.

常用方法

string

'count',

'encode', 'decode',

'startswith', 'endswith',

'find', 'rfind',

'index', 'rindex',

'join',

'upper', 'lower', 'swapcase',

'lstrip', 'rstrip', 'strip',

'replace',

'split', 'rsplit', 'splitlines',

list

'insert',
'append',
'extend',

'count',
'index',

'pop',
'remove',

'reverse', 'sort'

dict

'get',
'setdefault',

'has_key',

'items', 'iteritems', 'iterkeys', 'itervalues',

'keys',
'values',

'pop', 'popitem',

控制結(jié)構(gòu)

if

  • true: True, "x", 1, [1], {"a": 1}
  • false: False, "", 0, [], {}

operator: and, or, not

for

python中, 沒(méi)有類(lèi)似C中for( i=1; i<=100; i++ )式的語(yǔ)句

語(yǔ)法:

for {$var} in [...]:
    ...

常用函數(shù)

range(), xrange().

常用命令

continue, break

函數(shù)

語(yǔ)法:

def function_name(arg1[=...], arg2, ...):
    pass

重要概念:

  • 參數(shù)默認(rèn)值
  • 參數(shù)unpacking, f(*args, **kv)
  • 匿名函數(shù), lambda
  • doc string
  • 函數(shù)副作用
  • 裝飾器

類(lèi)

語(yǔ)法:

Class Class_name():
    def __init__():
        pass

    def other_function():
        pass

重要概念:

  • self
  • 類(lèi)變量與實(shí)例變量, 類(lèi)方法(靜態(tài)函數(shù))與實(shí)例方法
  • 類(lèi)的實(shí)例化
  • 繼承
  • 父類(lèi)方法調(diào)用

重要概念:

  • python path
  • import
  • _init_.py

測(cè)試

作為一個(gè)程序員熄赡,學(xué)會(huì)如何測(cè)試自己的代碼是必備的技能谒所,而python 在這方面提供了非常完善的基礎(chǔ)設(shè)施。

Unittest

unittest

Mock

python3.4 加入標(biāo)準(zhǔn)庫(kù) unittest.mock,之前的版本需要另外安裝缺虐。

文檔

通過(guò)Sphnix可以根據(jù)代碼中的 docstring 生成文檔芋簿。支持多種輸出格式步氏,例如:html滑沧,pdf等。

其他

virtualenv 可以幫助開(kāi)發(fā)者創(chuàng)建一個(gè)獨(dú)立的python 環(huán)境躬它,方便后續(xù)的代碼打包(包括依賴(lài)包)和發(fā)布腾啥。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子倘待,更是在濱河造成了極大的恐慌,老刑警劉巖凸舵,帶你破解...
    沈念sama閱讀 219,589評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件祸挪,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡贞间,警方通過(guò)查閱死者的電腦和手機(jī)贿条,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)增热,“玉大人整以,你說(shuō)我怎么就攤上這事【穑” “怎么了公黑?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,933評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)摄咆。 經(jīng)常有香客問(wèn)我凡蚜,道長(zhǎng),這世上最難降的妖魔是什么吭从? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,976評(píng)論 1 295
  • 正文 為了忘掉前任朝蜘,我火速辦了婚禮,結(jié)果婚禮上涩金,老公的妹妹穿的比我還像新娘谱醇。我一直安慰自己,他們只是感情好步做,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,999評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布副渴。 她就那樣靜靜地躺著,像睡著了一般全度。 火紅的嫁衣襯著肌膚如雪煮剧。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,775評(píng)論 1 307
  • 那天将鸵,我揣著相機(jī)與錄音勉盅,去河邊找鬼。 笑死咨堤,一個(gè)胖子當(dāng)著我的面吹牛菇篡,可吹牛的內(nèi)容都是我干的漩符。 我是一名探鬼主播一喘,決...
    沈念sama閱讀 40,474評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了凸克?” 一聲冷哼從身側(cè)響起议蟆,我...
    開(kāi)封第一講書(shū)人閱讀 39,359評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎萎战,沒(méi)想到半個(gè)月后咐容,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,854評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蚂维,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,007評(píng)論 3 338
  • 正文 我和宋清朗相戀三年戳粒,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片虫啥。...
    茶點(diǎn)故事閱讀 40,146評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出爹袁,到底是詐尸還是另有隱情毅否,我是刑警寧澤,帶...
    沈念sama閱讀 35,826評(píng)論 5 346
  • 正文 年R本政府宣布评雌,位于F島的核電站树枫,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏景东。R本人自食惡果不足惜砂轻,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,484評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望斤吐。 院中可真熱鬧舔清,春花似錦、人聲如沸曲初。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,029評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)臼婆。三九已至抒痒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間颁褂,已是汗流浹背故响。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,153評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留颁独,地道東北人彩届。 一個(gè)月前我還...
    沈念sama閱讀 48,420評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像誓酒,于是被迫代替她去往敵國(guó)和親樟蠕。 傳聞我的和親對(duì)象是個(gè)殘疾皇子贮聂,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,107評(píng)論 2 356

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

  • 本教程基于Python 3,參考 A Byte of Python v1.92(for Python 3.0) 以...
    yuhuan121閱讀 3,065評(píng)論 1 6
  • Python 基礎(chǔ)教程 實(shí)例(Python 2.0+) 實(shí)例(Python 3.0+) Python 簡(jiǎn)介 Pyt...
    縱我不往矣閱讀 64,740評(píng)論 0 23
  • 基于Python2.7學(xué)習(xí) (一)概述 一寨辩、為什么學(xué)Python 語(yǔ)法簡(jiǎn)單吓懈,易上手; 豐富的庫(kù)支持靡狞,對(duì)Json支持...
    fuadon閱讀 356評(píng)論 0 0
  • 本節(jié)內(nèi)容 Python介紹 發(fā)展史 Python 2 or 3? 安裝 Hello World程序 變量 用戶輸入...
    小小不懂11閱讀 3,426評(píng)論 2 30
  • @貳拾貳畫(huà)生 感謝簡(jiǎn)明Python教程 輸入輸出 輸入:raw_input string = raw_input(...
    貳拾貳畫(huà)生閱讀 2,634評(píng)論 4 21