SlideShare una empresa de Scribd logo
1 de 26
Python の基本
Python の使い方,Google Colaboratory,
変数,式,関数,オブジェクト,
クラス,コンストラクタ,メソッド,継承
URL:https://www.kkaneko.jp/cc/pintro/index.html
1
金子邦彦
Python の使い方(Windows パソコン)
• Python 処理系の起動(Windows の場合)
• python または py -3.9 (3.9 はバージョン番号)
• pip の起動(Windows の場合)
• コマンドプロンプトを管理者として実行し,python -m pip
または py -3.9 –m pip(3.9 はバージョン番号)
• Python 開発環境
• Jupyter Qtconsole jupyter qtconsole で起動
• Nteract jupyter nteract で起動
• Jupyter Lab jupyter lab で起動
• spyder spyder で起動
Python 処理系と開発環境のインストール手順は、次の
ページ等で説明
https://www.kkaneko.jp/cc/tools/index.html
2
Python プログラムの実行
3
コマンドプロンプト Jupyter Qtconsole
• Python プログラムファイルの実行
• Python プログラムの対話的(インタラクティブ)実行
コマンドプロンプト
Google Colaboratory
Visual Studio Code
プログラム作成ができるウエブサービス
(オンラインの開発環境)の例
4
Google Colaboratory https://colab.research.google.com/
• Python の開発環境
• 人工知能,データサイエンス,その他多数のパッケージがイ
ンストール済み
• コードセル,テキストセルを複数ノートブックにまとめ,保
存や公開できる
• ノートブックにより,記録が簡単に残せる.ビジュアルな表
示も簡単に可能
• プログラムの共有も簡単
Google Colaboratory を使ってみる
① Google Colaboratory のWebページを開く
https://colab.research.google.com
② 「ファイル」で、「ノートブックを新規作成」を
選ぶ
5
③ Google アカウントでのログインが求められたと
きはログインする
④コードセルの中に Python プログラムを書き、
「再生ボタン」をクリック
6
変数
変数: 変数には名前と値がある
7
式
式から値が求まる
式は変数を含むことができる
8
式の抽象化と関数
類似した複数の式
式「a * 1.08」を含む関数
foo を定義し使用 9
上の3つの式を抽象化
すると,「a * 1.08」の
ような式になる.
Python のデータの種類とデータ型名(クラス名)
type を用いて
データ型名(クラス名)
を取得 10
関数
11
類似した複数の式
変数 a を使って,複数
の式を1つにまとめる
(抽象化)
a * 1.1
100 * 1.1
150 * 1.1
400 * 1.1
式「a * 1.1」を含む
関数 foo を定義
関数 foo を使用.
100, 150, 400 は引数
式の評価のタイミング
← foo(100) の値は 30000
a 100 x 300
← foo(100) の値は 300000
a 100 x 3000
関数の中の式「a * x」の評価
では,最新の a の値,最新の x
の値が用いられる
12
オブジェクトとメソッド
• オブジェクト
コンピュータでの操作や処理の対象となるもののこと.
※ 値が変化するオブジェクトのことを変数と呼んだりもする
• メソッド
オブジェクトに属する操作や処理のこと
13
hero.moveDown()
hero オブジェクト
moveDown() メソッド
間を「.」で区切っている
クラス
• クラスは,同じ種類のオブジェクトの集まりと考
えることができる
14
人間
学生
学生でもあり人間でもある 人間だが、学生ではない
Python のクラスとオブジェクト
次の2つのオブジェクトを生成する Python プログラム
• このとき,次のクラスを使うことにする
15
クラス名 C
属性 qty, weight, name
x 5 170.51 'apple'
y 3 40.97 ‘orange'
qty weight name
x = C(5, 170.51, 'apple')
y = C(3, 40.97, 'orange')
Python プログラム
class C(object):
def __init__(self, qty, weight, name):
self.qty = qty
self.weight = weight
self.name = name
Python プログラム
コンストラクタ
コンストラクタは,オブジェクトの生成を行う
メソッドである.
16
class C(object):
def __init__(self, qty, weight, name):
self.qty = qty
self.weight = weight
self.name = name
コンストラクタ
• メソッド定義内では,self +「.」で属性やメソッド
にアクセスする
• 「.」+メソッド名によるメソッド呼び出し
属性アクセスとメソッド
17
class C():
def __init__(self, qty, weight, name):
self.qty = qty
self.weight = weight
self.name = name
def total(self):
return self.qty * self.weight
属性アクセスとメソッド
vars() による属性表示
「.」+属性名による
属性アクセス
18
スーパークラス,サブクラス
• スーパークラス「人間」
• サブクラス「学生」
「学生」のオブジェクトは,すべて「人間」である
(あるサブクラスに属するオブジェクトは、その
スーパークラスにも属する)
19
人間
学生
学生でもあり人間でもある 人間だが、学生ではない
継承
• 継承とは,スーパークラスの属性とメソッドをサブ
クラスが受け継ぐこと
• 但し,コンストラクタは受け継がない
20
スーパークラスからの継承
21
class C(object):
def __init__(self, qty, weight, name):
self.qty = qty
self.weight = weight
self.name = name
def total(self):
return self.qty * self.weight
class E(C):
def __init__(self, qty, weight, name, price):
super(E, self).__init__(qty, weight, name)
self.price = price
def payment(self):
return self.qty * self.price
クラス定義
クラス名 C
属性 qty, weight, name
クラス定義
クラス名 E
属性 qty, weight, name, price
クラス E は,スーパークラス
であるクラス C の属性とメ
ソッドを継承する.
クラス定義,コンストラクタの演習
class C(object):
def __init__(self, qty, weight, name):
self.qty = qty
self.weight = weight
self.name = name
x = C(5, 170.51, 'apple')
print(vars(x))
y = C(3, 40.97, 'orange')
print(vars(y))
22
クラス定義,コンストラクタの演習
class D(object):
def __init__(self, s_hour, s_minute):
self.s_hour = s_hour
self.s_minute = s_minute
self.e_hour = None
self.e_minute = None
z = D(15, 30)
print(vars(z))
z2 = D(16, 15)
print(vars(z2))
23
クラス定義,コンストラクタ,継承の演習
class C(object):
def __init__(self, qty, weight, name):
self.qty = qty
self.weight = weight
self.name = name
def total(self):
return self.qty * self.weight
class E(C):
def __init__(self, qty, weight, name, price):
super().__init__(qty, weight, name)
self.price = price
def payment(self):
return self.qty * self.price
x2 = E(2, 875.34, 'melon', 500)
vars(x2)
print(x2.total())
print(x2.payment())
type(x2)
24
Python のキーワード
print 表示
type 型名(クラス名)の取得
def 関数定義
return 関数の評価値
class クラス定義
__init__ オブジェクトの生成(コンストラクタ)
self クラス定義内で自オブジェクトへアクセス
vars オブジェクトの属性名と値
super 親クラス(スーパークラス)の取得
25
関連資料
• Python 処理系と開発環境のインストール
https://www.kkaneko.jp/cc/tools/index.html
• Python 入門(全7回)
https://www.kkaneko.jp/cc/pf/index.html
Google Colaboratory を使用.
【内容】プログラミング入門,変数,式,条件分岐,リスト
と繰り返し,式の抽象化,関数,オブジェクト,クラス,メ
ソッド,コンストラクタ,クラス階層,継承を学ぶ
• Python プログラミング演習(全9回)
https://www.kkaneko.jp/cc/po/index.html
Python Tutor, VisuAlgo を使用
【内容】条件分岐,繰り返し,式の抽象化,関数,リスト,
辞書,オブジェクト,クラス,メソッド,コンストラクタ,
クラス階層,継承の演習を行う 26

