您好,登錄后才能下訂單哦!
本文實例講述了Python程序控制語句用法。分享給大家供大家參考,具體如下:
在Python中默認換行結束一個語句而不是使用分號,而如果我們的語句無法在一行放下需要換行時,就需要在行尾使用\表示這一行沒有結束。而在()、[]、{}內的逗號換行則不需要。
str='Hello'+\ ' World' print(str) #不會報錯,輸出:Hello World list1=[1,2, 3,4] print(list1) #輸出:[1, 2, 3, 4]
python的代碼塊通過縮進來指示,if條件判斷以:結束,并在下一行通過縮進表示一個代碼塊的開始,如果不遵守縮進格式則會報錯。其格式如下:
print("請輸入你的成績") score=int(input()) if score>=90: print("優秀!") elif score<60: print("不及格!") else: print("良好")
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,2,3] list2=[2,3,4] print([x*y for x in list1 for y in list2]) #輸出:[2, 3, 4, 4, 6, 8, 6, 9, 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
函數通過“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,2,3] print(myFunction(list1)) #打印返回的元組:([1, 2, 3, 'add'], 1, 'default') v1,v2,v3=myFunction(list1) #對返回結果進行拆包,并分別傳給三個變量 print(v1,v2,v3) #分拆結果輸出:[1, 2, 3, '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, 2, 2, 3, 4) ) #輸出:2.4
全局變量在函數之外聲明
局部變量在函數內容聲明或是函數參數
如果想要修改全局變量的值,必須在函數開始用global關鍵字進行聲明,否則會被認為是函數內新的局部變量
var=5 def fun(): global var #函數內部聲明使用全局變量var并對其進行修改 var=3 fun() print(var) #輸出:3,而不是5
類的第一行可選字符串,輸出類幫助信息
類屬性可以通過實例內或者外部通過類進行訪問
__init__()是類的構造函數,在創建一個類實例時自動調用,完成對實例屬性的初始化工作。類方法的第一個參數默認為self,代表實例本身,可以通過它訪問實例本身的屬性,在調用時不必傳給參數
class Student(object): "這是一個學生類" #類幫助信息 studentCount=0 #類屬性 def __init__(self,name,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()
通過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)
在try后放入可能存在異常的函數體,通過except捕獲異常并執行相應操作,否則執行else后的語句,最后無論是否出現異常都執行finally后的語句
def except_fun(): try: 10/0 except: print("發生異常") else: print("正常執行") finally: print("程序結束") except_fun() #輸出: #發生異常 #程序結束
利用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函數計算程序的運行時間
dir()可以打印某個類型的所有函數,help()可以打印某個類的幫助信息
dir(int) help(list)
更多關于Python相關內容感興趣的讀者可查看本站專題:《Python入門與進階經典教程》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。