學(xué)習(xí)筆記20170601">【PMP】學(xué)習(xí)筆記20170601
852
2022-05-30
【Pyhton】學(xué)習(xí)筆記1-基礎(chǔ)篇
是什么
在學(xué)習(xí)Python之前,我們需要了解它
Python is a programming language that lets you work quickly
and integrate systems more effectively.
這句寫在官網(wǎng)上的話,顯然是句廢話。除了廢話之外,我們能看出它突出的是快速和有效。
Python 是一種易于學(xué)習(xí)又功能強(qiáng)大的編程語言。它提供了高效的高級數(shù)據(jù)結(jié)構(gòu),還有簡單有效的面向?qū)ο缶幊獭ython 優(yōu)雅的語法和動態(tài)類型,以及解釋型語言的本質(zhì),使它成為多數(shù)平臺上寫腳本和快速開發(fā)應(yīng)用的理想語言。
這句寫在官網(wǎng)教程上的話,表明了Python的特點(diǎn)
簡單高效
動態(tài)類型
解釋型語言
大部分用于寫腳本和開發(fā)應(yīng)用
動態(tài)語言
如果你是已經(jīng)使用過一種或者一種以上編程語言的開發(fā)者,這個不需要怎么解釋。
簡單解釋為:可以在運(yùn)行過程中自動隱式轉(zhuǎn)換成需要的數(shù)據(jù)類型。
解釋型語言
解釋型語言區(qū)別于編譯型語言,即每次運(yùn)行都需要調(diào)用解釋器讓計(jì)算機(jī)看懂含義。而編譯型語言,一次編譯之后計(jì)算機(jī)即可執(zhí)行。
能做什么
上面簡單提到了python的使用場景,詳細(xì)分類的話如下
web開發(fā): Django, Pyramid, Bottle, Tornado, Flask, web2py
GUI開發(fā): tkInter, PyGObject, PyQt, PySide, Kivy, wxPython
科學(xué)和數(shù)字計(jì)算: SciPy, Pandas, IPython
軟件開發(fā): Buildbot, Trac, Roundup
系統(tǒng)管理: Ansible, Salt, OpenStack
也就是憑借著簡單易懂,Python在各個領(lǐng)域都有廣泛應(yīng)用。
但是,語言作為一項(xiàng)工具,能做什么是一方面,作為使用者的我們想用來做什么是另一方面。
環(huán)境&版本
本系列文章會陸續(xù)用到個人的兩臺電腦
MacBookPro
Win10
Python版本為 3.7 ,推薦使用官方穩(wěn)定版 3.7.3
由于這兩年的庫的完善,本系列文章不再推薦和使用Python2.x
目的&目標(biāo)群體
目的
了解Python語法
能編寫完整的項(xiàng)目,實(shí)現(xiàn)具體業(yè)務(wù)
目標(biāo)群體
有一定編程經(jīng)驗(yàn),最少熟悉一門編程語言的開發(fā)人員
變量
數(shù)值類型
Python3.x的int類型包含了Python2.x中的short、int、long
m = 2333333333333333333333333 print(type(m))
1
2
整型可以按4種進(jìn)制表示,分別為 十進(jìn)制、二進(jìn)制、八進(jìn)制、十六進(jìn)制,在實(shí)際開發(fā)過程中,有需求可以轉(zhuǎn)換成對應(yīng)進(jìn)制進(jìn)行計(jì)算。
m = 2333333333333333333333333.0 print(type(m))
1
2
m = 23333 + 0.3j print(type(m))
1
2
str 字符串
Python的字符串控制非常自由,字符串拼接用的+,需要注意的是,如果數(shù)值和字符串拼接需要將數(shù)值進(jìn)行轉(zhuǎn)換。
m = "222" n = 2.3 print(m + str(n)) print(type(m + str(n)))
1
2
3
4
2222.3
如果不轉(zhuǎn)換,會提示TypeError: can only concatenate str (not "float") to str。
和PHP不同的是,Python可以通過索引控制字符串,相當(dāng)于PHP簡單的數(shù)組操作。這個來講還是很方便的。
字符串的其他用法,比如格式化、替換、大小寫轉(zhuǎn)換,這些本質(zhì)上都屬于API的調(diào)用,對照文檔就能明白的,這里就沒有必要一一做實(shí)例了。
對于字符串,只需要知道,Python是把字符串當(dāng)做序列來看的就OK。
bytes 字節(jié)
區(qū)別于字符串的是,bytes存儲的是二進(jìn)制字節(jié)。
m = b"2223" print(m) print(type(m))
1
2
3
b'2223'
1
2
數(shù)據(jù)結(jié)構(gòu)
了解數(shù)據(jù)結(jié)構(gòu)的意義在于明白
這個東西在這個語言里怎么表達(dá)
這個東西在這個語言的邊界是什么
這個東西跟我之前用的語言有啥不一樣的
看過我其他文章的讀者知道,我目前主要使用PHP作為開發(fā)語言,所以在后續(xù)過程中,我有時候會和PHP做對比,來講他們的異同。
Python的數(shù)據(jù)結(jié)構(gòu)為這幾種
列表 list
元祖 tuple
字典 dict
序列
集合 set
列表[1,2]是可變的,元祖(1,2)是不可變的。
比較有意思的是,列表支持乘法運(yùn)算,將列表內(nèi)的元素乘以多少倍。
列表的常用操作,添加刪除元素、排序等方法比較常規(guī),所以不展開。
字典是有key-value結(jié)構(gòu)的列表,樣子很像json。
m = {"m1":23,11:22} print(m) print(type(m))
1
2
3
{'m1': 23, 11: 22}
集合是沒有重復(fù)元素的,例如 {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
同時這里的集合也是數(shù)學(xué)概念上的集合,可以使用子交并補(bǔ)的方式計(jì)算。
運(yùn)算符
運(yùn)算符分為
賦值運(yùn)算符 =
算術(shù)運(yùn)算符
位運(yùn)算符
比較運(yùn)算符
邏輯運(yùn)算符
運(yùn)算符的優(yōu)先級如下
總結(jié)
熟悉一種語言不需要事無巨細(xì)的了解每個函數(shù)的用法
快速的根據(jù)自己熟悉的語言去對比新學(xué)習(xí)的語言,找到不同
多看官方文檔,國內(nèi)的計(jì)算機(jī)書籍能不看就不看
參考資料
https://docs.python.org/zh-cn/3/
https://www.runoob.com/python/python-operators.html#ysf8
Python 數(shù)據(jù)結(jié)構(gòu) 面向?qū)ο缶幊?/p>
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。