#9月4日 Python
Python2周目の学習
関数の作成、メソッドの処理、インスタンスの作成などは数を経てスムーズに出来るようになりましたが、inputで入力された値が文字列なので、それをint型に変換したり、printするときにstring型にしたり…そういった部分を見落とすことが多いので、注意が必要だなと感じました。
で、Progate上でPythonを2周し、基礎は掴めたように感じたので、今後PythonはAidemyで学習をしていこうと思います。
条件分岐
x =9 * 10
# ifなどの条件式の後ろには「:」をつける
# 条件式が適用されている範囲はインデントによって判定される
if x >= 100 :
print('xは100以上です') #条件式の範囲内
elif x >=50 :
print('xは50以上です')
# 条件式として機能しないパターン
if x == 70 :
print('xは70ではありません') #インデントが揃っており、条件式の範囲外
入力した数字を受け取る
# 変数 = input('コンソールに表示したい文字列')で数字を受け取る
# ※inputで受け取った値は文字列型になっているので、数値にする場合はintで変換
input_count = int(input('購入するりんごの個数を入力してください:'))
pythonにおけるリスト(配列)
# リスト化: リスト名 = [ , , , … ]
fruits = ['apple', 'banana', 'orange']
# リストの末尾に要素を追加する: リスト名.append()
fruits.append('grape')
# 配列の要素を繰り返して全て取り出す: for 変数名 in リスト名 :
for fruit in fruits :
print(fruit)
pythonにおける辞書
# キー名と値を用いて辞書化する: 辞書名 = {'キー名':'値','キー名':'値',…}
fruits = {'apple':'りんご','banana':'バナナ'}
# 辞書の特定のキーの値を出力する 辞書名['キー名']
print(fruits['banana'])
# 値を更新する: 辞書名['キー名'] = 値
fruits['banana'] = 300
#辞書に新しい要素を追加する: 辞書名['新しいキー名'] = 値
fruits['grape'] = 500
# 辞書の全要素を繰り返し処理をする: for 変数名 in 辞書名 :
# 変数名にキー名が順番に挿入される。値を呼び出すにはfruits[変数名] []内に''は用いない。
for fruit in fruits :
print(fruit+'は'+fruits[fruit]+'という意味です')
関数の定義
# 関数は「def 関数名():」のように定義する。コロンを忘れない。
# 関数に引数を渡す場合は、「def 関数名(引数):」とする
def print_hand() :
print('グーを出しました')
# 関数名()のように() をつけて呼び出す。
print_hand()
**ファイルの分割とモジュールの呼び出し
# モジュールを読み込んで使いたいファイルに「import モジュール名」と書くことで読み込む。
# ※モジュール名はファイル名から拡張子(.py)を取り除いたもの。
import utils
#「モジュール名.関数名()」と書くことで、モジュール内の関数を実行することができます。
utils.print_hand(player_hand, player_name)
# 標準ライブラリと呼ばれる関数を格納したモジュールが用意されている。
import math , import random , import datetime , …etc
pythonにおけるクラスとインスタンス
# クラスは「class クラス名:」とすることで定義出来る
class MenuItem:
# クラス名()でインスタンスを生成する事が出来る
# 「変数名 = クラス名()」とすることで、生成したインスタンスを変数に代入することが出来る
menu_item1 = MenuItem()
# クラスの中で定義した関数のことをメソッドと呼ぶ。
# メソッドの定義の方法は通常の関数と同様だが、第1引数にselfを追加する必要がある。
# クラスの中で定義したメソッドは、「インスタンス.メソッド名()」とすることで、
そのメソッドを呼び出すことが出来る
class MenuItem:
def info(self) :
print('メニューの名前と値段が表示されます')
# __init__メソッドは、「クラス名()」でインスタンスを生成した直後に自動で呼び出すことができる
# インスタンスを生成している「クラス名()」に対して引数を渡すことで、__init__メソッドにその値を渡すことができる
class MenuItem:
def __init__(self,name,price):
self.name = name
self.price = price
def info(self):
return self.name + ': ¥' + str(self.price)
menu_item1 = MenuItem('サンドイッチ',500)
print(menu_item1.info())
モジュールからクラスを直接呼出す
# from モジュール名 import クラス名とすることで、特定のクラスを直接呼び出すことが出来る
継承
#「class 新しいクラス名(元となるクラス名):」とすることで他のクラスを継承することが出来る
class Food(MenuItem):
# super().メソッド名()」とすることで、親クラス内に定義されたインスタンスメソッドを
# そのまま利用することが出来る。末尾に:は不要。