やり直しPython3(言語仕様基礎)

2016-04-17(Sun) by Makoto Yamahira

Python3の勉強(4) 言語仕様基礎

Python基礎勉強4日目です。今回は基礎的な言語仕様について。

インデント

コードは基本的に上から下の順番に実行されていく。
Pythonはインデントでプログラムの構造を定義する。(他の言語では波カッコやbegin, endなどのキーワードを使うことが多い)
インデントはスペースやタブ文字が使えるが一つの処理グループで統一されていなければならない。
人によって違うインデントの方法を使っていたら困る場合があるため「半角の空白4つ」を使うことが推奨されている。

    >>> [処理1]
    >>> [処理2]
    >>> [処理3]:
    >>>     [内部処理1]
    >>>     [内部処理2]:
    >>>         [さらに深い内部処理]
    >>>     [内部処理3]
    >>> [処理4]

コメント

実行するための処理ではなく、コードを見る人へのお知らせ用にコメントを書きたいことがある。
Pythonでは#の現れたところから、その文の行末まではコメントとみなされる。

    a = 1 # aに1を代入する

    # bに'abc'を代入する
    b = 'abc'

Pythonのコメントは仕様的には「#」だけであるがトリプルクォートを代用して複数行のコメントを書く場合も多い。

    '''
    aに3.1415を代入
    今回の処理ではこれ以上の精度は必要ない
    しかしこれ以下ではだめです
    なぜなら......
    '''
    a = 3.1415

コード内の改行

1行が長くなってしまう場合がある。
そんな時は「(バックスラッシュ)」を使うとコード中で改行できる。

    >>> long_calc = 1000 + 2000 + 3000 + 4000 + 5000 + 6000 + 7000 + \
    ...     8000 + 9000 + 10000 + 11000 + 12000 + 13000 + 14000 + \
    ...     15000 + 16000 + 17000 + 18000 + 19000 + 20000

真偽値

Pythonの真偽値は「True」「False」で表され色々な処理で利用できる。

    >>> my_opinion = True
    >>> her_opinion = False

ブール演算子(「and」「or」「not」)を使って真偽値をもとめることができる。  

   >>> my_opinion = True
   >>> her_opinion = False
   >>> our_opinion = my_opinion and her_opinion
   >>> our_opinion
   False
   >>> my_opinion or her_opinion
   True
   >>> not my_opinion
   False

比較演算子(「==」「!=」「<」「<=」「>」「>=」「in」)を使って真偽値をもとめることができる。

    >>> a = 5
    >>> b = 10
    >>> is_same = a == b    # a == b の計算結果をis_sameに代入
    >>> is_same
    False
    >>> a != b
    True
    >>> a < b
    True
    >>> a <= b
    True
    >>> a > b
    False
    >>> a >= b
    False
    a in [1, 2, 3, 4, 5]
    True
    b in [1, 2, 3, 4, 5]
    False

次のような計算もできる

    >>> a = 1
    >>> b = 3
    >>> c = 1 < a < 6    # 1 < a < 6 の計算結果をcに代入
    >>> c
    False
    >>> 1 < b < 6
    True

bool()関数で他の型から真偽値にキャストできる。
Falseになるのは「None」「数値のゼロ」「空文字」「空リスト」「空タプル」「空辞書」「空集合」である。

    >>> bool(None)    # None
    False
    >>> bool(0)       # 整数のゼロ
    False
    >>> bool(0.0)     # 浮動小数点数のゼロ
    False
    >>> bool('')      # 空文字のゼロ
    False
    >>> bool([])      # 空リストのゼロ
    False
    >>> bool(())      # 空タプルのゼロ
    False
    >>> bool({})      # 空辞書
    False
    >>> bool(set())   # 空集合
    False

それ以外はTrueになる。

    >>> bool(1)
    True
    >>> bool(2)
    True
    >>> bool(3.3)
    True
    >>> bool('aiueo')
    True
    >>> bool('あいうえお')
    True
    >>> bool([1, 2, 3])
    True

勉強に使っている本はオライリーの「入門Python3」


Comments