Python條件 迴圈和其他語句概述

2021-09-06 08:54:18 字數 3399 閱讀 2803

當函式或方法返回元組(或其他序列或可迭代物件時),可使用該特性

#分別賦值

x,y,z=1,2,3

x,y=[1,2]

x,y=(1,2)

x,y= #x:'ti' y:'an',只返回鍵

#交換變數值

x,y=y,x

print(x,y,z) #2 1 3

#定義字典並隨機彈出鍵值對,序列解包給m,n

x=dict()

x[12]=['12',12,'12']

x['tt']='12'

x.popitem() --返回乙個元組(鍵+鍵值)

m,n=x.popitem()

m,n,*q=[1,2,3,4] #q為列表[3,4]

*q,m,n=[1,2,3,4] #q為列表[1,2]

x=y=2

#等價於

x=2y=x

x=int(input("enter number:"))

if x>12:

print(1)

elif (x>5 and x<=8):

print(12)

else:

print(50)

#確保程式中某個條件必須為真才能繼續執行

assert expression1 expression2 #檢查表示式expression1的正確性,true則繼續執行,false則返回表示式expression2的值(expression2為字串時則直接返回,為表示式時返回布林值)

a=2assert 105,b>0

c=23

from math import sqrt

else_print=false

for j in range(99,81,-1):

if sqrt(j)==int(sqrt(j)):

else_print=true

print(j)

break

if not else_print:

print('not found')

#上面的條件判斷語句可修改為

#迴圈(while或for迴圈均可)中增加else子句,僅在沒有呼叫break語句時執行

from math import sqrt

for j in range(99,81,-1):

if sqrt(j)==int(sqrt(j)):

print(j)

break

else:

print('not found')

列表推導式是利用其它列表建立新的列表,工作方式類似於for迴圈

[x*x for x in range(10)]

#只列印range(10)元素中平方能被3整除的數

[x*x for x in range(10) if (x**2 % 3==0)]

#增加更多的for語句

[(x,y) for x in range(2) for y in range(3)]

#輸出[(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2)]

[(x,y) for x in range(2) for y in range(3) if x==y] #[(0, 0), (1, 1)]

#篩選girls列表和boys列表中首字母相同的集合

girls=['ab','ah','cd','gg']

boys=['ac','gd','yy']

lettersgirls={}

for girl in girls:

print([b+'+'+lettersgirls[g][0] for b in boys for g in lettersgirls if b[0]==g])

girls=['ab','ah','cd','gg']

boys=['ac','gd','yy']

lettersgirls={}

for girl in girls:

print([value for b in boys for (key,value) in lettersgirls.items() if b[0]==key])

#輸出[['ab', 'ah'], ['gg']]

程式什麼事情都不用做,pass語句可在程式中起到佔位符的作用(在python中空**塊是非法的)

name='gg'

if name=='pp':

print(name)

elif name=='ppp':

pass

elif name=='gg':

print('haha')

tian=

tian_tem=tian

tian=[1,2,3]

del tian_tem['pp']

del tian[0]

print(tian_tem)

print(tian)

#tian與tian_tem被繫結到同一字典上,但將tian設定為新列表時,字典通過tian_tem仍然是可用的

#

但如果將tian_tem也設定為新物件,字典就飄在記憶體中(沒有與任何物件名字繫結),python直譯器會直接刪除該字典

del語句不僅會移除物件引用,也會移除物件名字本身

tian=tian_tem=[1,2]

tian[1]=3

del tian

print(tian_tem)

#[1,3]

exec函式以執行python程式相同的方式來執行字串,即執行一系列python語句但不返回任何對象,因為其本身就是語句

為防止命名空間的相互干擾,可增加乙個字典起到命名空間的作用

from math import sqrt

sqrt(4)

scope={}

exec("scope['sqrt']=1")

print(scope)

#或可使用以下簡潔方式,scope是作用域

from math import sqrt

print(sqrt(4))

scope={}

exec("sqrt=1",scope)

print(scope['sqrt'])

eval計算python表示式並返回結果值

#scope是作用域

scope={}

exec('x=2',scope)

print(eval('x*x',scope))

python條件,迴圈和其他語句

1 賦值 如 x,y,z 1,2,3 x 1,y 2,z 3 x,y y,x 交換兩個變數的值 2 條件和條件語句 if else 簡單 不敘述 3 a if b else c 如果b為真返回a,否則返回c 4 not 非,and 並,or,或 4 while迴圈 x 1 while x 100 p...

Python的條件迴圈和其他語句應用(1)

一 print語句 print語句主要用於列印輸出一些提示性語句 在python中列印出變數有幾種方式 1 直接使用print 例如 a hello print a 2 在idle中直接輸入變數 3 值得注意的是第三種在輸入變數值a後可以使用下劃線再次輸入,這裡 表示的是最後乙個表示式的值 在pyt...

Python條件語句和迴圈語句

1 python條件語句 python條件語句是通過一條或多條語句的執行結果 true或者false 來決定執行的 塊。python程式語言指定任何非0和非空 null 值為true,0 或者 null為false。基本形式為 if 判斷條件 執行語句 else 執行語句 當判斷條件為多個值時,可以...