はじめに
職場柄、アウトプットがしにくい環境にいる中、技術力を高めるのと理解の再確認のために記事を書くことにしてみた。
とはいえpythonの記事などありふれているわけで、特異性を見出すための手段として誰しも通る道であるhello,worldsのみでpythonを理解していこうではないかと思う。
馬鹿げてるくらいが読み物として丁度いいことだろう。
本記事の対象者
・pythonの勉強を始めた人
・pythonの経験値が足りないと感じる人
・物好き
注意点
・本記事はpython3系を前提として記載していく。当人が3.7を使用しているので3.8に対する知識が現時点で浅い
本題
1.文字列出力
hello,worldsを語る上では避けては通れない文字列出力である。
ここでは様々なアプローチでhello,worldsをしていく。
print('hello,worlds)
print('hello,' + 'worlds')
print({}.format('hello,worlds'))
hoge = 'hello,worlds'
print('%s' % hoge)
これら全てはhello,worldsである。
作者のやる気次第でこのノリかずっと続くことだろう
2.条件分岐
条件分岐さえできれば、もうプログラマとして一人前である。大抵の処理は0と1の羅列を覚えるかifを覚えればできてしまう。
if文
hello_worlds = 'hello_worlds'
if hello_worlds == 'hello_worlds':
print(hello_worlds)
else:
print('goodbye worlds')
これでif文は完璧である。
十分であると思うが念のため、少し詳しく解説していく。
if文で用いられる演算子には not や is といった文字を用いる演算子と == や < といった記号を用いる演算子がある。
文字や記号を見ればその演算子が持つ意味を理解できると思うが、つまづくとしたらisと==の違いだろう。
この二つは似ているが比較するものが違うので注意が必要だ。
== は値が同じか判定する
これはわかりやすい。
'hello_worlds' == 'hello_worlds' # True
'goobye_world' == 'hello_worlds' # False
is はオブジェクトが同じか判定する
オブジェクトってなんだよと言いたい気持ちもわかる。
a = 'hello worlds'
b = a
c = 'hello worlds'
a is b # True
a is c # False
同じhello worldsでも違うと言われる理不尽さこそプログラミングだ。
オブジェクトを簡単に説明するなら、棚に陳列されている商品とでも思えばよい。
見た目は一緒だが、中身の内容まで同じとは限らないということだ。
aとcは見た目は一緒だが、同一でないためFalseになる。
詳しく知りたいならidentityやid関数を調べることをお勧めする。