Python程序控制語(yǔ)句用法實(shí)例分析
本文實(shí)例講述了Python程序控制語(yǔ)句用法。分享給大家供大家參考,具體如下:
1、換行
在Python中默認(rèn)換行結(jié)束一個(gè)語(yǔ)句而不是使用分號(hào),而如果我們的語(yǔ)句無(wú)法在一行放下需要換行時(shí),就需要在行尾使用\表示這一行沒(méi)有結(jié)束。而在()、[]、{}內(nèi)的逗號(hào)換行則不需要。
str='Hello'+\ ' World' print(str) #不會(huì)報(bào)錯(cuò),輸出:Hello World list1=[1,2, 3,4] print(list1) #輸出:[1, 2, 3, 4]
2、條件語(yǔ)句
python的代碼塊通過(guò)縮進(jìn)來(lái)指示,if條件判斷以:結(jié)束,并在下一行通過(guò)縮進(jìn)表示一個(gè)代碼塊的開(kāi)始,如果不遵守縮進(jìn)格式則會(huì)報(bào)錯(cuò)。其格式如下:

print("請(qǐng)輸入你的成績(jī)")
score=int(input())
if score>=90:
print("優(yōu)秀!")
elif score<60:
print("不及格!")
else:
print("良好")
3、循環(huán)語(yǔ)句
while:
i=0
count=0
while i<100:
if i%3==0:
count+=1
i+=1
print("100以內(nèi)3的倍數(shù)有%d個(gè)"%count)
for可以循環(huán)遍歷元素集合中的每個(gè)元素,例如:
count=0
list1=[5,12,6,17,8,9,20]
for i in list1:
if i>10:
count+=1
print("list1中大于10的數(shù)有%d個(gè)"%count)
通過(guò)enumerate可以訪問(wèn)到集合的索引:
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(): #通過(guò)items()訪問(wèn)鍵值
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
列表推導(dǎo)式可以通過(guò)for循環(huán)作用于列表,生成列表元素
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]
循環(huán)嵌套:
for i in range(1,10): #range表示從1到9的數(shù)
for j in range(1,i+1):
print("%d × %d = %-5d"%(i,j,i*j),end=' ')
print()
可以通過(guò)break跳出本層循環(huán),continue跳過(guò)本次循環(huán),pass語(yǔ)句表示占位,沒(méi)有實(shí)際的功能。
例如輸出100以內(nèi)的素?cái)?shù):
i=2
while i<100:
flag=True
j=2
while j<i:
if i%j==0:
flag=False
break #當(dāng)可以整除時(shí),此時(shí)i不是素?cái)?shù),則不必繼續(xù)往下判斷,跳出本層循環(huán)
j+=1
if flag:
print(i,end=' ')
i+=1
4、函數(shù)
函數(shù)通過(guò)“def”關(guān)鍵字進(jìn)行聲明,后接函數(shù)標(biāo)識(shí)符名稱和圓括號(hào)()
任何傳入?yún)?shù)和自變量必須放在圓括號(hào)中間,圓括號(hào)之間可以用于定義參數(shù)??蛇x參數(shù)以集合的方式放在必選參數(shù)之后,可以賦予默認(rèn)值。已命名的參數(shù)需要賦值。
函數(shù)的第一行語(yǔ)句可以選擇性地使用文檔字符串,用于存放函數(shù)說(shuō)明,通過(guò)函數(shù)名.__doc__輸出該信息
return [表達(dá)式] 結(jié)束函數(shù),返回一個(gè)值給調(diào)用方。不帶表達(dá)式的return相當(dāng)于返回None。也可以返回一個(gè)元組(使用元組拆包可以有效返回多個(gè)值)
def myFunction(list1,int1=0,str1="default"): #函數(shù)定義,其中int1,str1為可選參數(shù)
"這是函數(shù)文檔說(shuō)明"
list1.append("add")
int1+=1;
return list1,int1,str1 #返回元組
print(myFunction.__doc__) #輸出函數(shù)文檔:這是函數(shù)文檔說(shuō)明
list1=[1,2,3]
print(myFunction(list1)) #打印返回的元組:([1, 2, 3, 'add'], 1, 'default')
v1,v2,v3=myFunction(list1) #對(duì)返回結(jié)果進(jìn)行拆包,并分別傳給三個(gè)變量
print(v1,v2,v3) #分拆結(jié)果輸出:[1, 2, 3, 'add', 'add'] 1 default
還可以傳入可變數(shù)量個(gè)參數(shù)*args,其實(shí)際上是一個(gè)元組tuple,通過(guò)遍歷可以取出其可變的參數(shù)
def average(*args):
if len(args)==0: #若沒(méi)有參數(shù)傳入
return 0.0
else:
sum=0.0
for i in args: #遍歷參數(shù)元組內(nèi)容
sum+=i
return sum/len(args)
print(average()) #輸出:0.0
print(average(1, 2, 2, 3, 4) ) #輸出:2.4
5、全局變量
全局變量在函數(shù)之外聲明
局部變量在函數(shù)內(nèi)容聲明或是函數(shù)參數(shù)
如果想要修改全局變量的值,必須在函數(shù)開(kāi)始用global關(guān)鍵字進(jìn)行聲明,否則會(huì)被認(rèn)為是函數(shù)內(nèi)新的局部變量
var=5 def fun(): global var #函數(shù)內(nèi)部聲明使用全局變量var并對(duì)其進(jìn)行修改 var=3 fun() print(var) #輸出:3,而不是5
6、類的定義與使用
類的第一行可選字符串,輸出類幫助信息
類屬性可以通過(guò)實(shí)例內(nèi)或者外部通過(guò)類進(jìn)行訪問(wèn)
__init__()是類的構(gòu)造函數(shù),在創(chuàng)建一個(gè)類實(shí)例時(shí)自動(dòng)調(diào)用,完成對(duì)實(shí)例屬性的初始化工作。類方法的第一個(gè)參數(shù)默認(rèn)為self,代表實(shí)例本身,可以通過(guò)它訪問(wèn)實(shí)例本身的屬性,在調(diào)用時(shí)不必傳給參數(shù)
class Student(object):
"這是一個(gè)學(xué)生類" #類幫助信息
studentCount=0 #類屬性
def __init__(self,name,age): #類構(gòu)造函數(shù)
self.name=name #初始化屬性
self.age=age
Student.studentCount+=1
def showCount(self):
print("現(xiàn)在學(xué)生人數(shù)為:%d"%Student.studentCount) #訪問(wèn)類屬性
def showStudent(self): #定義類方法
print("姓名:%s,年齡:%d"%(self.name,self.age))
print(Student.__doc__) #輸出類幫助信息
s1=Student('小明',15) #類實(shí)例化
s2=Student('小李',23)
s1.showCount() #調(diào)用類的函數(shù)
s2.showStudent()
7、文件操作
通過(guò)python自帶的函數(shù)庫(kù)完成對(duì)文件的讀寫(xiě),open()函數(shù)第一個(gè)參數(shù)為文件路徑,第二個(gè)為打開(kāi)方式
with open("test.txt",'wt') as w_file:
w_file.write("文件寫(xiě)入測(cè)試!")
with open("test.txt",'rt') as r_file:
str=r_file.read()
print(str)
8、異常處理
在try后放入可能存在異常的函數(shù)體,通過(guò)except捕獲異常并執(zhí)行相應(yīng)操作,否則執(zhí)行else后的語(yǔ)句,最后無(wú)論是否出現(xiàn)異常都執(zhí)行finally后的語(yǔ)句
def except_fun():
try:
10/0
except:
print("發(fā)生異常")
else:
print("正常執(zhí)行")
finally:
print("程序結(jié)束")
except_fun()
#輸出:
#發(fā)生異常
#程序結(jié)束
9、調(diào)用外部函數(shù)庫(kù)
利用python強(qiáng)大的外部資源可以非常便捷地完成一些操作
import random #導(dǎo)入外部庫(kù)
from time import time #from 外部庫(kù) import 某個(gè)函數(shù)
import numpy as np #導(dǎo)入庫(kù)并重命名
import matplotlib.pyplot as plt
rdm=random.randint(1,100) #在1到100之間產(chǎn)生隨機(jī)數(shù)
print(rdm)
start=time() #產(chǎn)生當(dāng)前的時(shí)間函數(shù)
print(start)
x=np.linspace(1,10,100) #在1到10之間產(chǎn)生100個(gè)等差數(shù)并返回列表x
y=2*x+1
plt.figure() #繪制圖片
plt.scatter(x,y) #將列表數(shù)據(jù)x、y繪制到圖片,結(jié)果為一條直線
print("程序運(yùn)行時(shí)間:%f"%(time()-start)) #通過(guò)time函數(shù)計(jì)算程序的運(yùn)行時(shí)間
10、獲取幫助
dir()可以打印某個(gè)類型的所有函數(shù),help()可以打印某個(gè)類的幫助信息
dir(int) help(list)
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python入門(mén)與進(jìn)階經(jīng)典教程》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
Python SMTP發(fā)送郵件遇到的一些問(wèn)題及解決辦法
今天小編就為大家分享一篇關(guān)于Python SMTP發(fā)送郵件遇到的一些問(wèn)題及解決辦法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10
3分鐘學(xué)會(huì)一個(gè)Python小技巧
Python時(shí)間日期轉(zhuǎn)換在開(kāi)發(fā)中是非常高頻的一個(gè)操作,你經(jīng)常會(huì)遇到需要將字符串轉(zhuǎn)換成 datetime 或者是反過(guò)來(lái)將 datetime 轉(zhuǎn)換成字符串,今天小編給大家?guī)?lái)了一個(gè)Python小技巧,感興趣的朋友一起看看吧2018-11-11
解決pip install的時(shí)候報(bào)錯(cuò)timed out的問(wèn)題
今天小編就為大家分享一篇解決pip install的時(shí)候報(bào)錯(cuò)timed out的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06
使用Python裝飾器在Django框架下去除冗余代碼的教程
這篇文章主要介紹了使用Python裝飾器在Django框架下去除冗余代碼的教程,主要是處理JSON代碼的一些冗余,需要的朋友可以參考下2015-04-04
深入理解Python虛擬機(jī)中常見(jiàn)魔術(shù)方法的使用
本文主要給大家介紹在 python 當(dāng)中與數(shù)學(xué)計(jì)算相關(guān)的一些常見(jiàn)的魔術(shù)方法,是在很多科學(xué)計(jì)算的包當(dāng)中都使用到的魔術(shù)方法,感興趣的小伙伴可以了解一下2023-05-05

