Python入門 - 構文

トップ > Python入門 > 構文

Hello world!

Python で Hello world! を出力するプログラムは下記の様に記述します。拡張子は .py(例: test.py) です。

print "Hello world!"

ただし、Python 3 では上記の記法は禁止され、下記の様に記述します。(以後、本書では、基本的に Python 2.7 に従って説明します。)

print("Hello world!")

プログラムが完成したら、次のように実行します。

python test.py

文・式

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

print "Hello"
print "World"

Perl や PHP の様にセミコロン(;)で区切ることもできます。

a = 5; b = 3; c = a + b
print c

文を数行に分けて記述したい場合は、行末にバックスラッシュ(\)を書きます。

total = 123 \
      + 456 \
      + 789

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

months = [ 'Jan', 'Feb', 'Mar', 'Apr',
           'May', 'Jun', 'Jul', 'Aug',
           'Sep', 'Oct', 'Nov', 'Dec' ]

コメント(#)

ハッシュ(#)から行末まではコメントとみなされます。

print "Hello"       # Helloと表示します

ただし、バックスラッシュによる継続行の箇所にはコメントを記述することができません。

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

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

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

インデント

Perl や PHP では文を { ... } で囲むことでブロック(複文)を構成しますが、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:) を指定してください。大文字・小文字は無視されます。

# coding: utf-8

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

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

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

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

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

Copyright(C) 2014 杜甫々
初版:2014年12月30日、最終更新:2014年12月30日
http://www.tohoho-web.com/python/syntax.htm