Python入門

Pythonはちょっとした処理をするのにも向いているプログラミング言語。基礎文法や環境構築は容易なので初学者や教育機関にもオススメ。

Python公式サイト https://www.python.org/, PyPI(外部ライブラリ)

公式ドキュメント: pip3 man python3, python3 -c "help('キーワード')"


Pythonを始める準備

  1. Python3を使う

    Python2のサポートは2020年までなので、Python3で始めよう。

  2. Python3のインストール

    パッケージ管理システムでインストールするか、ソースからビルド。Dockerのpythonイメージを利用する方法も。

  3. Pythonの実行方法

    ちょっとしたコードを都度実行する対話モードや、コードをまとめてスクリプトファイルで実行する方法。

    python3 /path/to/スクリプトファイル.py

基礎的な文法

  1. 標準出力 Hello, World!

    print("Hello, world!")
  2. 標準入力

    入力 = input()
  3. エラー

  4. コメント

    #から行末まではコメント扱い。
  5. スペースと改行

  6. インデントに意味あり

  7. コマンドライン引数

    引数を渡すときはpython3 スクリプト.py "引数1" "引数2" …、参照するときはimport sysしてからsys.argv[1]

  8. 関数

    # 定義するとき
    def 関数名(引数1, 引数2, …):
      処理
      return 戻り値
    # インデントの終わりまでが定義の範囲
    
    # 使うとき
    関数名(引数1, 引数2, …)
    

基礎的なオブジェクト

  1. オブジェクト

    プログラム中で生成している文字列や数値など個々のデータをオブジェクトという。

  2. 変数

    生成したオブジェクトを使い捨てにせず、後で再利用する場合には、変数にオブジェクトを代入しておく。

    変数名 = オブジェクト
  3. 文字列

    文字列は"文字列"のように"'で囲んで生成する。

  4. 数値

    加減乗除に使う記号
    記号 意味 例(答えは4)
    + 足し算 1+3
    - 引き算 5-1
    * 掛け算 1*4
    / 割り算 8/2
    // 割り算して小数点以下切り捨て 9//2
    % 余り 9%5
    ** 累乗 2**2
    () 計算をまとめる (3+5)/2
  5. None

    Noneは何も値がないことを意味する値。

  6. 真偽値

    真偽値True(真)かFalse(偽)のどちらかの値。条件分岐や繰り返しなど、条件によってプログラムの動作を変えるときに使う。

ライブラリ

  1. ライブラリ

    他のプログラムから利用される前提で作られたプログラムをライブラリといい、Pythonに予め付属しているものを標準ライブラリという。外部ライブラリはpip3コマンドでインストールできる。

  2. モジュール

    関数をいくつか定義して他から利用できるようにしたファイルをモジュールという。あるモジュールが上位モジュール(パッケージ)に含まれていることも。

    import モジュール名 # モジュールのインポート
    モジュール名.関数名(引数) # モジュールの使用
  3. pip3で外部ライブラリをインストール

    pip3 install パッケージ名
  4. Python仮想環境virtualenv

    virtualenv project1
    source project1/bin/activate

プログラムの制御

  1. 条件分岐

    if 条件式1:
      処理 # 条件式1がTrueなら実行し、if文から抜ける
    elif 条件式2:
      処理 # 条件式2がTrueなら実行し、if文から抜ける
    else:
      処理 # どの条件式もFalseなら実行
    
  2. 繰り返し

    何か処理を繰り返すなら、while文やfor文を使う。

    羊 = 1
    while 羊 < 4:
      print("羊が" + str(羊) + "匹…") # str()は数値を文字列に変換
      羊 = 羊 + 1
    print("スヤスヤ…")
  3. 例外処理

    例外を発生状況に応じて処理し、プログラムを継続させたいならtry文を使う。

    try:
      int('あ')
    except ValueError:
      print('エラー')

複数のオブジェクトをコンテナで操作

  1. 順番に並ぶリスト

    リスト = ['Python', 'HTML', 'Java']
    
  2. 変更できないタプル

    タプル = ('Python', 'HTML', 'Java')
    
  3. 重複せず順番もないセット

    セット = set(リスト) # リストからセットを生成
    
  4. キーと値のペアを入れる辞書

    辞書 = {'Python': 'パイソン', 'Java': 'ジャバ'} # キーは重複なし
    

プログラムでよく使う

  1. ランダム

    ランダムの利用ならrandomモジュール。

    import random
    print(random.randint(1, 10)) # 1から10までの整数をランダムに返す
    print(random.choice( ['Python', 'HTML', 'Java'])) # 戻りはランダムな要素
    
  2. ファイル操作

    ファイル = open('ファイル', 'r')
    内容 = ファイル.read()
    ファイル.close()
    

その他

  1. Pythonスクリプト例を探すなら