技術的な話

Python - 大体この辺を押さえておけば大丈夫!よく使うPython記法一覧

Python 環境条件

この Python 記法は以下の環境でお送りします。


  • Python 3.9.1

Python で変数を定義しよう

定数・変数定義

### source code
# int
test_a:int = 1
# string
test_b:str = "hoge"

print(test_a)
print(test_b)

### result
1
hoge

文字列(変数入り)定義

### source code
test_a = 170
test_b = f'my height is {test_a} cm'

print(test_b)

### result
my height is 170 cm

リスト定義 - 初期化

### source code
test_array_a = []
test_array_b = [1, 2, 3, 4, 5]
test_array_c = ['a', 1, 'b', 2]

print(test_array_a)
print(test_array_b)
print(test_array_c)

### result
[]
[1, 2, 3, 4, 5]
['a', 1, 'b', 2]

リスト定義 - 要素数

### source code
test_array_a = []
test_array_b = [1, 2, 3, 4, 5]
test_array_c = ['a', 1, 'b', 2]

print(len(test_array_a))
print(len(test_array_b))
print(len(test_array_c))

### result
0
5
4

リスト定義 - リスト同士の足し算

### source code
test_array_a = []
test_array_b = [1, 2, 3, 4, 5]
test_array_c = ['a', 1, 'b', 2]

print(test_array_b + test_array_c)

### result
[1, 2, 3, 4, 5, 'a', 1, 'b', 2]

リスト定義 - リスト同士の足し算

### source code
test_array_a = []
test_array_b = [1, 2, 3, 4, 5]
test_array_c = ['a', 1, 'b', 2]

print(test_array_b + test_array_c)

### result
[1, 2, 3, 4, 5, 'a', 1, 'b', 2]

リスト定義 - 要素追加・削除

### source code
test_array_a = []
test_array_b = [1, 2, 3, 4, 5]
test_array_c = ['a', 1, 'b', 2]

# 要素を追加
test_array_a.append(999)
test_array_c.append('c')
# 要素を削除(indexを指定)
test_array_b.remove(1)

print(test_array_a)
print(test_array_b)
print(test_array_c)

### result
[999]
[2, 3, 4, 5]
['a', 1, 'b', 2, 'c']

タプル定義 - 初期化

### source code
test_tuple_a = (1, 2)
test_tuple_b = (1, 'a', 2)

print(test_tuple_a)
print(test_tuple_b)

### result
1
2

タプル定義 - 初期化

### source code
test_tuple_a = (1, 2)
test_tuple_b = (1, 'a', 2)

print(test_tuple_a)
print(test_tuple_b)

### result
1
2

タプル定義 - 要素取得

### source code
test_tuple_a = (1, 2)
test_tuple_b = (1, 'a', 2)

print(test_tuple_a[0])
print(test_tuple_b[1])

### result
1
a

タプル定義 - 要素数

### source code
test_tuple_a = (1, 2)
test_tuple_b = (1, 'a', 2)

print(len(test_tuple_a))
print(len(test_tuple_b))

### result
2
3

Python における条件分岐や論理演算子

条件分岐 - if文

### source code
ok = True
ng = False

if ok :
    print('OK')
else:
    print('NG')

if not ng :
    print('OK')
else:
    print('NG')

if ok and ng :
    print('OK')
else:
    print('NG')

### result
OK
OK
NG

条件分岐 - if文(elifも)

### source code
test_num_a = 1
test_num_b = 5

if test_num_a > test_num_b:
    print('aはbより大きい')
elif test_num_a == test_num_b:
    print('aとbは同じ')
else:
    print('それ以外')

### result
それ以外

条件分岐 - case文

Pythonにはcase文は存在しないので、実装するとしたらif文で実装します

比較演算子

### source code
print(1 == 3)
print(1 != 3)
print(1 > 3)
print(1 < 3)
print(1 >= 3)
print(1 <= 3)
print(3 in [1, 2, 3])
print(3 not in [1, 2, 3])