Más contenido relacionado

Similar a Python の基本

Wrapping a C++ library with Cython
Wrapping a C++ library with CythonWrapping a C++ library with Cython
Wrapping a C++ library with Cython
fuzzysphere
 
T69 c++cli ネイティブライブラリラッピング入門
T69 c++cli ネイティブライブラリラッピング入門T69 c++cli ネイティブライブラリラッピング入門
T69 c++cli ネイティブライブラリラッピング入門
伸男 伊藤
 
はじめてのPython
はじめてのPythonはじめてのPython
はじめてのPython
Katsumi Honda
 

Similar a Python の基本 (20)

pf-8. メソッド,クラス,コンストラクタ,継承
pf-8. メソッド,クラス,コンストラクタ,継承pf-8. メソッド,クラス,コンストラクタ,継承
pf-8. メソッド,クラス,コンストラクタ,継承
 
pi-13. 今までの総まとめ
pi-13. 今までの総まとめpi-13. 今までの総まとめ
pi-13. 今までの総まとめ
 
Boost.python
Boost.pythonBoost.python
Boost.python
 
Introduction to cython
Introduction to cythonIntroduction to cython
Introduction to cython
 
勉強会 Cvml python基礎
勉強会 Cvml python基礎勉強会 Cvml python基礎
勉強会 Cvml python基礎
 
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門〜基礎からDeep Learningまで〜Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
 
