溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python學(xué)習(xí)的十九大語法分別是哪些

發(fā)布時(shí)間:2021-10-26 10:50:22 來源:億速云 閱讀:92 作者:柒染 欄目:編程語言

Python學(xué)習(xí)的十九大語法分別是哪些,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

Python這兩年可謂是大火,很多新手選擇從Python入手編程界,確實(shí)沒錯(cuò),Python簡(jiǎn)單易學(xué),代碼優(yōu)雅,入門較其他語言簡(jiǎn)單,但它也博大精深。如果你也是想從Python入門編程界,那這篇19個(gè)語法的總結(jié)你可要仔細(xì)閱讀了!

Python學(xué)習(xí)的十九大語法

Python的特點(diǎn)

  • 解釋型語言,無需編譯即可運(yùn)行

  • 提供了交互式命令行

  • 基于對(duì)象的編程思想

  • 跨平臺(tái)和良好的兼容性,在Windows、Mac、Linux上都可運(yùn)行

  • 簡(jiǎn)單好用而且功能強(qiáng)大

01 中文編碼

很多同學(xué)在打開數(shù)據(jù)時(shí)會(huì)遇上亂碼問題,其原因是字符集的編碼問題。Linux和Mac默認(rèn)的編碼集是UTF8,而Windows則是ASCII。如果數(shù)據(jù)編碼的字符集,和你使用Python進(jìn)行處理時(shí)所用的字符集不同,則會(huì)出現(xiàn)亂碼問題。

另外,我個(gè)人的習(xí)慣是在Python代碼的頭部加入以下內(nèi)容,其中第二行聲明了使用UTF8字符集。

#!/usr/bin/env python# coding:utf8

02 變量

Python中的變量可以看作是一個(gè)個(gè)容器,里面存放著我們需要使用到的值。

Python對(duì)變量名的要求和其他語言一樣:可以包括英文、數(shù)字以及下劃線,但不能以數(shù)字開頭,區(qū)分大小寫。當(dāng)然我推薦,變量名用純英文就很好,并且取一些有意義的名稱,便于自己理解每個(gè)變量的作用。

Python是一門弱類型的語言,在使用變量時(shí)無需聲明其類型。Python中的變量包括以下幾類:數(shù)值、字符串、列表、元組、字典。

03 數(shù)值

數(shù)值包括整型和浮點(diǎn)型,分別對(duì)應(yīng)整數(shù)和浮點(diǎn)數(shù),后者精度更高。

# 整型a = 1# 浮點(diǎn)型b = 2.1print a, b

04 字符串

字符串也就是我們經(jīng)常接觸到的文本,可以往里面放任意長(zhǎng)度的內(nèi)容,用單引號(hào)或雙引號(hào)括起來。應(yīng)當(dāng)注意,中文以及中文符號(hào)只能出現(xiàn)在字符串內(nèi),如果在下面第三行中使用了中文輸入法的逗號(hào) ,Python將報(bào)錯(cuò)。

c = Hello d = 你好 print c, d

使用 + 可以拼接兩個(gè)字符串。

print c + d

使用 len() 可以得到字符串的長(zhǎng)度。

print len( Hello World )

使用切片可以訪問字符串中的某個(gè)字符或某個(gè)片段。

# 位置下標(biāo)從0開始c = Hello World # 打印結(jié)果為H,下標(biāo)為0表示第一個(gè)字符print c[0]

# 打印結(jié)果為d,下標(biāo)為負(fù)數(shù)表示從后往前數(shù)# 所以-1表示倒數(shù)第一個(gè)字符print c[-1]

# 使用:返回一個(gè)片段,冒號(hào)前后分別為開始下標(biāo)和結(jié)束下標(biāo)# 包括開始下標(biāo),但不包括結(jié)束下標(biāo)

# 因此c[1:5]表示,返回下標(biāo)從1到4的片段,即第二個(gè)到第五個(gè)字符print c[1:5]

# 冒號(hào)前后的下標(biāo)同樣可以使用負(fù)數(shù)

# 或者不提供,表示從最左端開始或一直到最右端print c[1:-1], c[:5], c[3:]

Python學(xué)習(xí)的十九大語法分別是哪些

05 列表

列表好比一條隊(duì)伍,里面依次存放著多個(gè)變量。列表和字符串類似,但字符串中的每個(gè)元素都是字符,而列表中的每個(gè)元素可以是任意類型的變量。

# 使用[]定義一個(gè)空列表,使用append()向列表尾部添加一個(gè)元素
# 如果要添加到首部,就用prepend()好了a = []a.append(1)a.append(2.1)a.append( Hello )print a

使用 len() 可以獲得列表的長(zhǎng)度。

print len(a)

列表元素的按下標(biāo)訪問和賦值等操作,和字符串都是類似的。

print a[1], a[-1]a[1] = 100print a

使用 del 刪除列表中的某個(gè)元素。

del a[0]print a

06 元組

元組和列表類似,唯一的不同是元組中的元素在初始化之后不能再更改,因此可以理解成一個(gè)只讀的變量。

# 使用()定義一個(gè)元組a = (1, 2.1, Hello )# 嘗試修改元組中的元素會(huì)報(bào)錯(cuò)a[0] = 100

