SlideShare una empresa de Scribd logo
1 de 15
ピカチュウによる
オブジェクト指向入門
(新版)
東京海洋大学
久保 幹雄
オブジェクトにくっついているものは
「オブジェクト. なんとか」と記述する!
つまり「.」(ドット)こそが
オブジェクト指向である!
例として
ピカチュウ(Pikachu) オブジェクトを考える!
class Pikachu():
….
Pikachu.cheak
ピカチュウ の ほっぺ
.
ピカチュウ(Pikachu)オブジェクト
の(・)ホッペ(cheak) 属性
(Attribute or Property)
Pikacyu.cry( )
ピカチュウ が(.) 泣く
cryメソッド
ピカチュウ が(.) 泣く
(cryメソッド=関数)
Pikachu.eat( “Apple” )
ピカチュウ が
「リンゴ」(引数) を(.) 食べる
ピカチュウオブジェクト
が(・)「リンゴ」(引数:ひきすう)
を食べる
class 型名( ):
def 初期化(自分,引数):
…
def メソッド(自分,引数):
…
実体 = 型名(引数)
class Pikacyu( ):
def _ _init_ _(self, owner ):
…
def cry(self):
…
def eat(self, something):
…
MyPika = Pikacyu( “Mikio”)
ピカチュウのクラス(型) Pikacyu
ピカチュウの(インスタンス)実体
Mikio’s Pikacyu
class Pikacyu():
def __init__(self,owner=""):
if owner=="":
self.name="Wild Pikacyu"
else:
self.name=Owner+"'s Pikacyu“
def __str__(self):
return self.name
ピカチュウのクラス(型)
コンストラクタ(初期化)
所有者(Owner)を引数
Owner は ”” が既定値
Ownerが””のときは
野生のピカチュウ
そうでないときは
名前をつける
文字列を返す
特別なメソッド
名前属性 .name を返す
Pika1=Pikacyu()
print Pika1
Pika2=Pikacyu("Satoshi")
print Pika2
Wild Pikacyu
Satoshi's Pikacyu
ピカチュウの(インスタンス)実体の生成
1000匹の野生のピカチュウ
for i in range(1000):
Pika=Pikacyu()
class Pikacyu():
id= 0
def __init__(self,owner=""):
Pikacyu.id +=1
self.number = Pikacyu.id
….
def __str__(self):
return self.name + " No." + str(self.number)
クラス変数とインスタンス変数
self.numberは 自分の
番号
これはインスタンス変数
idは ピカチュウクラスの
通し番号
これはクラス変数
インスタンスが生成される
度にクラス変数idを1増やす
名前と番号を返す
PikaList=[]
for i in range(100):
Pika=Pikacyu()
print Pika
PikaList.append(Pika)
1000匹のピカチュウインスタンスのリストの生成
Wild Pikacyu No.1
Wild Pikacyu No.2
Wild Pikacyu No.3
Wild Pikacyu No.4
Wild Pikacyu No.5
Wild Pikacyu No.6
...
Wild Pikacyu No.99
Wild Pikacyu No.100
継承
class FlyingPikacyu(Pikacyu):
def __init__(self,owner=""):
self = Pikacyu.__init__(self,owner)
def Fly(self):
print "I can fly!"
NewPika=FlyingPikacyu("Mikio")
print NewPika.fly()
>>> "I can fly!"
空飛ぶピカチュウクラスは
ピカチュウクラスを継承
新しい「空を飛ぶ」
メソッドの追加
親(スーパ-)クラス
子(サブ)クラス

Más contenido relacionado

La actualidad más candente

論文に関する基礎知識2015
論文に関する基礎知識2015論文に関する基礎知識2015
論文に関する基礎知識2015Mai Otsuki
 
卒修論プレゼンテーションの心得(2014年版)
卒修論プレゼンテーションの心得(2014年版)卒修論プレゼンテーションの心得(2014年版)
卒修論プレゼンテーションの心得(2014年版)Kei Gomi
 
[DL輪読会]GANとエネルギーベースモデル
[DL輪読会]GANとエネルギーベースモデル[DL輪読会]GANとエネルギーベースモデル
[DL輪読会]GANとエネルギーベースモデルDeep Learning JP
 
自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)
自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)
自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)Preferred Networks
 
Active Learning 入門
Active Learning 入門Active Learning 入門
Active Learning 入門Shuyo Nakatani
 
道具としての機械学習:直感的概要とその実際
道具としての機械学習:直感的概要とその実際道具としての機械学習:直感的概要とその実際
道具としての機械学習:直感的概要とその実際Ichigaku Takigawa
 
