Python Japan様のゼロからのPython入門講座 – python.jpがものすごくわかりやすくて良かったです。おすすめです。
JavaScriptと似ている部分も多く、かなりサクサクとPythonの基礎を理解することができました。
これは講座の自分用のメモノートです。
今日は理解して覚えたけれども、たぶん数日すると忘れるので…。見返せるように。
Pythonの簡単実行ツール
ブラウザ上でPythonを記述、実行できるGoogle提供の無料ツール。(Googleでログインするだけ!)
四則演算
- 足し算 +
- 引き算 –
- かけ算 *
- 割り算 /
- 割り算 //(小数点以下切り捨て)
- 余り %
- べき乗 **
たとえ、.0でも小数点がついている = float型
※ 割り算の結果は割り切れたとしてもfloat型
モジュール
Pythonは様々な機能をもった関数をあらかじめ用意してくれていて、目的や種類別に関数を分類してあるのがモジュール。
モジュール単位で読み込んで、そこから関数を利用する。
インポート
import module_name
利用
インポート後に使用可能
module_name.function_name()
※ 使用頻度の高い一部のモジュールは、インポートせずに使用可能(組み込み関数)
文字と数字
文字と数字は全く違うデータ。
文字列の数値化
int('text')
数値の文字列化
str(number)
メソッド
データに結び付いた関数のこと
'data'.function_name()
例えば
'lower'.upper()
はlowerが大文字にする関数.upper()の実行によりLOWERになる。
関数
文字列を入力できる
input('入力してください:')
input()
※実行時に入力欄が表示される
自作
def function_name(value):
#処理
return #戻り値
function_name(value)
分岐
if 条件:
#処理
elif 条件:
#処理
else:
#処理
※ :をうしろにつける
※ elseifではなくelif
演算子
and 演算子
JavaScriptの「&&」
条件1 and 条件2
or 演算子
JavaScriptの「||」
条件1 or 条件2
not 演算子(Boolean)
JavaScriptの「!()」
not 条件
ループ処理
while文
while 条件:
#ループ内容
よく使うのは以下のような感じ
i = 0
while 条件:
#ループ内容
i += 1
途中で処理を終えたい場合
break
先頭に戻ってやり直す場合
continue
for文
for 変数名 in リストオブジェクト:
#ループ内容
※リストオブジェクトの要素を順番に取り出し、それぞれ一度ずつ実行。
リストオブジェクト
list_object = ['object1', 'object2', ...]
list_object = []
参照
list_object[index]
追加
list_object.insert(index, 'object')
置き換え
list_object[index] = 'object'
削除
del list_object[index]
辞書オブジェクト(連想配列)
dictionary_object = {'key':'value', 'key':'value', ...}
dictionary_object = {}
参照
dictionary_object['key']
追加・置き換え
dictionary_object['key'] = 'value'
削除
del dictionary_object['key']
登録されているかどうか(Boolean)
'key' in dictionary_object
タプルオブジェクト
tuple_object = ('object1', 'object2')
※カッコなしでもいいが、カッコありがわかりやすいため通例
参照
tuple_object[index]
※リストオブジェクトのように要素の追加や置換はできない。まるごと更新する必要がある。
タプルの比較(Boolean)
タプルは複数値が入っているが、タプル同士で比較できる。
リストとタプル
似てるけど適切に使い分けよう!
- 不定個数の独立したデータ = リストが適している
- 固定的な形式をもつ独立したデータ = タプルが適している
コレクション
文字列・リスト・辞書・タプル = コレクション(他のオブジェクトを集約することを目的としたオブジェクト)
コレクションの要素数
len(collection_object)
※コレクションならどれでもlen()で数が調べられる
登録されているかどうか(Boolean)
'value' in collection_object
※辞書の場合はキー。
シーケンス
インデックスを指定して参照できるオブジェクト(主に、リスト、タプル、文字列)のこと。
※辞書はコレクションだがシーケンスではない。
アンパック
コレクションの要素を一括して変数に代入する方法。一気に値を返せて便利。
list_object = ['value1', 'value2', 'value3']
v1, v2, v3 = list_object
※v1にはvalue1が、v2にはvalue2が、v3にはvalue3が代入される
※個数が一致しないとエラーになる
演習でのメモ
乱数の生成
randomモジュール
import random
random.randrange(開始値, 終了値)
※開始値以上かつ終了値未満の間でランダムに生成
リファクタリング
書き方を改善すること。
わかりやすい定数値
値の意味が分かるように、定数には名前を付け、代入して使用する。
「SAMPLE_WORD」のようにすべて大文字で書くのが慣例。
その他のポイント
- 本来一つの情報をタプルにまとめる
- タプルは要素を個別に変更できない(変数にアンバックでローカル変数に代入して、また戻す!)
- なるべく関数にする(無駄な繰り返しを避ける、関数名で何を行っているのかわかりやすい)
履修完了!
ゼロからのPython入門講座 – python.jp様のおかげで、1日で基礎の基礎を抑えることができました!
めちゃめちゃにわかりやすかったです~ありがたや~!