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

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

