Python3 基礎文法チェック

akashi.py 第一回(2015/06/14) 資料。ハマるところも少ないのでPython3に絞って説明

Hello World

pythonには対話環境が用意されているので、わざわざファイルを作らなくても簡単に動かせる。


In [1]:
print('Hello World')


Hello World

変数

動的型付け。C言語のようにint等は指定しなくていい。


In [2]:
a = 'Hello World'     # str
b = 1                 # int
c = 1.0               # float
d = [1, 2, 3]         # list
e = (1, 2, 3)         # tuple
f = {'a': 1, 'b': 2,} # dict
g = True              # bool

操作に関しては必要に応じてGoogleで検索した方が早いです。

変数の表示


In [9]:
a = 'c-bata'
print('Hello %s !' % a)


Hello c-bata !

制御構文

条件分岐

Switch文は無い


In [10]:
a = -5
if a == 0:
    print('aは0です')
elif a >= 0:
    print('aは正です')
else:
    print('aは負です')


aは負です

forループ


In [11]:
items = ['c-bata', 'c_bata_', 'kare-meshi']
for item in items:
    print(item)


c-bata
c_bata_
kare-meshi

In [12]:
for i in range(3):
    print(i)


0
1
2

whileループ


In [13]:
i = 0
while i < 3:
    i += 1
    print(i)


1
2
3

関数


In [14]:
def add(x, y):
    return x + y

add(2, 3)


Out[14]:
5

import


In [15]:
import math
math.sqrt(2)


Out[15]:
1.4142135623730951

In [16]:
from math import pow
pow(2, 10)


Out[16]:
1024.0

In [17]:
from math import pi as ensyuritsu
ensyuritsu


Out[17]:
3.141592653589793

自分で作ったモジュールもimportできます。名前の衝突には注意。

クラス

オブジェクト指向とか習ってない人はまだ分からなくても大丈夫です。一応紹介。


In [18]:
class Point(object):
    def __init__(self, x, y):
        self.x, self.y = x, y
        self.name = None

    def get_euclidean_distance(self):
        return math.sqrt(self.x**2 + self.y**2)

In [19]:
point = Point(3, 4)
point.get_euclidean_distance()


Out[19]:
5.0

$\sqrt{(3^2 + 4^2)} = 5$

その他

標準入力


In [20]:
print(input())


hello
hello

コメント


In [21]:
# 1行コメント

In [22]:
"""複数行コメント
ダブルクオーテーション3つで囲ってください。
これはブロック文字列ですが、複数行コメントのように扱われます。
"""


Out[22]:
'複数行コメント\nダブルクオーテーション3つで囲ってください。\nこれはブロック文字列ですが、複数行コメントのように扱われます。\n'