Python - 構文

式文

Python では、改行が文の区切りとなります。

print("Hello")
print("World")
文の区切り

文の区切りは ; で表すこともできます。

a = 5; b = 3; c = a + b
print(c)
文の区切り

Python でプログラムコードの行を継続するには、継続文字の \ を使用します。行末に \ を加えると、Python はまだ行替えをしていないものと判断します。

例えば、一般的な継続文字を使用せずに長い文字列を作る場合は以下のようなコードになります。

>>> alphabet = ''
>>> alphabet += 'abcdefg'
>>> alphabet += 'hijklmnop'
>>> alphabet += 'qrstuv'
>>> alphabet += 'wxyz'
長い文字列

しかし、継続文字を使うと以下のように記述することができます。

>>> alphabet = 'abcdefg' + \
...            'hijklmnop' + \
...            'qrstuv' + \
...            'wxyz'
継続文字を使った長い文字列

(...), [...], {...} 中のカンマの後ろは \を省略することができます。

months = [ 'Jan', 'Feb', 'Mar', 'Apr',
           'May', 'Jun', 'Jul', 'Aug',
           'Sep', 'Oct', 'Nov', 'Dec' ]
継続文字の省略

コメントアウト

Python でプログラムをコメントアウトするには # 文字を使用します。# 文字を使用すると、Python はその文字が現れたところから行末までを無視します。コメントは、ブロックコメントとインラインコメントに分類され、行の先頭からのコメントをブロックコメント、途中からのコメントをインラインコメントと呼びます。また、他の言語のように複数行をコメントアウトする /* ... */ のような文字は Python にはありません。

# ブロックコメント
print(xxx)  # インラインコメント
Python のコメントアウト

ただし、文字列の中に # 文字が含まれる場合は、コメントアウトする文字ではなくただの # 文字として扱われます。

>>> print("No comment: quotes make the # harmless.")
No comment: quotes make the # harmless.
(コメントではない。クォートを使うと#は無力になる。)
Python のコメントアウト

Python のコーディングルールをまとめたドキュメントである PEP8 の中には # 文字を使ったコメントについても推奨のルールが記載されています。

PEP8 のルールを遵守しなくとも文法上のエラーになるわけではありません。ただし、組織やプロジェクト、チームなどの複数人体制で開発を行う場合、コーディング規約として PEP8 に従った方が良いでしょう。

文とコメントの間は少なくとも 2 つのスペースを置くようにします。3 つ以上でも問題ありませんが、コメントの位置を揃えるために不要なスペースは除去します。

# No:
a = 1 # comment

# Yes:
a = 1  # comment

a = 1      # comment
xyz = 100  # comment
Python のコメントアウト (PEP8 推奨ルール)

インラインコメントは # 文字と、スペース 1 つから始めます。# 文字のあとにスペースが無くても 2 つ以上あってもいけません。

# No:
a = 1  #comment
a = 1  #  comment

# Yes:
a = 1  # comment
Python のコメントアウト (PEP8 推奨ルール)

ブロックコメントはコメント内でインデントされたテキストでない限り # 文字と、スペース 1 つから始めます。# 文字のあとにはスペースが 1 つ以上必要です。

# No:
#comment

# Yes:
# comment
#     indented comment
Python のコメントアウト (PEP8 推奨ルール)

先頭の # 文字は 1 つだけにします。

# No:
## comment

# Yes:
# comment
Python のコメントアウト (PEP8 推奨ルール)

インデント

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

a = 3
if a == 5:
    print("A")    # if文の対象
    print("B")    # if文の対象
print("C")        # if文の対象ではない
インデントによるブロック

エンコードルール

日本語など、ASCII 以外の文字を含むスクリプトを作成する場合は、スクリプトの 1 行目、または 2 行目にスクリプトのエンコードルールを指定してください。ただし、ファイルの文字コードが UTF-8 でエンコードされている場合、Python3 では記載は非推奨になっています。

# coding: utf-8

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

エンコードルールは、以下のいずれの記述方法でも構いません。

# coding: utf-8
# coding:utf-8
# coding=utf-8
# -*- coding: utf-8 -*- (Emacs 併用)
# -*- coding:utf-8 -*- (Emacs 併用)
# vim:fileencoding=utf-8 (Vim 併用)
エンコードルール

utf-8 以外のエンコードルールには以下などがあります。

# coding: Shift_JIS
# coding: EUC-JP
# coding: cp932
エンコードルール

関連記事

  1. プログラミング Python 入門
  2. Python の基本
    1. Python とは
    2. 構文
    3. print 関数
  3. 変数・数値・文字列
    1. 変数
    2. 数値
    3. 文字列
  4. リスト・タプル・辞書・集合
  5. 条件分岐
  6. 繰り返し処理
  7. 関数
  8. オブジェクトとクラス
Category:
プログラミング
公開日:
更新日:
Pageviews:
157
Shares:
1
Tag:
Python