有幸能得到老王python 的視頻召锈,特別喜歡兩位大神的講課風(fēng)格位仁,不浮夸,思路清晰计贰,打算跟大神自學(xué)下基礎(chǔ)
今天學(xué)習(xí)總結(jié)如下:
1.python 是腳本解釋型語言,和編譯型語言不一樣:
python執(zhí)行腳本的過程:
? ? 1).python 先將腳本編譯成字節(jié)碼文件(pyc,pyo)
? ? 2).python 虛擬機(jī)解釋并運(yùn)行字節(jié)碼文件
2.編譯型語言的執(zhí)行過程
編譯器將程序編譯成機(jī)器碼(可執(zhí)行的二進(jìn)制文件)蒂窒,然后運(yùn)行躁倒,特點(diǎn):執(zhí)行效率高
3.python的動態(tài)語義,賦值時確定類型刘绣,不像編譯型語言需要先聲明變量類型
4.python縮進(jìn)問題樱溉,python的縮進(jìn)也體現(xiàn)python代碼簡潔的重要特性之一
5.python的編碼問題:
ASCII ?Unicode ?這些編碼自行了解,這里我們說utf8,日常工作中纬凤,我們重要使用utf-8
#coding=utf-8 ?
這個注釋在python2中福贞,如果腳本程序有中文,必須要加停士,python3默認(rèn)是utf-8,可不寫
常見的幾種寫法:
風(fēng)騷寫法: #_*_ coding:utf-8 _*_
簡潔寫法: #coding=utf-8
? ? ? ? ? ? ? ? ? #coding:utf-8
why? ?為什么可以有這么多寫法挖帘,一般會想到通配或正則,沒錯恋技,你猜對了拇舀,只要符合正則表達(dá)式,即可:
coding[:=]\s*([-\w.]+)
6.python 注釋問題:
python的注釋分為單行注釋和多行注釋蜻底,骄崩、
單行注釋: #
多行注釋: """ ?"""
#多行注釋還可以用作變量賦值
7.程序執(zhí)行主體:
if __name__ = ?"__main__"
print(xxxxx)
這個方法的作用:如果其他程序腳本,想用調(diào)用次腳本里的變量或者方法薄辅,我們把程序放在if __name__ =? "__main__"要拂,下面,這樣做的目的就是不影響自己執(zhí)行腳本站楚,也不會影響其他調(diào)用的腳本脱惰, 如果把程序放在if __name__ =? "__main__" 外,那么調(diào)用次腳本的那個腳本就會執(zhí)行這個程序主體窿春,造成2次執(zhí)行拉一,說的有點(diǎn)啰嗦,簡單一句話旧乞,別人來使用我的東西蔚润,別人既可以使用在我這里他需要的東西,而我可以做自己的事情尺栖,互不影響抽碌。
8.python 哲學(xué)思想: 一切皆對象
9.python 的變量
python的變量和我們傳統(tǒng)的編譯型語言的變量不一樣;
比如 a = 4;
在傳統(tǒng)語言中,比如C, a=4 , 就代表a的值是4货徙,
在python 中a 代表的是對數(shù)據(jù)對象4 的引用左权,說的具體一點(diǎn)就是引用4 在內(nèi)存空間中的內(nèi)存地址
或者,可以這樣理解痴颊,把 a 當(dāng)成一個標(biāo)簽赏迟,可以移動,舉個例子:
a =4?
b=a
結(jié)果: a=4,b=4
現(xiàn)在做一下更改蠢棱,a=5
結(jié)果: a=5, b=4
這里b不等于5锌杀, b 仍然指定4 這個內(nèi)存地址,而a 重新分配了一塊內(nèi)存,重新引用了5這個內(nèi)存空間的地址
可通過 id (a) id(b) ?查看內(nèi)存地址
>>> a = 3
>>> id(a)
10894144
>>> b=a
>>> id(b)
10894144
>>> a=4
>>> id(a)
10894176
>>> id(b)
10894144
>>>