While/for文
4003 ワード
Python構文規則
1:ifなどの制御文が見つからない限り、文は行ごとに実行されます.
2:ブロックと文の境界は自動的に検出されます.括弧のようなものはないので、インデントです.
3:複合文の形式:最初の文の後に「:」、続いてインデント文
4:文書文字列!=注記:同じように無視されますが、実行時に自動的にオブジェクトに添付され、ドキュメントツールで表示できます.
ぶんぶんぶんかつし
Python文は一般的に行末表で終わりますが、文が長すぎる場合は、いくつかの方法で複数行に配置することができます.
1:構文カッコのペアを使用して、文を行にまたがらせます.かっこのペアには、()、{}、または[]が含まれます.
2:文は逆斜線で終わり、行をまたぐことができます.(現在は使用されていません)
3:その他のルールでは、三重引用符文字列ブロックまたはセミコロンで文を終了し、次に入力します.
whileサイクル
continue現在のループからジャンプ
passは何もしないで、空占位文だけです.あるいは...何もしない
elseループが正常に離れたときに実行されます.つまりbreak文に遭遇しませんでした.
次のC言語でよく見られる形式はPythonではダメなwhile((x=next())!=null ) { ...process x...}
forサイクル
文字列、リスト、メタグループ、その他の反復可能なオブジェクトに使用できる任意の順序付きシーケンスオブジェクト内の要素を遍歴できる汎用シーケンス反復器です.
次の例では、実際には重要なのか、それとも値を割り当てる形式なのかを発見します.私たちの前の説明との違いは、その後ろにあるシーケンスです.それから、区切り記号として、一度に1つのセグメントで値を割り当てます.
Python 3の拡張賦値:肝心なのは*の導入である
forファイルのループ読み込み
whileのメカニズムは最後のfor文で使用されるiteratorと同じですが、彼ら2人の速度には違いがあります.ItheratorはPythonではC言語の速度で実行され、whileはバージョンをループするときにPython仮想マシンでPythonバイトコードを実行します.
1:ifなどの制御文が見つからない限り、文は行ごとに実行されます.
2:ブロックと文の境界は自動的に検出されます.括弧のようなものはないので、インデントです.
3:複合文の形式:最初の文の後に「:」、続いてインデント文
4:文書文字列!=注記:同じように無視されますが、実行時に自動的にオブジェクトに添付され、ドキュメントツールで表示できます.
ぶんぶんぶんかつし
Python文は一般的に行末表で終わりますが、文が長すぎる場合は、いくつかの方法で複数行に配置することができます.
1:構文カッコのペアを使用して、文を行にまたがらせます.かっこのペアには、()、{}、または[]が含まれます.
2:文は逆斜線で終わり、行をまたぐことができます.(現在は使用されていません)
3:その他のルールでは、三重引用符文字列ブロックまたはセミコロンで文を終了し、次に入力します.
whileサイクル
while <test1>:
<statement1> # loop body
if <test2>: break # Exit loop now, skip else
if <test3>: continue # Go to top of loop now, to test1
else: # Optional else
<statement2> # Run if didn't exit loop with break
breakはサイクル全体を飛び出しますcontinue現在のループからジャンプ
passは何もしないで、空占位文だけです.あるいは...何もしない
elseループが正常に離れたときに実行されます.つまりbreak文に遭遇しませんでした.
次のC言語でよく見られる形式はPythonではダメなwhile((x=next())!=null ) { ...process x...}
forサイクル
文字列、リスト、メタグループ、その他の反復可能なオブジェクトに使用できる任意の順序付きシーケンスオブジェクト内の要素を遍歴できる汎用シーケンス反復器です.
for <target> in <object>:
<statements>
if <test>: break
if <test>: continue
else:
<statements>
次の例では、実際には重要なのか、それとも値を割り当てる形式なのかを発見します.私たちの前の説明との違いは、その後ろにあるシーケンスです.それから、区切り記号として、一度に1つのセグメントで値を割り当てます.
>>> D={'a':1, 'b':2, 'c':3}
>>> for k in D:
... print(k, '=>', D[k])
...
('a', '=>', 1)
('c', '=>', 3)
('b', '=>', 2)
>>> list(D.items())
[('a', 1), ('c', 3), ('b', 2)]
>>> for (k,v) in D.items():
... print(k, '=>', v)
...
('a', '=>', 1)
('c', '=>', 3)
('b', '=>', 2)
>>> for ((a,b), c) in [((1,2),3),((4,5),6)]:
... print(a,b,c)
...
(1, 2, 3)
(4, 5, 6)
Python 3の拡張賦値:肝心なのは*の導入である
>>> for (a,*b,c) in [(1,2,3,4),(5,6,7,8)]:
... print(a,b,c)
...
1 [2,3] 4
5 [6,7] 8
>>> for all in [(1,2,3,4),(5,6,7,8)]: # ,k 'a'?
... a,b,c = all[0],all[1:3],all[3]
... print(a,b,c)
...
1 (2,3) 4
5 (6,7) 8
証拠:forループのリストは、カンマを限界とし、毎回1組取り出して処理します.>>> items = ["aaa", 111, (4,5),2.1]
>>> tests = [(4,5), 3.4]
>>> for k in tests: #k (4,5) all
... if k in items:
... print(k, "was found")
... else:
... print(k, "not found")
...
((4, 5), 'was found')
(3.4, 'not found')
forファイルのループ読み込み
file = open('test.txt', 'r')
print(file.read())
file = open('test.txt') # read
while True:
char =file.read(1) #for
if not char: break # ,break
print(char)
file = open('test.txt')
while True:
line = file.readline()
if not line: break
print(line, end='')
file = open('test.txt', 'rb')
while True:
chunk = file.read(10) # rb , 10 byte.
if not chunk: break
print(chunk)
for char in open('test.txt').read(): #for
print(char)
for line in open('test.txt').readlines(): #readlines , for 。
print(line, end='')
for line in open('test.txt'): #iterator:best text input mode
print(line, end='') #end
,
whileループ読み込みファイル内容1行または1文字ずつ読み出し、逆数2,3のforとreadlineの効果は、まずファイルをメモリに入れます.もし書類が大きすぎたら?iteratorはファイル反復器で、ループごとに1行読み込まれます.whileのメカニズムは最後のfor文で使用されるiteratorと同じですが、彼ら2人の速度には違いがあります.ItheratorはPythonではC言語の速度で実行され、whileはバージョンをループするときにPython仮想マシンでPythonバイトコードを実行します.