Pythonの基本構文

ここではPythonの次のような基本項目を整理します。

  • オフサイドルール
  • 制御構文
  • 関数(固定・可変長パラメータ)
  • オブジェクトの比較・確認
  • コメント
  • グローバル変数

| オフサイドルール

Pythonでは、if文やfor文などのブロック(文の塊)を「字下げ(インデント)」で表現します。ブロックをインデントで表現するルールが適用されており、これを「オフサイドルール」と呼びます。

このルールによって、どんな人が記述しても、ある程度見た目が統一され、読みやすくなると言われています。

 

if bShow == True:
    for i in range(10):
        print('{} : Hello Python!'.format(i + 1))

制御構文(if/for/while etc)や関数・クラスの後には必ず「:(コロン)」を付与する必要があるので、C/C++、Javaに慣れている方は注意。

 

 

| 制御構文

Pythonでは、条件分岐にはif-elif-else、繰り返しはfor-inwhiledo-whileなどを使います。このあたりは、C/C++やJavaと同じですね。

 
if i == 10:
    print('iは10です')
elif i < 10:
    print('iは10より小さいです')
else:
    print('iは10より大きいです')

 

繰り返しはfor-in.

 
for i in range(10):
    if (i > 5):
        break
    print('count {}'.format(i))
else: # 繰り返し処理の最後に実行したい場合
    print('finish count')

 

繰り返しwhileの書き方

i = 0
while i < 10:
    if (i == 5):
        continue # 繰り返し文ではcontinueも使えます.
    print('always print')
else: # 繰り返し処理の最後に実行したい場合.
    print('finish print')

 

例外(try-except-else-finally)もあります。下記のように例外処理を記述できます。

strNum = '123'
try:
    strNum[5] = '0' # インデックスアクセス例外
except IndexError:  # 指定の例外発生の場合
    print('IndexError')
except:  # 上記で定義された例外以外の場合
    print('Other')
else:    # 例外発生なしの場合
    print('Not Occurence')
finally: # 最後に必ず実行
    print('Final')

 

例外の発生はraiseを使います。

class OrgException(Exception):
    def __init__(self, contens):
        self.contents = contents

try:
   raise OrgException('Error Occurence')
except: OrgException as e:
   print('OrgException: contents={}'.format(e.contens))

上記構文のほか、下記のような構文があります。

  • with : オブジェクトの開始、終了処理が規定できる
  • assert : 期待通りに値が設定されているかを確認する(__debug__がTrueの場合のみ)
  • pass : 何もしない。中身がない関数やクラスの作成時に用いる
  • del : オブジェクトの削除する際に用いる

 

 

| 関数

Pythonの関数は「def」で表現します。関数定義の最後には:(コロン)を付与するため、つけ忘れに注意です。デフォルトパラメータとして引数に値を指定しておくことができます。戻り値は「return x」で値を返却できます。returnを省略するとNoneを返却します。

関数定義の例は以下の通りです。

 
def funcSample(a, b='こんばんは'):
    strPrint = '{}さん {}'.format(a, b)
    return strPrint

# 引数付きで呼び出し.
strA = funcSample('A', 'こんにちは')
print(strA)
# 引数省略して呼び出し.
strB = funcSample('B')
print(strB)

上記プログラムの結果は、次のような形で出力されます。

Aさん、こんにちは
Bさん、こんばんは

 

 

| 可変長パラメータ

関数で可変長引数を受け取る場合は「*args」を使います。また、「**args」で辞書型の引数を受け取ることができます。

 
def funcA(*args):
    print(args)

funcA('a','b','c')

def funcB(**args):
    print(args)

funcB(a='a1',b='a2')

 

 

| オブジェクトの比較・確認

オブジェクト同士の比較は、次のように記述します。

 
a is b     # 同じオブジェクトか?
a is not b # 違うオブジェクトか?
a in b     # aがbの要素か?
a not in b # aがbの要素ではないか?

オブジェクトが何も参照されていないか否かを確認する場合は次のように記述します。

 
if obj is None:
    print('オブジェクトがありません')

 

 

| 文を複数行に分ける

\(バックスラッシュ)」を指定すれば、ひとつの繋がった文として扱えます。

 
total = 123 + \
        456 + \
        789

 

 

| コメント

#」ではじまる文はコメントになります。

 
# Pythonのコメントです。
print('Hello Python!')

”’」で囲むと文字列化される(範囲コメントアウトのように使えます)。

 
'''
# この範囲は文字列化されます。
print('Hello Python!')
'''

 

 

| グローバル変数

グローバル変数は変数名を指定すれば参照は可能ですが、更新の際は「global」の指定が必要です。

 
global targetVariable
targetVariable = 1

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です