WEBTODESIGN

「ゼロからのPython入門講座」メモノート

Python Japan様のゼロからのPython入門講座 – python.jpがものすごくわかりやすくて良かったです。おすすめです。

JavaScriptと似ている部分も多く、かなりサクサクとPythonの基礎を理解することができました。

これは講座の自分用のメモノートです。

今日は理解して覚えたけれども、たぶん数日すると忘れるので…。見返せるように。

Pythonの簡単実行ツール

Google Colaboratory

ブラウザ上で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日で基礎の基礎を抑えることができました!

めちゃめちゃにわかりやすかったです~ありがたや~!