文と構文
8224 ワード
文の概要すべてのpython複合文は同じ一般的な形式を持っている.すなわち、最初の行はコロンで終わり、最初の行と次の行がネストされたコードは統一的にインデントされ、ifの判断条件のような括弧はオプションであり、行の終了はエンベロープで終わる必要はなく、インデントの終了はコードブロックの終了である.pythonで唯一エンベロープを使用する必要がある場合は、1行に複数の文を配置し、エンベロープを区切り文字として使用します.()、[]、{}を使用すると、1つの文を複数の行にまたがることができます.単純な単行文は、複合文のコロンの後に直接続くことができます.
割り当て、式、印刷賦値文複製オブジェクト ではなくオブジェクト参照値を確立する.
えんざん
説明する
結果
きほんけいしき
メタグループわりあてえんざん
リストわりあてえんざん
シーケンス代入演算
拡張シーケンスのパケット解除
たもくてきわりあてえんざん
拡張代入演算リザーブ
ifテストと構文規則 ifの後には、1つまたは複数のオプションのelifが続く、最終的なelseブロック が続く.任意のゼロ以外または空以外のオブジェクトが真の数値ゼロ、空のオブジェクト、およびNoneが偽の比較および等しいテストの再帰的な適用データ構造内の比較および等しいテストはTrueまたはFalse andおよびorが真または偽の操作オブジェクト を返す.
whileとforサイクル while構文 の3つの連続点番号はpassの代替案とすることができる: pythonでは、文は式 として機能しません. for構文 では、どのシーケンスもforループをサポートしていることが明らかになった.forループは、ファイルおよび辞書 にも使用可能である range zipは、1つ以上のシーケンスを取得し、メタグループのリストに戻り、これらのシーケンスの並べ替えられた要素をペアにし、 を最短シーケンス長で切断する. enumerateは、ジェネレータオブジェクトを返し、反復するたびに(index,value)メタグループ を返す.
反復と解析の第1部 を引き起こす. python3.0はnext内蔵関数を提供し、オブジェクトの を自動的に呼び出す.ファイルにとって、ファイルオブジェクトは独自の反復器であり、反復するたびに1行を返します.リストおよび多くの組み込みオブジェクトは、反復 を開始するためにiterを呼び出す必要があるため、反復を複数回開くことをサポートしているため、独自の反復ではありません.ディクショナリの反復器は、次のキー を自動的に返します.
ドキュメント pythonは、オブジェクトに自動的に添付されたドキュメントをサポートし、実行時に表示を保存することもできます.文法的に見ると、このような注釈は文字列として書かれており、モジュールファイル、関数、およびクラス文の先頭に置かれ、実行可能なプログラムコードの前に置かれています(#注釈はその前でも構いません).pythonは、この文字列、すなわち、いわゆるドキュメント文字列を自動的にカプセル化し、オブジェクトの とする.
割り当て、式、印刷
>>> v = v1 = []
>>> v.append(1)
>>> v, v1
([1], [1])
えんざん
説明する
結果
v = 1
きほんけいしき
v = 1
v, v1 = 1, 2
メタグループわりあてえんざん
v = 1, v1 = 2
[v, v1] = [1, 2]
リストわりあてえんざん
v = 1, v1 = 2
v, v1 = '12'
シーケンス代入演算
v = '1', v1 = '2'
v, *v1 = 'abcd'
拡張シーケンスのパケット解除
v = 'a', v1 = ['b', 'c', 'd']
v = v1 = 1
たもくてきわりあてえんざん
v = 1, v1 = 1
v = 1
v += 1
拡張代入演算
v = 2
>>> v, *v1 = 'a'
>>> v, v1
('a', [])
>>> v, *v1 = 'ab'
>>> v, v1
('a', ['b']) #
>>> v = 1; v1 = 2
>>> v, v1 = v1, v #
>>> v, v1
(2, 1)
>>> (v, v1), v2 = [(1, 2), 3]
>>> v, v1, v2
(1, 2, 3)
>>> v, *v1, v2 = "Hello Python"
>>> v, v1, v2
('H', ['e', 'l', 'l', 'o', ' ', 'P', 'y', 't', 'h', 'o'], 'n')
>>> v = [1, 2, 3]
>>> while v:
f, v = v[0], v[1:]
print(f, ',', v)
1 , [2, 3]
2 , [3]
3 , []
>>> v = [1, 2, 3]
>>> while v:
f, *v = v
print(f, ',', v)
1 , [2, 3]
2 , [3]
3 , []
>>> v = []
>>> v1 = v
>>> v += [1]
>>> v, v1
([1], [1])
>>> v = []
>>> v1 = v
>>> v = v + [1]
>>> v, v1
([1], [])
False
class
finally
is
return
None
continue
for
lambda
try
True
def
from
nonlocal
while
and
del
global
not
with
as
elif
if
or
yield
assert
else
import
pass
break
except
in
raise
>>> help(print)
Help on built-in function print in module builtins:
print(...)
print(value, ..., sep=' ', end='
', file=sys.stdout, flush=False)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.
ifテストと構文規則
>>> if True:
pass
elif True:
pass
else:
pass
#python 、
>>> [1, 2][bool(True)]
2
>>> [1, 2][bool(False)]
1
whileとforサイクル
>>> v = [1, 2]
>>> while v:
f, *v = v
print(f, v)
else:
print('done') # ( break)
1 [2]
2 []
done
if True:...
>>> v = ...
>>> if v:
print('Hello')
Hello
>>> while v = 1:
SyntaxError: invalid syntax
>>> v = [1, 2]
>>> for x in v:
print(x)
else:
print(' break')# ( break)
1
2
break
>>> v = {'a' : 1, 'b' : 2}
>>> for k in v:
print(v[k])
2
1
>>> fp = open(r'D:\1.txt', 'w')
>>> fp.write('abc')
3
>>> fp.close()
>>> fp = open(r'D:\1.txt')
>>> for x in fp:
print(x)
abc
>>> list(range(0, 5))
[0, 1, 2, 3, 4]
>>> list(range(3, 10, 2))
[3, 5, 7, 9]
>>> list(range(5, -5, -1))
[5, 4, 3, 2, 1, 0, -1, -2, -3, -4]
>>> list(zip('szn', '1234'))
[('s', '1'), ('z', '2'), ('n', '3')]
>>> list(zip('ABC', '1234', ('a', 'b', 'c')))
[('A', '1', 'a'), ('B', '2', 'b'), ('C', '3', 'c')]
>>> v = {}
>>> v0 = ['a', 'b']
>>> v1 = "szn"
>>> for x, y in zip(v0, v1):v[x] = y
>>> v
{'b': 'z', 'a': 's'}
>>> v = enumerate('szn')
>>> next(v)
(0, 's')
>>> next(v)
(1, 'z')
>>> next(v)
(2, 'n')
>>> next(v)
Traceback (most recent call last):
File "", line 1, in
next(v)
StopIteration
>>> for x, y in enumerate('szn'):
print(x, y)
0 s
1 z
2 n
反復と解析の第1部
__next__
メソッドのあるオブジェクトは次の結果に進むが、一連の末尾ではStopIteration
異常__next__
メソッド>>> v = "szn"
>>> it = iter(v)
>>> while True: #
try:
print(it.__next__())
except StopIteration:
print('done')
break
s
z
n
done
>>> v = "szn"
>>> for x in v: #
print(x)
s
z
n
>>> fp = open(r'D:\1.txt', 'rb')
>>> str = fp.read()
>>> str
b'abc\r
123'
>>> fp = open(r'D:\1.txt')
>>> for line in fp: # for __next__
print(line, end = '')
abc
123
>>> d = {'a' : 'b', 1 : 2}
>>> for k in d:
print(k, d[k])
1 2
a b
ドキュメント
__doc__
属性>>> def Fun():
'''
Print Hello World
'''
print('Hello World')
>>> Fun.__doc__
'
\tPrint Hello World
\t'
>>> class CTest:
'CTest'
pass
>>> CTest.__doc__
'CTest'
>>> import sys
>>> sys.path.append(r'D:')
>>> import Test
Hello
>>> Test.__doc__
'1.py'
>>> fp = open(r'D:\Test.py', 'rb')
>>> for line in fp:
print(line)
b"'1.py'\r
"
b'\r
'
b"print('Hello')"