1樓:旅春冬
我嚓來,哥哥是不是,你在外邊定義不就好了。裡面也可以訪問,就是說擴大一下作用域就好了。
python,為什麼在for迴圈中定義的變數,在迴圈外不能使用?
2樓:賓國英智綾
在for迴圈內部定義的變數屬於區域性變數,當for迴圈結束以後,區域性變數就會被銷燬,此時如果呼叫這個變數就會提示你變數未定義,就會報錯。如果你想在for迴圈外部呼叫這個區域性變數,那麼你就需要擴大它的作用範圍,可以在變數名稱前面加上global關鍵字,把它變成乙個全域性變數,這樣即使for迴圈結束了,這個變數仍然有效。
在實際的程式設計操作中,因為全域性變數會被其他函式讀取到,存在一定的風險,不大建議這樣做。
3樓:謝染釗淑
不只是for迴圈,所有迴圈儘量都避免定義變數,因為每一次迴圈都要新建乙個變數,會造成空間浪費,除非是特意為定義這些臨時使用的變數。
for迴圈內部定義的變數在外部是不能直接使用的。只在迴圈內部可用。
python for迴圈的用法,怎麼前面還有乙個變數或函式?
4樓:匿名使用者
ls2 =[str(i) for i in ls1]
等價於[str(i) for i in ls1]這是列表生成式。
顧名思義,列表生成式就是乙個用來生成列表的特定語法形式的表示式。
1. 語法格式:
基礎語法格式。
exp for iter_var in iterable]
工作過程:迭代iterable中的每個元素;
每次迭代都先把結果賦值給iter_var,然後通過exp得到乙個新的計算值;
最後把所有通過exp得到的計算值以乙個新列表的形式返回。
相當於這樣的過程:
l = for iter_var in iterable:
帶過濾功能語法格式。
exp for iter_var in iterable if_exp]
工作過程:迭代iterable中的每個元素,每次迭代都先判斷if_exp表示式結果為真,如果為真則進行下一步,如果為假則進行下一次迭代;
把迭代結果賦值給iter_var,然後通過exp得到乙個新的計算值;
最後把所有通過exp得到的計算值以乙個新列表的形式返回。
相當於這樣的過程:
l = for iter_var in iterable:
if_exp:
迴圈巢狀語法格式。
exp for iter_var_a in iterable_a for iter_var_b in iterable_b]
工作過程:每迭代iterable_a中的乙個元素,就把ierable_b中的所有元素都迭代一遍。
相當於這樣的過程:
l = for iter_var_a in iterable_a:
for iter_var_b in iterable_b:
python 中的for迴圈如何修改迴圈變數?
5樓:網友
python for 迴圈不能修改迴圈變數的原因是,range()象是乙個迭代器,它只會輸出資訊,而不能修改迭代器的內容。python iterator的c結構是乙個指標和乙個物件列表。修改迴圈物件的值是c的思維方式,最好不要用在寫python**上。
python在乙個for迴圈中能不能用改變的數值來命名不同的變數
6樓:網友
你這樣寫沒啥錯誤啊,foodx=;foody=,沒問題啊。
python的for迴圈如何2個變數
7樓:夕謐紹望舒
python中的for迴圈和c中的for迴圈意義不同,python中for迴圈是迭代,如果要加入條件,要在for中巢狀if條件語句,如果迴圈設兩個變數的話可以這樣:fori
inrange(1,10):forj
inrange(2,100):
print(i,j)
或者利用元組。
for(i,j)in
print(i,j)
python中while迴圈的問題
是因為你使用的編譯器是python3.x的原因 如果使用python2.x的話,列印出來將是 0,2 可以比較明顯的看到,使用python3.x輸出的結果是一個浮點型 float 一個整型 int 而使用python2.x輸出的結果是元組 tuple,直 就是帶括號 這就是python3.x和pyt...
凶請教python的巢狀for迴圈
第一次執行第一條語句,x的值為 2,然後進入內迴圈。執行第二條語句,z的值依次賦為1和 1,然後分別列印 21 n 2 1 n。注意 n為換行符,python中每個print結束,系統自動加入一個換行符,如果print語句後面新增一個逗號 print x,z,就不會列印換行符了 第二次執行第一條語句...
python中的python中的問題
在python中,所有識別符號 可以包括英文 數字以及下劃線 但不能以數字開頭。python中的識別符號是區分大小寫的。這是知識背景 但是通常python的變成習慣以下劃線開頭的識別符號是有特殊意義的。以單下劃線開頭 foo 的代表不能直接訪問的類屬性,需通過類提供的介面進行訪問,不能用 from ...