07 字典

字典是一種極為重要的變量類型,使用一個(gè)key來訪問相應(yīng)的value,即一種鍵值對(duì)的數(shù)據(jù)形式。

# 使用{}定義一個(gè)字典a = {}# 使用key來賦值valuea[ k1 ] = 1a[ k2 ] = 2.1a[ k3 ] = Hello

所以能夠總結(jié)出字典和列表的不同。列表中的元素是有序?qū)Φ鹊?,所以是用下?biāo)來賦值和訪問,而字典中的元素是無序的,所以是用key來操作相應(yīng)value。

# 也可以在定義字典和列表的同時(shí)進(jìn)行賦值li = [1, 2.1, Hello ]di = { k1 : 1, k2 : 2.1, k3 : Hello }

使用 has_key() 判斷字典中是否有某個(gè)key。

print di.has_key( k4 )

如果訪問不存在的key,Python將會(huì)報(bào)錯(cuò)。在賦值的時(shí)候,如果key已經(jīng)存在,則會(huì)用新的value覆蓋已有的value。

08 注釋

被注釋的代碼將不會(huì)運(yùn)行,可以看作是寫給自己和其他程序猿閱讀的一些筆記和說明,提高代碼可讀性。

# 這里是單行注釋 這里是很多行注釋

在Sublime中,選中需要注釋的內(nèi)容,按Ctrl+/即可完成注釋。

09 保留字符

在Python中,有一些字符串具有某些特定功能,如 import 、 class 等。我們?cè)谶x擇變量名時(shí),應(yīng)注意避開這些保留字符。

# 以下變量賦值將報(bào)錯(cuò)import = 1

10 行和縮進(jìn)

在Python中,代碼塊的邊界不是通過大括號(hào)等符號(hào)進(jìn)行顯式劃分,而是通過行的縮進(jìn)實(shí)現(xiàn)的。連續(xù)相同縮進(jìn)水平的代碼處于同一個(gè)代碼塊,在使用 for 、 while 、 if 、 try 等語法時(shí)需要注意每行代碼的縮進(jìn)。

11 運(yùn)算符

運(yùn)算符的作用是根據(jù)已有的變量生成新的變量,主要有以下幾種:

  • 算術(shù)運(yùn)算符:+,-,*,/,%,即加、減、乘、除、取余

  • 比較運(yùn)算符:==,!=,>,<,>=,<=,即等于、不等于、大于、小于、大于等于、小于等于

  • 賦值運(yùn)算符:=,+=,-=,*=,/=,%=,即賦值、加賦值、減賦值、乘賦值、除賦值、取余賦值

  • 邏輯運(yùn)算符:and,or,not,即與、或、非

a = 1b = 2print a + bprint a == b# 等價(jià)于 a = a + 3a += 3print ac = Trued = Falseprint c and d

12 條件

在寫代碼的時(shí)候,往往需要根據(jù)某些條件進(jìn)行判斷,并根據(jù)判斷結(jié)果執(zhí)行不同的分支代碼。

a = 1# 單個(gè)條件if a == 1: print 11111# 處理?xiàng)l件不成立的分支if 
a == 2: print 22222else: print 33333# 多個(gè)條件,加多少個(gè)都可以if 
a == 1: print 11111elif a == 2: print 22222else: print 33333

需要注意的是,但凡出現(xiàn)了 if 和 elif ,就需要加上相應(yīng)的條件判斷,并且注意代碼的縮進(jìn)。在Sublime中輸入 if 會(huì)出現(xiàn)相應(yīng)的提示,可以方便地補(bǔ)全代碼,在換行時(shí)光標(biāo)也會(huì)自動(dòng)跳到合適的縮進(jìn)處。

13 循環(huán)

如果需要打印從1到100的100個(gè)數(shù),肯定不會(huì)傻傻地寫100行print代碼,而是會(huì)用循環(huán)來處理類似的重復(fù)性工作。

14 while 循環(huán)

while 循環(huán)的思想是,只要某一條件成立,就不斷執(zhí)行循環(huán)體里的代碼,直到條件不再成立。

flag = 1while flag < 10: print flag 
# 一定要記得在循環(huán)體里修改條件變量 
# 否則可能導(dǎo)致死循環(huán) flag += 1

15 for 循環(huán)

for 循環(huán)的循環(huán)次數(shù)一般是事先預(yù)知的,將一個(gè)標(biāo)志變量從某個(gè)起始值迭代到某個(gè)終止值后即結(jié)束。

# x從0開始,一直到9結(jié)束for x in xrange(0, 10): print x

可以用 for 循環(huán)方便地遍歷列表和字典。

li = [1, 2.1, Hello ]dict = { k1 : 1, k2 : 2.1, k3 : Hello }
# 遍歷列表,這里的item只是一個(gè)臨時(shí)變量,取別的名稱也行for item in li: print item
# 遍歷字典的全部key,這里的key也只是一個(gè)臨時(shí)變量,名稱不重要for key in dict.keys(): print key
# 遍歷字典的全部value,這里的value也只是一個(gè)臨時(shí)變量,名稱不重要for value in dict.values(): print value# 同時(shí)遍歷key和valuefor key, value in dict.items(): print key, value

