python 初心者向けの教科書

  • 0
    いいね
  • 0
    コメント

    pythonとは

    pythonはコンパイラ型言語(C言語など)のように実行可能ファイルを作成する必要がなく、機械語翻訳と同時に実行を行うインタープリタ型言語です。
    本記事はC言語を基礎知識として持っている人向けです。
    python 2系向けに作成。
    コードはpaiza.ioにて動作テストをしています。

    基本事項

    ソースファイルの拡張子は".py"
    コメント文は#の後に書く
    自動的に改行が行われるのでC言語のように\nと表記する必要はない。
    以下に基本的なソースコードの記述を記載する。

    python.py
    
    #文字コードは以下のように指定する(UTF-8を指定する場合)
    # coding:UTF-8
    
    #変数を定義する場合(型を指定する必要はない)
    a = 5
    b = 'str'
    
    #四則演算や演算子は基本的にC言語と同様である
    c = a + 5 
    
    #print文は, "と'どちらを用いてもよい
    print'Hello world!!'
    
    

    基本的な文法

    3大制御構造

    3大制御構文とは、上から順に実行する順次、条件によってケースを選んで実行する選択、ある条件を満たす場合だけ繰り返す反復の3つである。ここではif文、for文、while文を記載する。

    if文(if-else文)

    条件式が真のときのみ実行する。偽の場合の処理も指定したい場合にはelseを使う。
    C言語のように{}は必要とせず、インデントを用いて記述する。

    if.py
    # coding:UTF-8
    
    '''構文
    if 論理式 :
      真のときの実行式
    else
      偽のときの実行式
    '''
    
    #例
    x = 10
    y = 5
    
    if x>y:
      print 'xはyより大きい'
    else:
      print 'yはxより大きい'
    
    '''実行結果例
    
    xはyより大きい
    '''
    

    for文(for-range文)

    pythonでのfor文はrange関数を用いることによって、繰り返す回数を指定することができる。また引数には負の数を指定することもできる。

    for.py
    # coding:UTF-8
    
    '''構文
    for var in range():
      実行式
    '''
    
    #例:-5から5までの数字を表示させる
    for i in range(-5, 6):
      print i
    
    '''実行結果
    -5
    -4
    -3
    -2
    -1
    0
    1
    2
    3
    4
    5
    '''
    

    while文

    条件式が真である限り繰り返し実行式を行う。

    while.py
    # coding:UTF-8
    '''構文
    while 条件式:
      実行式
    '''
    
    #例
    a= 0
    while(a<5):
      print a
      a++
    
    print a
    
    '''実行結果例
    0
    1
    2
    3
    4
    5
    
    '''
    

    関数

    関数を定義する場合にはdef文を使用する。
    returnにて戻り値を指定するが、これを省略するとNoneを返す
    またpythonにはメソッドがある。これはクラス内に定義されているものを指しており、モジュール内で定義されているものが関数である。

    func.py
    #coding UTF-8
    '''構文
    def 関数名(仮引数):
      関数の実行処理記述
    '''
    #例:乗数を返す関数を定義
    a = 3
    def func(a):
        return a**2
    
    print func(a)
    
    '''実行結果例
    9
    '''
    

    文字列

    文字列は''で括って表す。
    pythonではバイト文字列とUnicode文字列を扱うことができる。Unicodeは日本語などを扱うときに使用する。
    またprint文の最後にコンマをつけると改行されなくなる。

    japanese.py
    #coding UTF-8
    
    #日本語を表示させる文字列
    print('日本語')
    
    #文字列もリストのように要素から読み込める
    j = 'japanese'
    print j[2]
    
    #文字の連接は+を用いて行う
    f = 'food'
    print(j + f)
    
    #文字列の検索
    #('検索したい文字列' in 検索する文字列)
    #実行結果はTrueまたはfalseが返ってくる
    print('japan' in j)
    
    
    '''実行結果例
    日本語
    p
    japanesefood
    True
    
    '''
    
    

    リスト

    C言語でいう配列にあたるデータ構造である。リストの大きさを指定する必要はなく、また整数や文字列など異なったオブジェクトを並べても構わない。

    list.py
    #coding UTF-8
    
    # coding: utf-8
    # Here your code !
    #listの作成(連番はrange関数を利用すると手間が省ける)
    a = range(5)
    b = [6, 7, 8]
    print a
    
    #要素はC言語と同様に0から始まる
    print a[4]
    
    #リストの一番後ろに要素を追加(異なるオブジェクトでもよい)
    a.append(5.00)
    print a
    
    #指定した位置の要素を代入する
    a[0] = 'zero'
    print a
    
    #指定した位置に要素を追加する
    #n番目mを追加する場合 list.insert(n, m)
    a.insert(0, -1)
    print a
    
    #リストから指定した要素を削除する
    del a[0]
    print a
    
    #リストの結合
    a.extend(b)
    print a
    
    '''実行結果例
    [0, 1, 2, 3, 4]
    4
    [0, 1, 2, 3, 4, 5.0]
    ['zero', 1, 2, 3, 4, 5.0]
    [-1, 'zero', 1, 2, 3, 4, 5.0]
    ['zero', 1, 2, 3, 4, 5.0]
    ['zero', 1, 2, 3, 4, 5.0, 6, 7, 8]
    '''
    
    

    辞書

    辞書はとは、キーと対になる値のペアをリスト化したものである。
    値はどのような型でも指定できるが、キーには変更不能なオブジェクトを指定しなければならない。

    dic.py
    #coding utf-8
    
    '''構文
    dic = {キー:値, キー:値、キー:値...}
    '''
    
    #例
    age = {'tanaka':20, 'yamada':16, 'eto':33}
    print dic[eto]
    
    #辞書は結合させることもできる
    age2 = {'wada':45, 'seki':12}
    age.update(age2)
    print age
    
    #辞書の削除
    del age['wada']
    print age
    

    参考ページ

    大東文化大学 経済学部 経済学科 水谷正大氏のWebページ
    python入門
    ほぷしぃ 特集PC技術 Pythonを学ぼう