po-8. クラス,メソッド,オブジェクト生成
po-8. クラス,メソッド,オブジェクト生成po-8. クラス,メソッド,オブジェクト生成
po-8. クラス,メソッド,オブジェクト生成
 
続・ゲンバのSwift
続・ゲンバのSwift続・ゲンバのSwift
続・ゲンバのSwift
 
Wrapping a C++ library with Cython
Wrapping a C++ library with CythonWrapping a C++ library with Cython
Wrapping a C++ library with Cython
 
pf-2. 式,変数
pf-2. 式,変数pf-2. 式,変数
pf-2. 式,変数
 
po-2. Python プログラミングの基本
po-2. Python プログラミングの基本po-2. Python プログラミングの基本
po-2. Python プログラミングの基本
 
Introduction of Python
Introduction of PythonIntroduction of Python
Introduction of Python
 
Python 機械学習プログラミング データ分析演習編
Python 機械学習プログラミング データ分析演習編Python 機械学習プログラミング データ分析演習編
Python 機械学習プログラミング データ分析演習編
 
Python 学習教材 (~299ページ)
Python 学習教材 (~299ページ)Python 学習教材 (~299ページ)
Python 学習教材 (~299ページ)
 
pi-9. スーパークラス, サブクラス, 継承
pi-9. スーパークラス, サブクラス, 継承pi-9. スーパークラス, サブクラス, 継承
pi-9. スーパークラス, サブクラス, 継承
 
T69 c++cli ネイティブライブラリラッピング入門
T69 c++cli ネイティブライブラリラッピング入門T69 c++cli ネイティブライブラリラッピング入門
T69 c++cli ネイティブライブラリラッピング入門
 
Introduction Pycon2010
Introduction Pycon2010Introduction Pycon2010
Introduction Pycon2010
 
BotとWikiを使った試験的な並列プログラミング
BotとWikiを使った試験的な並列プログラミングBotとWikiを使った試験的な並列プログラミング
BotとWikiを使った試験的な並列プログラミング
 
pi-6. 繰り返し
pi-6. 繰り返しpi-6. 繰り返し
pi-6. 繰り返し
 
はじめてのPython
はじめてのPythonはじめてのPython
はじめてのPython
 

Más de kunihikokaneko1

cs-6. データベースとデータサイエンス
cs-6. データベースとデータサイエンスcs-6. データベースとデータサイエンス
cs-6. データベースとデータサイエンス
kunihikokaneko1
 
cs-5. 人工知能の概要
cs-5. 人工知能の概要 cs-5. 人工知能の概要
cs-5. 人工知能の概要
kunihikokaneko1
 
cs-4. プログラミング入門
cs-4. プログラミング入門cs-4. プログラミング入門
cs-4. プログラミング入門
kunihikokaneko1
 
cs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックス
cs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックスcs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックス
cs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックス
kunihikokaneko1
 
cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素
cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素 cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素
cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素
kunihikokaneko1
 
cs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタ
cs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタcs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタ
cs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタ
kunihikokaneko1
 
