1. 程式人生 > 程式設計 >Python程式控制語句用法例項分析

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程式設計有所幫助。