7/16(木) AIプログラミング off

9:00~9:08 出席確認+情報技術者試験について

~9:12
・前回は、関数が関数を呼ぶ
・今回は関数の呼び出しの復習+α(引数について)
→今日やるパターンを抑えれば、関数は大体できるようになったかなって感じらしい
・辞書型(リストと関係あり)
・クラス→導入部分(オブジェクト指向とも呼ばれる)

~9:21
・まず辞書型について
・まずは簡易的なものを書いてみよう
・dict={"A":100 , "B":80 ,"C":60}

print(dict["A"])

→Aの100が出力される(B,Cも同様)

~9:27
・複数の戻り値について(関数の戻り値が複数ある場合)
→カンマでつなげば複数返せる
・def func():
return(1,2,3)

 result=func() #引数ないので ()
 print(result[0])
 print(result[1])
 print(result[2])
・出力
 1
 2
 3

~9:38
・引数を指定して関数を呼びだす
・def price (adult,child):
return adult * 1200 + child *500

 print(price(1,1))
 print(price(adult=1,child=2))
 print(price(child=2,adult=1))
・出力
1700
2200
2200

・price関数は2つの引数が必要になる
・7行目:price関数の引数に直接値を渡すアプローチ
・8行目のように、引数が順番どうりじゃなくても、
7行目のように直接値を渡す方法は便利である
→引数が今後増えていくと便利になる方法である

~9:53
・引数に初期値を持たせる
・def calc(size="s" , num=1):
unit_price={"s":120 ,"M":150 , "L":180}
price=unit_price[size] * num
return(size , num ,price)

#calc ()を試す
a=calc() #サイズ 、個数ともに省略
print(f"{a[0]}サイズ、{a[1]}個、{a[2]}円" )

b=calc("L") #個数を省略
print(f"{b[0]}サイズ、{b[1]}個、{b[2]}円")
・出力
sサイズ、1個、120円
Lサイズ、1個、180円

・引数が多い関数は、初期値が与えられていることが
多いので、必要なので選択していくことが多い。
・関数の中のコードはブラックボックスだが、
~と~が分かれば問題ない

~10:30
・クラスについて
・プロブラムは難しくないが、考え方がムズイ
・class Car :
def __init__(self,color="white"):
self.color=color
self.mileage=0
self.price=0

def drive(self,km):
self.mileage+=km
msg=f"{km}kmドライブしました。走行距離は{self.mileage}kmです"
print(msg)

car1=Car()
car2=Car("red")

print(car1.color)
print(car2.color)

・出力
white
red

・+α(上のコードに追加する)
car2.color="pink"
print(car2.color)
car2.drive(100)
car2.drive(50)

・出力
white
red
pink
100kmドライブしました。走行距離は100kmです
50kmドライブしました。走行距離は150kmです

~10:40
休憩

~11:06
・さっきの続きをやる前に
→クラスやインスタンスの説明
・インスタンスはクラスの中に入っている
・クラスは設計書みたいなもので、実体はインスタンス変数
→このあたりはオブジェクト指向
→pythonでもこの考え方が採用されている
→来週も引き続きやっていく
・関数の管理が楽になる
・プログラムの根底の考えとしては共通な部分は一括で扱いたい
・休憩前のコードを解説

~12:00
・Circle関数を作ろう
・両方求める
・引数としては、円周率を
・戻り値を2つ戻す
・今日の演習問題

~12:10
・演習問題

※課題なし

※授業中の殴り書きなので、何か間違えがあれば連絡ください

この記事が気に入ったらサポートをしてみませんか?