mi-8. 人工知能とコンピュータビジョン
mi-8. 人工知能とコンピュータビジョンmi-8. 人工知能とコンピュータビジョン
mi-8. 人工知能とコンピュータビジョン
kunihikokaneko1
 
mi-7. 学習と検証, 学習不足, 過学習, 学習曲線
mi-7. 学習と検証, 学習不足, 過学習, 学習曲線mi-7. 学習と検証, 学習不足, 過学習, 学習曲線
mi-7. 学習と検証, 学習不足, 過学習, 学習曲線
kunihikokaneko1
 
mi-6. 画像分類システム
mi-6. 画像分類システムmi-6. 画像分類システム
mi-6. 画像分類システム
kunihikokaneko1
 
mi-3. データサイエンス・AIの演習
mi-3. データサイエンス・AIの演習mi-3. データサイエンス・AIの演習
mi-3. データサイエンス・AIの演習
kunihikokaneko1
 
mi-1. 人工知能の概要
mi-1. 人工知能の概要mi-1. 人工知能の概要
mi-1. 人工知能の概要
kunihikokaneko1
 

Más de kunihikokaneko1 (20)

cs-8. 表計算ソフトウエアを用いたデータの扱い
cs-8. 表計算ソフトウエアを用いたデータの扱い cs-8. 表計算ソフトウエアを用いたデータの扱い
cs-8. 表計算ソフトウエアを用いたデータの扱い
 
cs-7. 乱数,シミュレーション
cs-7. 乱数,シミュレーション  cs-7. 乱数,シミュレーション
cs-7. 乱数,シミュレーション
 
cs-6. データベースとデータサイエンス
cs-6. データベースとデータサイエンスcs-6. データベースとデータサイエンス
cs-6. データベースとデータサイエンス
 
cs-5. 人工知能の概要
cs-5. 人工知能の概要 cs-5. 人工知能の概要
cs-5. 人工知能の概要
 
cs-4. プログラミング入門
cs-4. プログラミング入門cs-4. プログラミング入門
cs-4. プログラミング入門
 
cs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックス
cs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックスcs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックス
cs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックス
 
cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素
cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素 cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素
cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素
 
cs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタ
cs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタcs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタ
cs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタ
 
mi-8. 人工知能とコンピュータビジョン
mi-8. 人工知能とコンピュータビジョンmi-8. 人工知能とコンピュータビジョン
mi-8. 人工知能とコンピュータビジョン
 
mi-7. 学習と検証, 学習不足, 過学習, 学習曲線
mi-7. 学習と検証, 学習不足, 過学習, 学習曲線mi-7. 学習と検証, 学習不足, 過学習, 学習曲線
mi-7. 学習と検証, 学習不足, 過学習, 学習曲線
 
mi-6. 画像分類システム
mi-6. 画像分類システムmi-6. 画像分類システム
mi-6. 画像分類システム
 
mi-5. ディープラーニング
mi-5. ディープラーニングmi-5. ディープラーニング
mi-5. ディープラーニング
 
mi-4. 機械学習
mi-4. 機械学習mi-4. 機械学習
mi-4. 機械学習
 
mi-3. データサイエンス・AIの演習
mi-3. データサイエンス・AIの演習mi-3. データサイエンス・AIの演習
mi-3. データサイエンス・AIの演習
 
mi-2. データサイエンス・AIの事例
mi-2. データサイエンス・AIの事例mi-2. データサイエンス・AIの事例
mi-2. データサイエンス・AIの事例
 
mi-1. 人工知能の概要
mi-1. 人工知能の概要mi-1. 人工知能の概要
mi-1. 人工知能の概要
 
kaneko202304.pptx
kaneko202304.pptxkaneko202304.pptx
kaneko202304.pptx
 
Coding Standards of C++ について
 Coding Standards of C++ について  Coding Standards of C++ について
Coding Standards of C++ について
 
co-3. サブクラス、継承
co-3. サブクラス、継承co-3. サブクラス、継承
co-3. サブクラス、継承
 
co-2. メソッド定義と呼び出し
co-2. メソッド定義と呼び出しco-2. メソッド定義と呼び出し
co-2. メソッド定義と呼び出し
 

Python の基本