????:1、局部變量for i in range(5): print i, print i,運(yùn)行結(jié)果:0 1 2 3 4 4i是for語(yǔ)句里面的局部變量。但在python里面,在同一方法體內(nèi),定義了一個(gè)局部變量,該變量的作用域是定義行開始至該方法體結(jié)束。在其他編程語(yǔ)言,“print i”那一句是有誤的,因?yàn)閕沒有定義例1
1、局部變量
for i in range(5): print i, print i,
運(yùn)行結(jié)果:
0 1 2 3 4 4
i是for語(yǔ)句里面的局部變量。但在python里面,在同一方法體內(nèi),定義了一個(gè)局部變量,該變量的作用域是定義行開始至該方法體結(jié)束。
在其他編程語(yǔ)言,“print i”那一句是有誤的,因?yàn)閕沒有定義
例1:
def func(): a = 100 if a > 50: b = True print b if __name__ == '__main__': func()
結(jié)果:
True
例2:
def func(): a = 100 if a > 50: b = True print b if __name__ == '__main__': func() print b
最后一行有誤,因?yàn)闆]有定義b,func()方法里面的b是函數(shù)體內(nèi)的局部變量,所以main里面的“print b”有誤。
2、python的for循環(huán)控制語(yǔ)句
例子1:
for i in range(5): for j in range(6): print (i,j), print
運(yùn)行結(jié)果:
(0, 0) (0, 1) (0, 2) (0, 3) (0, 4) (0, 5)
(1, 0) (1, 1) (1, 2) (1, 3) (1, 4) (1, 5)
(2, 0) (2, 1) (2, 2) (2, 3) (2, 4) (2, 5)
(3, 0) (3, 1) (3, 2) (3, 3) (3, 4) (3, 5)
(4, 0) (4, 1) (4, 2) (4, 3) (4, 4) (4, 5)
例子2:
求[50,100]之間的質(zhì)數(shù)
import math cout = 0 for i in range(50,100+1): for j in range(2,int(math.sqrt(i))+1): if i % j == 0: break else: print i, cout +=1 if cout % 10 == 0: cout = 0 print #break #此處不能加break,否則將外面的forbreak,因?yàn)榇藢哟蔚膃lse與第二個(gè)for是并排關(guān)系
運(yùn)行結(jié)果:
53 59 61 67 71 73 79 83 89 97
解析:
for 語(yǔ)句是python中的循環(huán)控制語(yǔ)句??捎脕?lái)遍歷某一對(duì)象,還具有一個(gè)附帶可選的else塊,主要用來(lái)處理for語(yǔ)句中包含break語(yǔ)句。
如果for循環(huán)未被break終止,則執(zhí)行else中的語(yǔ)句。for在需要時(shí)終止for循環(huán)。
for語(yǔ)句的格式如下:
for <> in <對(duì)象集合>: if <條件1>: break if <條件2>: continue <其他語(yǔ)句> else: <...>
更多關(guān)于獨(dú)特的python循環(huán)語(yǔ)句請(qǐng)關(guān)注PHP中文網(wǎng)(ipnx.cn)其他文章!