### result
False
True
False
True
False
True
True
False

論理演算子

### source code
print(True or False)
print(True and False)
print(not True)

### result
True
False
False

for / while を Python で使ってみる

for(Index有り)

### source code
test_array_a = [3, 4, 2, 1, 5]

for i in range(len(test_array_a)):
    print(test_array_a[i])

### result
3
4
2
1
5

for(Index無し)Index使用しないなら基本的にはこの記載方法かな…

### source code
test_array_a = [3, 4, 2, 1, 5]

for i in range(len(test_array_a)):
    print(test_array_a[i])

### result
3
4
2
1
5

for - 特定条件でskipする

### source code
test_array_a = [3, 4, 2, 1, 5]

for item in test_array_a:
    if item > 3:
        print('3より大きい')
        continue
    print(item)

### result
3
3より大きい
2
1
3より大きい

for - 後処理

### source code
test_array_a = [3, 4, 2, 1, 5]

for item in test_array_a:
    print(item)
else:
    print('for loop end')

### result
3
4
2
1
5
for loop end

for - break

### source code
test_array_a = [3, 4, 2, 1, 5]

for item in test_array_a:
    if item > 3:
        break
    print(item)
else:
    print('for loop end')

### result
# breakで抜けた場合は後処理がされない
3

while - 条件有り

### source code
condition = 0
while condition < 5:
    print(condition)
    condition += 1

### result
0
1
2
3
4

while - 無限ループ

### source code
condition = 0
while True:
    print(condition)
    condition += 1

### result(Ctrl + cでキャンセル)
0
1
2
3
4
…

関数定義を Python でやってみる

関数 - 引数無し / 戻り値無し

### source code
def show():
    print('show func')

show()

### result
show func

関数 - 引数有り / 戻り値無し

### source code
def show(message):
    print(message)

show('show func call')

### result
show func call

関数 - 引数有り / 戻り値有り

### source code
def show(message):
    return f'show func return : {message}'

print(show('show func call'))

### result
show func return : show func call

Java でよくやるクラス定義を Python で実装してみる

コンストラクタ

### source code
class MyClass():
    def __init__(self):
        pass

    def print_method(self):
        print('sample method')
    
    def calc_method(self):
        print(1 + 1)

my_class = MyClass()
my_class.print_method()
my_class.calc_method()

### result
sample method
2

コンストラクタ - インスタンス変数有り

### source code
class MyClass():
    def __init__(self):
        self.test_a = 1
        self.test_b = 4

    def print_method(self):
        print(f'print my class variables. test_a:{self.test_a} test_b:{self.test_b}')
    
    def calc_method(self):
        print(self.test_a + self.test_b)

my_class = MyClass()
my_class.print_method()
my_class.calc_method()

### result
print my class variables. test_a:1 test_b:4
5

コンストラクタ - 引数有り(デフォルト値を与えることも可能)

### source code
class MyClass():
    def __init__(self, a=1, b=4):
        self.test_a = a
        self.test_b = b

    def print_method(self):
        print(f'print my class variables. test_a:{self.test_a} test_b:{self.test_b}')
    
    def calc_method(self):
        print(self.test_a + self.test_b)

my_class = MyClass()
my_class.print_method()
my_class.calc_method()

my_class_2 = MyClass(2, 5)
my_class_2.print_method()
my_class_2.calc_method()

### result
print my class variables. test_a:1 test_b:4
5
print my class variables. test_a:2 test_b:5
7

コンストラクタ - クラス変数

### source code
class MyClass():
    # class variable
    test_a = 1
    def __init__(self):
        pass

    def print_method(self):
        print('sample method')
    
    def calc_method(self):
        print(1 + 1)

my_class = MyClass()
my_class.print_method()
my_class.calc_method()
print(my_class.test_a)

### result
sample method
2
1

-技術的な話
-, , , ,