「生存時間分析」の報告事例
「生存時間分析」の報告事例「生存時間分析」の報告事例
「生存時間分析」の報告事例yokomitsuken5
 
[DL輪読会]機械学習におけるカオス現象について
[DL輪読会]機械学習におけるカオス現象について[DL輪読会]機械学習におけるカオス現象について
[DL輪読会]機械学習におけるカオス現象についてDeep Learning JP
 
落合陽一 筑波大 講演資料 10月17日
落合陽一 筑波大 講演資料 10月17日落合陽一 筑波大 講演資料 10月17日
落合陽一 筑波大 講演資料 10月17日Yoichi Ochiai
 
UX白書には本当は何が書かれているか
UX白書には本当は何が書かれているかUX白書には本当は何が書かれているか
UX白書には本当は何が書かれているかMasaya Ando
 
優れた問いを見つける(中京大学講演)
優れた問いを見つける(中京大学講演)優れた問いを見つける(中京大学講演)
優れた問いを見つける(中京大学講演)cvpaper. challenge
 
Tier Ⅳ Tech Meetup #2 - 自動運転を作るのはCloudシステムの集合体?? 活用技術を大解剖 -
Tier Ⅳ Tech Meetup #2 - 自動運転を作るのはCloudシステムの集合体?? 活用技術を大解剖 -Tier Ⅳ Tech Meetup #2 - 自動運転を作るのはCloudシステムの集合体?? 活用技術を大解剖 -
Tier Ⅳ Tech Meetup #2 - 自動運転を作るのはCloudシステムの集合体?? 活用技術を大解剖 -Tier_IV
 
責任あるAI ガバナンスガイドブック | Accenture Japan
責任あるAI ガバナンスガイドブック | Accenture Japan責任あるAI ガバナンスガイドブック | Accenture Japan
責任あるAI ガバナンスガイドブック | Accenture JapanAccenture Japan
 
「いい検索」を考える
「いい検索」を考える「いい検索」を考える
「いい検索」を考えるShuryo Uchida
 
相互情報量を用いた独立性の検定
相互情報量を用いた独立性の検定相互情報量を用いた独立性の検定
相互情報量を用いた独立性の検定Joe Suzuki
 
論理と計算のしくみ 5.3 型付きλ計算 (前半)
論理と計算のしくみ 5.3 型付きλ計算 (前半)論理と計算のしくみ 5.3 型付きλ計算 (前半)
論理と計算のしくみ 5.3 型付きλ計算 (前半)Lintaro Ina
 
アンサンブル学習
アンサンブル学習アンサンブル学習
アンサンブル学習Hidekazu Tanaka
 
機械学習で嘘をつく話
機械学習で嘘をつく話機械学習で嘘をつく話
機械学習で嘘をつく話Satoshi Hara
 
シンギュラリティサロン20211030ep
シンギュラリティサロン20211030epシンギュラリティサロン20211030ep
シンギュラリティサロン20211030epMasatoshi Yoshida
 

La actualidad más candente (20)

論文に関する基礎知識2015
論文に関する基礎知識2015論文に関する基礎知識2015
論文に関する基礎知識2015
 
卒修論プレゼンテーションの心得(2014年版)
卒修論プレゼンテーションの心得(2014年版)卒修論プレゼンテーションの心得(2014年版)
卒修論プレゼンテーションの心得(2014年版)
 
[DL輪読会]GANとエネルギーベースモデル
[DL輪読会]GANとエネルギーベースモデル[DL輪読会]GANとエネルギーベースモデル
[DL輪読会]GANとエネルギーベースモデル
 
自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)
自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)
自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)
 
Active Learning 入門
Active Learning 入門Active Learning 入門
Active Learning 入門
 
道具としての機械学習:直感的概要とその実際
道具としての機械学習:直感的概要とその実際道具としての機械学習:直感的概要とその実際
道具としての機械学習:直感的概要とその実際
 
「生存時間分析」の報告事例
「生存時間分析」の報告事例「生存時間分析」の報告事例
「生存時間分析」の報告事例
 
[DL輪読会]機械学習におけるカオス現象について
[DL輪読会]機械学習におけるカオス現象について[DL輪読会]機械学習におけるカオス現象について
[DL輪読会]機械学習におけるカオス現象について
 
落合陽一 筑波大 講演資料 10月17日
落合陽一 筑波大 講演資料 10月17日落合陽一 筑波大 講演資料 10月17日
落合陽一 筑波大 講演資料 10月17日
 
UX白書には本当は何が書かれているか
UX白書には本当は何が書かれているかUX白書には本当は何が書かれているか
UX白書には本当は何が書かれているか
 
優れた問いを見つける(中京大学講演)
優れた問いを見つける(中京大学講演)優れた問いを見つける(中京大学講演)
優れた問いを見つける(中京大学講演)
 
