Python程式控制語句用法例項分析
本文例項講述了Python程式控制語句用法。分享給大家供大家參考,具體如下:
1、換行
在Python中預設換行結束一個語句而不是使用分號,而如果我們的語句無法在一行放下需要換行時,就需要在行尾使用\表示這一行沒有結束。而在()、[]、{}內的逗號換行則不需要。
str='Hello'+\ ' World' print(str) #不會報錯,輸出:Hello World list1=[1,2,3,4] print(list1) #輸出:[1,4]
2、條件語句
python的程式碼塊通過縮排來指示,if條件判斷以:結束,並在下一行通過縮排表示一個程式碼塊的開始,如果不遵守縮排格式則會報錯。其格式如下:
print("請輸入你的成績") score=int(input()) if score>=90: print("優秀!") elif score<60: print("不及格!") else: print("良好")
3、迴圈語句
while:
i=0 count=0 while i<100: if i%3==0: count+=1 i+=1 print("100以內3的倍數有%d個"%count)
for可以迴圈遍歷元素集合中的每個元素,例如:
count=0 list1=[5,12,6,17,8,9,20] for i in list1: if i>10: count+=1 print("list1中大於10的數有%d個"%count)
通過enumerate可以訪問到集合的索引:
L = ['Adam','Lisa','Bart'] for index,name in enumerate(L): print (index+1,'-',name,end=' ') #輸出:1 - Adam 2 - Lisa 3 - Bart d = { 'Adam': 95,'Lisa': 85,'Bart': 59,'Paul': 74 } sum = 0.0 for k,v in d.items(): #通過items()訪問鍵值 sum = sum + v print k,':',v print 'average',sum/4 #輸出:Lisa : 85 Paul : 74 Adam : 95 Bart : 59 average : 78.25
輸出:1 - Adam 2 - Lisa 3 - Bart
列表推導式可以通過for迴圈作用於列表,生成列表元素
list1=[1,3] list2=[2,4] print([x*y for x in list1 for y in list2]) #輸出:[2,4,12] print([x for x in list1 if x>1]) #輸出:[2,3]
迴圈巢狀:
for i in range(1,10): #range表示從1到9的數 for j in range(1,i+1): print("%d × %d = %-5d"%(i,j,i*j),end=' ') print()
可以通過break跳出本層迴圈,continue跳過本次迴圈,pass語句表示佔位,沒有實際的功能。
例如輸出100以內的素數:
i=2 while i<100: flag=True j=2 while j<i: if i%j==0: flag=False break #當可以整除時,此時i不是素數,則不必繼續往下判斷,跳出本層迴圈 j+=1 if flag: print(i,end=' ') i+=1
4、函式
函式通過“def”關鍵字進行宣告,後接函式識別符號名稱和圓括號()
任何傳入引數和自變數必須放在圓括號中間,圓括號之間可以用於定義引數。可選引數以集合的方式放在必選引數之後,可以賦予預設值。已命名的引數需要賦值。
函式的第一行語句可以選擇性地使用文件字串,用於存放函式說明,通過函式名.__doc__輸出該資訊
return [表示式] 結束函式,返回一個值給呼叫方。不帶表示式的return相當於返回None。也可以返回一個元組(使用元組拆包可以有效返回多個值)
def myFunction(list1,int1=0,str1="default"): #函式定義,其中int1,str1為可選引數 "這是函式文件說明" list1.append("add") int1+=1; return list1,int1,str1 #返回元組 print(myFunction.__doc__) #輸出函式文件:這是函式文件說明 list1=[1,3] print(myFunction(list1)) #列印返回的元組:([1,'add'],1,'default') v1,v2,v3=myFunction(list1) #對返回結果進行拆包,並分別傳給三個變數 print(v1,v3) #分拆結果輸出:[1,'add','add'] 1 default
還可以傳入可變數量個引數*args,其實際上是一個元組tuple,通過遍歷可以取出其可變的引數
def average(*args): if len(args)==0: #若沒有引數傳入 return 0.0 else: sum=0.0 for i in args: #遍歷引數元組內容 sum+=i return sum/len(args) print(average()) #輸出:0.0 print(average(1,4) ) #輸出:2.4
5、全域性變數
全域性變數在函式之外宣告
區域性變數在函式內容宣告或是函式引數
如果想要修改全域性變數的值,必須在函式開始用global關鍵字進行宣告,否則會被認為是函式內新的區域性變數
var=5 def fun(): global var #函式內部宣告使用全域性變數var並對其進行修改 var=3 fun() print(var) #輸出:3,而不是5
6、類的定義與使用
類的第一行可選字串,輸出類幫助資訊
類屬性可以通過例項內或者外部通過類進行訪問
__init__()是類的建構函式,在建立一個類例項時自動呼叫,完成對例項屬性的初始化工作。類方法的第一個引數預設為self,代表例項本身,可以通過它訪問例項本身的屬性,在呼叫時不必傳給引數
class Student(object): "這是一個學生類" #類幫助資訊 studentCount=0 #類屬性 def __init__(self,age): #類建構函式 self.name=name #初始化屬性 self.age=age Student.studentCount+=1 def showCount(self): print("現在學生人數為:%d"%Student.studentCount) #訪問類屬性 def showStudent(self): #定義類方法 print("姓名:%s,年齡:%d"%(self.name,self.age)) print(Student.__doc__) #輸出類幫助資訊 s1=Student('小明',15) #類例項化 s2=Student('小李',23) s1.showCount() #呼叫類的函式 s2.showStudent()
7、檔案操作
通過python自帶的函式庫完成對檔案的讀寫,open()函式第一個引數為檔案路徑,第二個為開啟方式
with open("test.txt",'wt') as w_file: w_file.write("檔案寫入測試!") with open("test.txt",'rt') as r_file: str=r_file.read() print(str)
8、異常處理
在try後放入可能存在異常的函式體,通過except捕獲異常並執行相應操作,否則執行else後的語句,最後無論是否出現異常都執行finally後的語句
def except_fun(): try: 10/0 except: print("發生異常") else: print("正常執行") finally: print("程式結束") except_fun() #輸出: #發生異常 #程式結束
9、呼叫外部函式庫
利用python強大的外部資源可以非常便捷地完成一些操作
import random #匯入外部庫 from time import time #from 外部庫 import 某個函式 import numpy as np #匯入庫並重命名 import matplotlib.pyplot as plt rdm=random.randint(1,100) #在1到100之間產生隨機數 print(rdm) start=time() #產生當前的時間函式 print(start) x=np.linspace(1,10,100) #在1到10之間產生100個等差數並返回列表x y=2*x+1 plt.figure() #繪製圖片 plt.scatter(x,y) #將列表資料x、y繪製到圖片,結果為一條直線 print("程式執行時間:%f"%(time()-start)) #通過time函式計算程式的執行時間
10、獲取幫助
dir()可以列印某個型別的所有函式,help()可以列印某個類的幫助資訊
dir(int) help(list)
更多關於Python相關內容感興趣的讀者可檢視本站專題:《Python入門與進階經典教程》、《Python資料結構與演算法教程》、《Python函式使用技巧總結》、《Python字串操作技巧彙總》及《Python檔案與目錄操作技巧彙總》
希望本文所述對大家Python程式設計有所幫助。