Python 基础:分分钟入门
Python和Pythonic
Python是一門計算機語言(這不是廢話么),簡單易學(xué),上手容易,深入有一定困難。為了逼格,還是給你們堆一些名詞吧:動態(tài)語言、解釋型、網(wǎng)絡(luò)爬蟲、數(shù)據(jù)處理、機器學(xué)習(xí)、Web開發(fā)、等等等等。Python目前分為2.x和3.x兩個版本,與其它語言不一樣的是,它的這兩個版本是不兼容的,雖然會其中一個就容易上手另一個,但是鑒于公司目前幾乎全是用Python2.7,建議同事們也可以從2.x版本開始,如果沒有歷史遺留問題,建議初學(xué)者直接上手Python3。
Pythonic指的是按照Python推薦的規(guī)范,干凈美觀、可讀性強的逼格滿滿到代碼風(fēng)格,比如多使用Python內(nèi)置的數(shù)據(jù)結(jié)構(gòu),不要重復(fù)造輪子。簡單來講,你可以在Python解釋環(huán)境里輸入import this了解一下Python之禪。Python的代碼風(fēng)格上,如果團隊有自己的風(fēng)格則按照自己的風(fēng)格,否則,比較推薦的是PEP8或Google Code Style。關(guān)于PEP8規(guī)范,鏈接在這里(https://www.python.org/dev/peps/pep-0008/)。
開發(fā)環(huán)境搭建
在常見的*inx系統(tǒng)上,默認都安裝了Python解釋器,你可以直接在終端輸入python進入默認的環(huán)境。在Windows系統(tǒng)上,你需要去Python官網(wǎng)下載Python的安裝包,安裝之后可以在“所有程序”中找到“IDLE”,也可以在cmd中通過輸入python進入解釋器環(huán)境。
?
對于Python常用的IDE(集成開發(fā)環(huán)境),推薦使用PyCharm,如果土豪請購買正版,如果不是土豪又有情懷,請使用社區(qū)版(免費),如果既不土豪又沒有情懷,就用盜版吧(不推薦)。
Python之所以非常流行,離不開它千千萬萬的第三方庫,你可以將第三方庫理解為我寫了一個牛X的功能,發(fā)布出來之后你可以直接使用。安裝第三方庫的話,推薦使用pip,在Ubuntu上,你可以通過apt-get install python-pip安裝。
hello, world.
常見情況下,Python代碼可以通過兩種形式運行:一是直接在剛才所講的解釋環(huán)境下(輸入python命令后進入的地方)一行一行的執(zhí)行,或者也可以保存到一個.py的文件中,在終端輸入python 文件名來執(zhí)行。比如新建一個test.py,文件內(nèi)容為print 'hello, world.',在終端輸入python test.py,即可輸出hello, world.。
注意??:Python中沒有使用花括號{}來表示代碼間的層級關(guān)系而是使用縮進,這樣的好處是在語法層面上限制了不好的代碼風(fēng)格,但是初學(xué)者容易混淆。
變量、基礎(chǔ)數(shù)據(jù)類型
變量
Python中變量不需要聲明,你可以通過直接賦值的方式使用變量:
a = 1
b = True
c = 1.0
a = 3+2j
在Python中,你可以在給一個變量賦值為一種類型之后重新為其賦值為新的類型(如上面代碼第1、4行)。
基礎(chǔ)數(shù)據(jù)類型
Python中的數(shù)字有:整型、長整型、浮點型、布爾型、復(fù)數(shù)。
-
整形:int,常見的整數(shù)(正數(shù)/負數(shù)/0),通過sys.maxint即可查看當前平臺上最大的整型的值。
-
長整型:long,比整型最大的值還大或者比整型最小的值還小的整數(shù)。注意:Python中長整型沒有大小限制,你的內(nèi)存有多大,它就能表示多大。
-
浮點型:float,即小數(shù)。
-
布爾型:bool,常見形式為True, False,表示邏輯真和邏輯假,其實背后的實現(xiàn)是數(shù)字1和0.
-
復(fù)數(shù):complex,Python是為數(shù)不多語法層面上支持復(fù)數(shù)的語言,表現(xiàn)為形如1+2j的形式。可以直接支持兩個復(fù)數(shù)的運算。
Python中的所有數(shù)據(jù)類型都是對象。你可以通過type()函數(shù)查看一個變量的類型。
Python中字符串有4種表現(xiàn)形式:單引號、雙引號、三引號:
string1 = 'this is a str'
string2 = "this is a str"
string3 = '''this is a str
這里還是string3的范圍'''
string4 = """this is a str"""
其中,第3/4種字符串表現(xiàn)形式都是三引號引起來的。如果在字符串的引號之前加上一個u,則表示這是一個unicode字符串,如果加上r,則表示這是一個原始字符串?,這兩種類型,對于初學(xué)者暫不討論。值得注意的是,Python中沒有C-Like語言中的字符類型。
?
運算符、控制語句
運算符
Python中沒有類似于C/C++/Java的自增自減運算符,因為在Python中,數(shù)字是一種不可變類型(immutable),對數(shù)字的操作都會產(chǎn)生新的對象而不是修改原來的對象。但是i = i + 1一樣可以寫為i += 1。
注意:Python2.5以后的除法為地板除,即5/2=2而不是5/2 = 2.5。
Python常見的邏輯運算符為:
-
!=, <>:不等于,表示兩邊的值不相等,推薦使用前一種。1 != 2。
-
==:等于,表示兩邊的值相等。2 == 2。
-
and:邏輯與,如果兩邊的值都為True則整個值為True,反之為False。1==1 and 2==2。
-
or:邏輯或,如果兩邊有一個值True則整個值為True,反之為False。1==2 or 2==2。
-
not:邏輯非,如果值為True,則結(jié)果為False。not 2==1。
控制語句
條件語句:
Python中的條件語句只有if-elif-else,沒有switch-case,但是有經(jīng)驗的開發(fā)者通常使用map這一結(jié)構(gòu)來達到比switch-case更加優(yōu)雅,更加Pythonic的實現(xiàn),這個后續(xù)再說。
if條件1:
語句塊1
elif條件2:
語句塊2
else:
語句塊3
elif類似于其它語言中的else if。
循環(huán)語句:
Python中有兩種方式表達循環(huán)語句:
while 循環(huán):
while條件:
語句塊
for循環(huán):
for變量in集合:
語句塊
值得注意的是Python中沒有C-Like語言里的for(int i=0; i<10; i++)的語法,不過可以使用xrange或者range函數(shù)實現(xiàn)同樣的效果。前一個函數(shù)返回一個生成器,后一個函數(shù)返回list,一般推薦使用前一個,至于這兩個函數(shù)的異同,后面有時間細聊。
集合
Python中常見的集合類型有:list,tuple,set,dict。
list
list表達的是一列數(shù)據(jù)的集合,列表中的元素可以增加、刪除、查找等操作:
In[1]: l = ['this','is','a','list']# 初始化一個list
In[2]: type(l)
Out[2]: list
In[3]: l.index('is')#查找元素
Out[3]: 1
In[4]: l.append('new item')#新增元素
In[5]: l
Out[5]: ['this','is','a','list','new item']
In[6]: l.reverse()#反轉(zhuǎn)列表
In[7]: l
Out[7]: ['new item','list','a','is','this']
In[8]: l.remove('is')# 刪除元素
In[9]: l
Out[9]: ['new item','list','a','this']
tuple
tuple類似于list,同樣表示一組數(shù)據(jù)的集合,不同的是,tuple是寫保護的,即:tuple不可以對其元素做任何修改操作(新增、刪除等):
In[1]: t = (1,2,3)# 初始化
In[2]: t
Out[2]: (1,2,3)
In[3]: type(t)
Out[3]: tuple
set
set表示一個不重復(fù)元素的集合,值得注意的是:set是無序的。
In[1]: s = {'this','is','a','a','set'}# 初始化
In[2]: s
Out[2]: {'a','is','set','this'}
In[3]: type(s)
Out[3]: set
In[4]: s.add('new item')# 新增元素
In[5]: s
Out[5]: {'a','is','new item','set','this'}
In[6]: s.remove('a')#刪除元素
In[7]: s
Out[7]: {'is','new item','set','this'}
dict
dict表示一組數(shù)據(jù)的對應(yīng)關(guān)系,與set一樣,dict是無序的(你可以通過collections中的OrderDict來達到有序)。同時,對于初學(xué)者,dict與set的聲明方式容易混淆:
In[1]: d = {'a': 'A','b': 'B'}# 初始化
In[2]: d
Out[2]: {'a': 'A','b': 'B'}
In[3]: d['a']
Out[3]: 'A'
In[4]: d['c'] = 'C'# 新增元素
In[5]: d
Out[5]: {'a': 'A','b': 'B','c': 'C'}
In[6]: deld['a']#刪除元素
In[7]: d
Out[7]: {'b': 'B','c': 'C'}
函數(shù)(初步)
在Python中聲明函數(shù)的方式如下:
def add(num1,num2):
returnnum1 + num2
通其它語言一樣,你可以在函數(shù)中通過return返回值。不同的是,Python中函數(shù)可以有多個返回值,比如下面的函數(shù),返回了兩個數(shù)的和以及差:
def calc(n1,n2):
returnn1 + n2,n1 *n2
add,sub = calc(5,1)
print add,sub# 6 4
其實這里并不是真的返回了兩個值,而是將返回值組裝成一個tuple再返回。
小結(jié)
Python中最最最基礎(chǔ)的部分差不多就是這些了,后面會繼續(xù)分享一些Pythonic的Python代碼寫法。
轉(zhuǎn)載于:https://www.cnblogs.com/qqq1622479435/p/9405004.html
總結(jié)
以上是生活随笔為你收集整理的Python 基础:分分钟入门的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 高德地图 JS API - 根据地名实现
- 下一篇: Python全栈开发 day3