Deep forest
Deep forestDeep forest
Deep forest
 
Tier Ⅳ Tech Meetup #2 - 自動運転を作るのはCloudシステムの集合体?? 活用技術を大解剖 -
Tier Ⅳ Tech Meetup #2 - 自動運転を作るのはCloudシステムの集合体?? 活用技術を大解剖 -Tier Ⅳ Tech Meetup #2 - 自動運転を作るのはCloudシステムの集合体?? 活用技術を大解剖 -
Tier Ⅳ Tech Meetup #2 - 自動運転を作るのはCloudシステムの集合体?? 活用技術を大解剖 -
 
責任あるAI ガバナンスガイドブック | Accenture Japan
責任あるAI ガバナンスガイドブック | Accenture Japan責任あるAI ガバナンスガイドブック | Accenture Japan
責任あるAI ガバナンスガイドブック | Accenture Japan
 
「いい検索」を考える
「いい検索」を考える「いい検索」を考える
「いい検索」を考える
 
相互情報量を用いた独立性の検定
相互情報量を用いた独立性の検定相互情報量を用いた独立性の検定
相互情報量を用いた独立性の検定
 
論理と計算のしくみ 5.3 型付きλ計算 (前半)
論理と計算のしくみ 5.3 型付きλ計算 (前半)論理と計算のしくみ 5.3 型付きλ計算 (前半)
論理と計算のしくみ 5.3 型付きλ計算 (前半)
 
アンサンブル学習
アンサンブル学習アンサンブル学習
アンサンブル学習
 
機械学習で嘘をつく話
機械学習で嘘をつく話機械学習で嘘をつく話
機械学習で嘘をつく話
 
シンギュラリティサロン20211030ep
シンギュラリティサロン20211030epシンギュラリティサロン20211030ep
シンギュラリティサロン20211030ep
 

Más de Mikio Kubo

ここが変だよ人道支援ロジスティクス
ここが変だよ人道支援ロジスティクスここが変だよ人道支援ロジスティクス
ここが変だよ人道支援ロジスティクスMikio Kubo
 
サプライ・チェイン・アナリストになるために
サプライ・チェイン・アナリストになるためにサプライ・チェイン・アナリストになるために
サプライ・チェイン・アナリストになるためにMikio Kubo
 
ピカチュウによるPythonオブジェクト入門
ピカチュウによるPythonオブジェクト入門ピカチュウによるPythonオブジェクト入門
ピカチュウによるPythonオブジェクト入門Mikio Kubo
 
久保研究室とは
久保研究室とは久保研究室とは
久保研究室とはMikio Kubo
 
Mickey mouseに会うために
Mickey mouseに会うためにMickey mouseに会うために
Mickey mouseに会うためにMikio Kubo
 
Or seminar2011final
Or seminar2011finalOr seminar2011final
Or seminar2011finalMikio Kubo
 
4章在庫の数理
4章在庫の数理4章在庫の数理
4章在庫の数理Mikio Kubo
 

Más de Mikio Kubo (16)

Hl20160929
Hl20160929Hl20160929
Hl20160929
 
ここが変だよ人道支援ロジスティクス
ここが変だよ人道支援ロジスティクスここが変だよ人道支援ロジスティクス
ここが変だよ人道支援ロジスティクス
 
サプライ・チェイン・アナリストになるために
サプライ・チェイン・アナリストになるためにサプライ・チェイン・アナリストになるために
サプライ・チェイン・アナリストになるために
 
Why python
Why pythonWhy python
Why python
 
Why python
Why pythonWhy python
Why python
 
ピカチュウによるPythonオブジェクト入門
ピカチュウによるPythonオブジェクト入門ピカチュウによるPythonオブジェクト入門
ピカチュウによるPythonオブジェクト入門
 
Pythonintro
PythonintroPythonintro
Pythonintro
 
Python opt
Python optPython opt
Python opt
 
久保研究室とは
久保研究室とは久保研究室とは
久保研究室とは
 
Mickey mouseに会うために
Mickey mouseに会うためにMickey mouseに会うために
Mickey mouseに会うために
 
Or seminar2011final
Or seminar2011finalOr seminar2011final
Or seminar2011final
 
Scmbook5 e
Scmbook5 eScmbook5 e
Scmbook5 e
 
4章在庫の数理
4章在庫の数理4章在庫の数理
4章在庫の数理
 
Current trend
Current trendCurrent trend
Current trend
 
Python ehon1
Python ehon1Python ehon1
Python ehon1
 
Gurobi python
Gurobi pythonGurobi python
Gurobi python
 

ピカチュウによるPythonオブジェクト入門2