Python入門3

忘れるので制御構造とか。

if文

if x<0:
    # statement
elif x==0:
    # statement
elif x==1:
    # statement
else
    # statement

for文

  • カウンタでまわすのではなく、リストのデータ分繰り返す
list = ['A', 'B', 'C', 'D']
for v in list:
    print(v)
  • カウンタでまわすのも可能
for i in Range(5):
    print(i)
# この場合、0 1 2 3 4 と出力される
  • forのelse は for分のリストがなくなったら実行される
  • break した場合は実行されない
for i in range(5):
    print(i)
else:
    print('end of for')
break
  • 一番内側の for 文 / while 文を抜ける
for i in range(5):
    if i==2:
        break
    print(i)
else:
    print('end of for')
continue
  • 一番内側の for 文 / while 文の残りの処理をスキップし、次回のループを処理する

while 文

i = 0
while i<10:
    print(i)
    i+=1

pass

  • 何もしない
class MyClass:
    pass

関数の定義

  • 引数は任意。デフォルト値も与えられる。*で可変引数。
  • 戻り値も任意だが、return のみや return しない場合は、None が返る
def func1(v, v2='ABC', *v3):
    return v

ディクショナリ

  • ハッシュ、連想配列
  • キー:値 でデータを持つ
#!/usr/bin/env python3.2
# -*- coding : utf-8 -*-

def main():
	site = {'google' : 'www.google.com', 'yahoo' : 'www.yahoo.com'}
	site['amazon'] = 'www.amazon.com'
	print(site)
	del site['yahoo']
	print(site)
	if 'google' in site:
		print(site['google'])
	if 'yahoo' not in site:
		print("'yahoo' not in site")

if __name__ == "__main__":
	main()

例外処理

  • try - except - else 。else は 例外発生しなかったら最後に実行される。else は任意。
  • raise で例外再送出。
#!/usr/bin/env python3.2
# -*- coding : utf-8 -*-

import sys

def main():
	try:
		f = open('a')
	except IOError as err:
		print(err)
# 複数書くことも可能
#   except (RuntimeError, TypeError):
	except:
		raise
	else:
		print("end of try")

if __name__ == "__main__":
	main()