【Python3】構文・コメントの書き方

構文

Python では、改行が文の区切りとなります。
Perl や PHP の様にセミコロン(;)で区切ることもできます。

1文を複数行に分けて記述したい時は、行末にバックスラッシュ(\)を書きます。
(…), […], {…} 中のカンマ(,)の後ろはバックスラッシュ(\)を省略することができます。

文字列を囲む時は
シングルクォーテーションでもダブルクォーテーションでも可。
ダブルクォーテーションの中ではシングルクォーテーションを
シングルクォーテーションの中ではダブルクォーテーションを使うことができます。

またダブルクォーテーション中にダブルクォーテーションを使いたいときは、
文字列中のダブルクォーテーションの前にバックスラッシュ( \ )を付けます。
シングルクォーテーションの場合もバックスラッシュ( \ )を付けます。

“文字列" や '文字列’ の前に r または R をつけると、
後述するエスケープシーケンスが無視されます。

三重クォート “""文字列""" や "’文字列"’ は、
複数行にまたがった文字列を記述することができます。
複数の文字列をスペースで区切ることで、連結することができます。

コメント

Python でプログラム中にコメントを記述する場合、
コメントの前に「#」を記述します。
「#」から行末までが全てコメントとなります。

バックスラッシュで複数行で記述している箇所には、コメントを記述することができません。

total = 123 \    # ここにコメントは記述できない
      + 456      # ここには記述できる

カンマ(,)による継続行にはコメントを記述することができます。

months = [ 'Jan', 'Feb', 'Mar', 'Apr',     # ここにはコメントを記述できる
           'May', 'Jun', 'Jul', 'Aug',     # ここにはコメントを記述できる
           'Sep', 'Oct', 'Nov', 'Dec' ]

インデント

Perl や PHP では if 文等で { … } で囲むとブロックみなされますが
Python ではインデント(行頭の空白文字の数)が同じ役割を持ち、
同じ数の空白でインデントされた文がブロックとみなされます。

a = 3
if a == 5:
    print "AAA"    # if文の対象
    print "BBB"    # if文の対象
print "CCC"        # if文の対象ではない

インデントには通常、4個の空白文字を使用します。
タブ文字は、インデントが8の倍数になるように1~8個の空白文字とみなされます。

[空白][空白][TAB]print "AAA"         # 8文字の空白とみなされる

エンコードルール(coding:)

日本語など、ASCII 以外の文字を含むスクリプトを作成する場合は、
スクリプトの 1 行目、もしくは 2 行目にエンコード形式をを指定します。
大文字・小文字は無視されます。

# coding: utf-8

print "Hello world"    # 文字列やコメントに日本語を使えるようになります

もしくは、

# coding=utf-8

print "Hello world"    # 文字列やコメントに日本語を使えるようになります

Emacs との互換性を考慮し、下記の様に記述することもできます。

# -*- coding: utf-8 -*-

エンコードルールには下記などがあります。

# coding: utf-8
# coding: Shift_JIS
# coding: EUC-JP
# coding: cp932

識別子

Python で変数などを定義する際には、
1文字目は英文字もしくはアンダーバーで、2文字目以降は数字も使えます。
大文字と小文字は区別します。
記号は使えません。

一般的には、クラス名は大文字で始まり、それ以外の場合には小文字で始めます。
また、単一のアンダーバーで始まる識別子は、プライベートであることを意味するそうです。

予約語

and       del       for       is        raise
assert    elif      from      lambda    return
break     else      global    not       try
class     except    if        or        while
continue  exec      import    pass      yield
def       finally   in        print

Python3入門

Posted by 管理人