Pyrhon3.7.2の予約語
False await else import pass
None break except in raise
True class finally is return
and continue for lambda try
as def from nonlocal while
assert del global not with
async elif if or yield
参考文献の2.3.1. Keywordsより
<参考文献>
2. Lexical analysis
個人的にこの中でよく使うもの、たまに使うもの、ほぼ使わないもの、使った記憶のないものに分けてみると
よく使うもの
else import pass break in return and for def while if or
たまにつかうもの
False True class continue assert del global not elif
ほぼ使わないもの
None except is lambda try as yield finally
使った記憶のないもの
await raise nonlocal async with
printが入っていないのが意外。変数に代入できない。defで再定義できないものが対象なのかな。
最初はdef yield for in を使ってみます。
実行結果
('a+b', 120)
('a-b', 80)
('a*b', 2000)
('a/b', 5.0)
処理の途中で一時中断して値を返すことができるようです。テストとかで途中経過を確認するために使えるかも。
これだと"2"しか表示されません。0は表示してもよさそうなのですが。
次にnonlocal、関数内関数でglobal変数のように使いたいというものでしょうか。
実行結果
10
5
次にraise、例外エラーを発生させます。ついでに例外エラーをコントロールするtry except finallyも!
実行結果
block
finish
NameError: hello error
at Answer.py. in test on line 2
at Answer.py. in <module> on line 11
(エラーは実行環境によって多少変わります)
わかっているとおもっているものを一行で説明(意訳)してみます。
else でなければ
import 本棚もってきて
pass 今は考えたくない
break 以上撤収
in これだけ
return よしとして帰ろう
and と
for やってくれ
def ここにまとめておく随時使って
while やってくれ
if もし
or か
False ちがう
True そうそう
class いまから編成を発表する
continue 次いってみよう(つづけるといっておいて一回休みのようなもの)
assert 追加オーダー
del 取り消し
global 周知事項
not じゃなくてー
elif じゃなかったらもし
None いないよ
except できなかったらこっち
finally 例外だろうが、なかろうが実行
is です
lambda ま、こんな感じで
try まあやってみ
as 略して
yield ちょっとたちどまってみよう
False await else import pass
None break except in raise
True class finally is return
and continue for lambda try
as def from nonlocal while
assert del global not with
async elif if or yield
参考文献の2.3.1. Keywordsより
<参考文献>
2. Lexical analysis
個人的にこの中でよく使うもの、たまに使うもの、ほぼ使わないもの、使った記憶のないものに分けてみると
よく使うもの
else import pass break in return and for def while if or
たまにつかうもの
False True class continue assert del global not elif
ほぼ使わないもの
None except is lambda try as yield finally
使った記憶のないもの
await raise nonlocal async with
printが入っていないのが意外。変数に代入できない。defで再定義できないものが対象なのかな。
最初はdef yield for in を使ってみます。
def test(a,b): yield "a+b",a+b yield "a-b",a-b yield "a*b",a*b yield "a/b",a/b for x in test(100,20): print(x)
実行結果
('a+b', 120)
('a-b', 80)
('a*b', 2000)
('a/b', 5.0)
処理の途中で一時中断して値を返すことができるようです。テストとかで途中経過を確認するために使えるかも。
def test(a,b): print("0") yield "a+b",a+b print("1") yield "a-b",a-b yield "a*b",a*b yield "a/b",a/b test(100,20) test(100,20) print("2")
これだと"2"しか表示されません。0は表示してもよさそうなのですが。
次にnonlocal、関数内関数でglobal変数のように使いたいというものでしょうか。
x=5 def test(x): def double(): nonlocal x x*=2 double() print(x) test(x) print(x)
実行結果
10
5
次にraise、例外エラーを発生させます。ついでに例外エラーをコントロールするtry except finallyも!
def test(s): raise NameError(s) try: test("hi error") except: print("block") finally: print("finish") test("hello error")
実行結果
block
finish
NameError: hello error
at Answer.py. in test on line 2
at Answer.py. in <module> on line 11
(エラーは実行環境によって多少変わります)
わかっているとおもっているものを一行で説明(意訳)してみます。
else でなければ
import 本棚もってきて
pass 今は考えたくない
break 以上撤収
in これだけ
return よしとして帰ろう
and と
for やってくれ
def ここにまとめておく随時使って
while やってくれ
if もし
or か
False ちがう
True そうそう
class いまから編成を発表する
continue 次いってみよう(つづけるといっておいて一回休みのようなもの)
assert 追加オーダー
del 取り消し
global 周知事項
not じゃなくてー
elif じゃなかったらもし
None いないよ
except できなかったらこっち
finally 例外だろうが、なかろうが実行
is です
lambda ま、こんな感じで
try まあやってみ
as 略して
yield ちょっとたちどまってみよう