16 循環(huán)控制

循環(huán)控制主要包括三種: pass 、 continue 、 break 。

pass 表示什么也不做,只是占一行代碼的位置;continue 表示立即退出本輪循環(huán),繼續(xù)執(zhí)行后續(xù)輪循環(huán);break 表示立即推出循環(huán),后續(xù)循環(huán)也不再執(zhí)行。

for x in xrange(0, 10): if x == 5: pass else: print xfor x in xrange(0, 10): if x == 5: continue print xfor x in xrange(0, 10): if x == 5: break print x

17 時(shí)間

在處理數(shù)據(jù)時(shí),很多地方都會(huì)涉及到時(shí)間,例如數(shù)據(jù)產(chǎn)生的時(shí)間。先介紹一下時(shí)間戳的概念,時(shí)間戳指的是從1970年1月1日0時(shí)0分0秒開始,到某一時(shí)刻所經(jīng)歷的秒數(shù),可以是整數(shù)或者小數(shù),后者的精度更高。

為什么需要時(shí)間戳這樣的一個(gè)概念?因?yàn)閷?duì)于同一個(gè)時(shí)刻,不同人的描述可能不同,畢竟文本的形式千變?nèi)f化,而時(shí)間戳使得時(shí)間的表達(dá)得到了統(tǒng)一,每個(gè)時(shí)刻只能用唯一的整數(shù)或浮點(diǎn)數(shù)來表示,同時(shí)也便于計(jì)算時(shí)間差這樣的處理。

# 來看一下當(dāng)前時(shí)刻的時(shí)間戳吧import timet = time.time()print t, type(t)

關(guān)于時(shí)間戳,最常用的處理便是時(shí)間戳和時(shí)間文本之間的轉(zhuǎn)換,例如將 2016年10月1日 10時(shí)0分0秒 轉(zhuǎn)為時(shí)間戳。

import time# 時(shí)間文本轉(zhuǎn)時(shí)間戳,精確到秒a = 2016-10-01 10:00:00 a = int(time.mktime(time.strptime(a, %Y-%m-%d %H:%M:%S )))print a# 時(shí)間戳轉(zhuǎn)時(shí)間文本b = int(time.time())b = time.strftime( %Y-%m-%d %H:%M:%S , time.localtime(b))print b

其中, %Y 、 %m 等都是時(shí)間字段,前者表示四位的年份,后者表示兩位的月份。

文件

文件操作包括向文件中寫內(nèi)容,以及從文件中讀內(nèi)容,使用 open() 打開一個(gè)文件。

# 寫文件# 重新寫模式,打開文件時(shí)會(huì)將文件內(nèi)容清空fw = open( data.txt , w )# 追加寫模式,打開文件后保留原始內(nèi)容,繼續(xù)寫入for x in xrange(0, 10): # 將整數(shù)轉(zhuǎn)成文本再寫入 fw.write(str(x)) # 也可以每次寫入之后換行,
為轉(zhuǎn)義字符,表示換行 # fw.write(str(x) + 
 )fw.close()# 讀文件fr = open( data.txt , r )# 一行一行地讀,line只是個(gè)臨時(shí)變量,取別的名稱也行for line in fr: print line # 如果每行后面有換行,可以將換行符去掉,使內(nèi)容更緊湊 # strip()可以去掉字符串兩端的空白字符 # print line.strip()fr.close()

18 異常

Python代碼中可能會(huì)出現(xiàn)一些可以預(yù)知的問題,例如字典訪問的key不存在。
如果不加處理,發(fā)生問題的時(shí)候Python便會(huì)報(bào)錯(cuò)并退出,可能之前跑了很久又要重頭再來。因此,我們需要對(duì)可能出現(xiàn)的異常進(jìn)行捕捉和處理。異常的結(jié)構(gòu)由 try 、 except 、 else 、 finally 四部分組成。
try: # 嘗試執(zhí)行這些代碼 print 1 / 0except Exception, e: # 如果出現(xiàn)異常就進(jìn)行處理 # e為出現(xiàn)的異常類型 print eelse: # try里的代碼沒有出錯(cuò) # 可以執(zhí)行后續(xù)工作了 print 沒有出錯(cuò) finally: # 無論是否出錯(cuò),都會(huì)執(zhí)行的代碼 print 一定會(huì)執(zhí)行

19 函數(shù)

函數(shù)的作用是代碼模塊化,將可重用的代碼封裝成一個(gè)函數(shù),這樣在需要使用的時(shí)候就只需調(diào)用寫好的函數(shù)即可,而不用重新寫一遍代碼。

函數(shù)的使用包括兩個(gè)部分,函數(shù)的定義和函數(shù)的調(diào)用。除此之外,函數(shù)可以有一個(gè)或多個(gè)參數(shù),參數(shù)之間以逗號(hào)分開,為函數(shù)的功能提供更多的靈活性。

# 定義函數(shù)def hello(name1, name2): print Hello + name1 + + name2# 調(diào)用函數(shù)hello( Python , JavaScript )

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI