Closed2
Pythonの基本
基本的なルール
連結について
- 異なる型同士の連結は不可
- 型変換により解決する
-
int()
やstr()
と記載することで型変換可能
配列と辞書
配列について
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
辞書について
- インデックスもクォーテーションで囲む
items = {'apple': 100, 'banana': 200, 'orange': 400}
繰り返し文
if文の記載方法
- 条件式の末尾にコロン
- if文の中身を記載する時は、インデント(字下げ)を必ず行う。(半角スペース4つ分)
score = 100
if score == 100:
print('よくできました')
elif score >= 60:
print('まずまずです')
else:
print('頑張りましょう')
for文について
- if文同様、条件式の末尾にコロン、for文の中身の記載時にはインデントを行う。
- JSのような変数も用意する。
fruits = ['apple', 'banana', 'orange']
for fruit in fruits:
print ('好きな果物は' + fruit + 'です')
while文の記載方法
- while文は「ある条件に当てはまる間、処理を繰り返す」ことが可能。
- if文・while文同様、条件式の末尾にコロン、while文の中身の記載時にはインデントを行う。
x = 10
while x > 0:
print (x)
x -= 1
break
- for文やwhile文の繰り返しの途中で終了することができる
numbers = [765, 921, 777, 256]
for number in numbers:
print(number)
if number == 777:
print('777が見つかったので処理を終了します')
break
continue
- continueはその周の処理をスキップする
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for number in numbers:
if number % 3 == 0 :
continue
print(number)
関数
関数の記載方法
def print_hand(hand, name):
print(name + 'は' + hand + 'を出しました')
引数の初期値の設定
- 関数の定義時に初期値を設定することが可能。
- 関数の呼び出し時に引数の記載が省略されていた場合、初期値が適用される。
def print_hand(hand, name='ゲスト'):
print(name + 'は' + hand + 'を出しました')
print_hand('グー')
クラスとメソッド
メソッドについて
- メソッド(クラス内の関数)を定義する際は、第1引数に
self
を追加する必要あり - この
self
は、メソッドを呼び出したインスタンス自身が代入される。
class MenuItem:
def info(self):
print(self.name + ': ¥' + str(self.price))
## インスタンス生成
menu_item1 = MenuItem()
menu_item1.name = 'サンドイッチ'
menu_item1.price = 500
## インスタンスメソッドの呼び出し
menu_item1.info()
### インスタンス生成
menu_item2 = MenuItem()
menu_item2.name = 'チョコケーキ'
menu_item2.price = 400
## インスタンスメソッドの呼び出し
menu_item2.info()
__init__メソッド
- インスタンス生成時に自動で呼び出されるメソッド(Javaで言うコンストラクタ?)
- 定義方法は通常のメソッドと同様
- インスタンス生成時に引数を渡したい場合、この__init__メソッドに引数が渡るよう記載する。
class MenuItem:
#__init__メソッドの宣言
def __init__(self, name, price):
self.name = name
self.price = pricesele
importとクラス
- 冒頭に
from moduleName import className
と記載することで、muduleName.className
ではなくclassName
と記載するだけで読み込むことが出来るようになる
## モジュールを読み込む場合
import menu_item
menu_item1 = menu_item.Menuitem()
##########################
## クラスを直接読み込む場合
from menu_item import MenuItem
menu_item1 = MenuItem
継承
継承について
- 継承の際は、
class ChildClassName(
ParentClassName):
と行うことで可能
# 親クラスの読み込み
from menu_item import MenuItem
class Food(MenuItem):
pass
オーバーライド
- 親クラスにあるメソッドと同じ穴目のメソッドを子クラスで定義することで上書きができる(オーバーライド)
- オーバーライドを行うと、メソッドを呼び出した際は子クラスのメソッドが呼び出されるようになる。
- __init__メソッドもオーバーライド可能
super()
- オーバーライドしたメソッド中で
super()
とすることで、親クラスを呼び出すことが可能 -
super().methodName()
とすることで、親クラス内のインスタンスメソッドをそのまま利用できる。(__init__メソッドも同様) - これにより、親クラスのメソッドと同様の処理を子クラスに記載する必要が無くなる。
menu_item
class MenuItem:
def __init__(self, name, price):
self.name = name
self.price = price
def info(self):
return self.name + ': ¥' + str(self.price)
def get_total_price(self, count):
total_price = self.price * count
if count >= 3:
total_price *= 0.9
return round(total_price)
food
class Food(MenuItem):
# __init__メソッドの宣言
def __init__(self, name, price, calorie):
# 親クラスの__init__メソッドの呼び出し
super().__init__(name, price)
self.calorie = calorie
def info(self):
return self.name + ': ¥' + str(self.price) + ' (' + str(self.calorie) + 'kcal)'
def calorie_info(self):
print(str(self.calorie) + 'kcalです')
このスクラップは18日前にクローズされました