SlideShare a Scribd company logo
1 of 49
cs-10. Python の基礎(オブジェク
ト,メソッド,引数,文字列)
(コンピューターサイエンス)
URL: https://www.kkaneko.jp/cc/cs/index.html
1
金子邦彦
アウトライン
2
1.Python の拡張機能
2.プログラミングの基礎
• 式
• 変数
• 条件分岐
• 繰り返し
• オブジェクト
• メソッド
• 引数
• 文字列
第4回の授業
今回の授業
10-1 Python の拡張機能の紹介
(コンピューターサイエンス)
URL: https://www.kkaneko.jp/cc/cs/index.html
3
金子邦彦
Paiza.IO
4
さまざまなプログラミング言語の体験,
演習ができるオンラインサービス
① ウェブブラウザで次の URL を開く
https://paiza.io/ja
② 「コード作成を試してみる」をク
リック
③ 言語を選ぶ.この授業では Python 3
Python の拡張機能の例
• 現在の日時
• 最大公約数
• 方程式を解く
• 平方根
• 円周率
• 三角関数
など
5
① 現在の日時
次のソースコードを実行.いまの日時が表示されることを確認
import datetime
now = datetime.datetime.now()
print(now)
オペレーティングシステム(コンピュータ)のタイマー
を利用
すべて半角文字
6
② 最大公約数
次のソースコードを実行.結果 6 を確認
import math
print( math.gcd(24, 18) )
24 と 18 の最大公約数を求めたい
Python の拡張機能 math を利用
7
③ 方程式を解く
次のソースコードを実行.結果 -0.25 を確認
from scipy import optimize
def foo(x):
return 4 * x + 1
print( optimize.fsolve(foo, 10) )
4x + 1 = 0 を解きたい
Python の拡張機能 scipy を利用
8
④ 平方根
次のソースコードを実行.結果 2.6457513110645907 を確認
(結果は近似値)
import math
print( math.sqrt(7) )
面積が 7 の正方形の一辺の長さは?
9
⑤ 円の面積
次のソースコードを実行.結果を確認(結果は近似値)
import math
print( 3 * 3 * math.pi )
半径 3 の円の面積は?
(円周率は, Python の拡張機能の math.pi を使用)
10
⑥ 三角形の面積
次のソースコードを実行.結果を確認
import math
print( (1/2) * 4 * 6 * math.sin(60 * math.pi / 180) )
三角形の2辺の長さが,4と6で,その間の角度が60度
のとき,面積は (1/2) × 4 × 6 × sin(60)
11
10-2 Python のインポート
(コンピューターサイエンス)
URL: https://www.kkaneko.jp/cc/cs/index.html
12
金子邦彦
Python のインポート
• Python のインポートは、別のファイルを取り込む
こと
• import コマンド
13
ファイル foo.py ファイル bar.py
実行結果
「import foo」で、
ファイル foo.py を取り込み.
「foo.foo」は,ファイル
foo.py の中の foo の意味.
Python の標準ライブラリ
• 公式ドキュメント
https://docs.python.org/ja/3/library/index.html
• 組み込み関数、組み込み定数、組み込み型、組み込み例外、
テキスト処理、バイナリデータ処理、データ型、数値と数
学、関数型プログラミング、ファイルとディレクトリ、
データの永続化、デー圧縮とアーカイブ、ファイルフォー
マット、暗号、オペレーティングシステム、並列実行、コ
ンテキスト変数、ネットワーク通信とプロセス間通信、イ
ンターネット上のデータ操作、HTMLとXML、インター
ネットプロトコルとサービス、マルチメディアサービス、
国際化、プログラムのフレームワーク、グラフィカルユー
ザインタフェース、開発ツール、デバッグとプロファイル、
ソフトウエア・パッケージと配布、Pythonランタイムサー
ビス、カスタム Python インタプリタ、モジュールのイン
ポート、Python 言語サービス、各種サービス
• 多くは「インポート」により取り込んで使用する
14
Python の標準ライブラリの使用
15
ソースコード
標準ライブラリ math をインポート
math 内の pi を表示
実行結果
標準ライブラリの名称、機能は、
自分で調べる
10-3 Python の基礎
(コンピューターサイエンス)
URL: https://www.kkaneko.jp/cc/cs/index.html
16
金子邦彦
プログラミング (programming)
• コンピュータは、プログラムで動く
• プログラミングは、プログラムを設計、製作
すること
• 何らかの作業を、コンピュータで実行させる
ために行う
17
プログラムの
ソースコード
プログラムの
実行結果
ソースコード (source code)
• プログラムを,何らかのプログラミング言語
で書いたもの
• 「ソフトウエアの設計図」ということも.
人間も読み書き、編集できる
• 複数のプログラミング言語を使うことも
18
import picamera
camera = picamera.PiCamera()
camera.capture("1.jpg")
exit()
Raspberry Pi で,カメラを使って
撮影し,画像を保存するプログラムの
ソースコード
オブジェクトとメソッド
• オブジェクト
コンピュータでの操作や処理の対象となるもののこと.
※ 値が変化するオブジェクトのことを変数と呼んだりもする
• メソッド
オブジェクトに属する操作や処理のこと
19
hero.moveDown()
hero オブジェクト
moveDown() メソッド
間を「.」で区切っている
Python プログラム
Python の基礎
• 文字列は「"」または「'」で囲む
• メソッド呼び出しでは,引数を指定することがある.
引数(ひきすう)とは,メソッドに渡す値のこと
hero.attack("fence", 36, 26)
hero.attack(enemy1)
• 変数と代入.代入により,変数の値が変化する
x = "Door"
• メソッドの結果を,変数に代入
enermy1 = hero.findNearestEnemy()
20
これらをマスターしておく.
他の多くのプログラミング言語でも応用がきく.
繰り返し(ループ)
同じ処理や操作を繰り返す
21
while True:
hero.moveRight()
hero.moveLeft() Python プログラム
これをマスターしておく.
他の多くのプログラミング言語でも応用がきく.
10-4 オブジェクトとメソッドの例
(コンピューターサイエンス)
URL: https://www.kkaneko.jp/cc/cs/index.html
22
金子邦彦
オブジェクトとメソッド
• オブジェクト
コンピュータでの操作や処理の対象となるもののこと.
※ 値が変化するオブジェクトのことを変数と呼んだりもする
• メソッド
オブジェクトに属する操作や処理のこと
23
hero.moveDown()
hero オブジェクト
moveDown() メソッド
間を「.」で区切っている
Python プログラム
24
オブジェクトとメソッド
(Python プログラム)
実行画面
オブジェクトが動く
25
オブジェクトとメソッド
(Python プログラム)
実行画面
オブジェクトが動く
10-5 引数
(コンピューターサイエンス)
URL: https://www.kkaneko.jp/cc/cs/index.html
26
金子邦彦
27
オブジェクトとメソッド
(Python プログラム)
実行画面
オブジェクトが動く
引数がある場合もあれば,
ない場合もある.
10-6 コードコンバットの利用法
(コンピューターサイエンス)
URL: https://www.kkaneko.jp/cc/cs/index.html
28
金子邦彦
Python まとめ
• オブジェクトとメソッド
hero.moveDown()
hero はオブジェクト
moveDown() はメソッド
• 文字列は「"」または「'」で囲む
• メソッド呼び出しでは,引数を指定することがある
hero.attack("fence", 36, 26)
hero.attack(enemy1)
• 変数と代入
x = "Door"
• メソッドの結果を,変数に代入
enermy1 = hero.findNearestEnemy()
• 繰り返し(ループ)
while True:
hero.moveRight()
hero.moveLeft()
29
コードコンバット
• コードコンバットは,Python プログラムの実習ができ
るオンラインサービス
• オブジェクト
• メソッド
• 文字列
• 引数
• 変数と代入
• 繰り返し(ループ)
30
プログラム編集
の画面など
プログラム実行結果
がビジュアルに表示
される画面など
コードコンバットを使うには
URL: https://codecombat.com
• 各自で会員登録することもできる(メリット:課金アイテ
ムを買うことができる.履歴が残る)
・メールアドレス
・パスワードは,コードコンバット専用の
パスワードを自分で考える
・誕生日
• 課金のメッセージがでたら,注意深く対処する
• この資料では,会員登録しないとして説明する
• 最初のダンジョンのクリア:目安は1から3時間
31
① Web ブラウザを使う
• https://codecombat.com
32
「課金のメッセージ」などで心配なことが
あるときは,無理に使い続けないこと
課金のメッセージの例
② 「今すぐプレイ」をクリック
• 「日本語」になっていない場合には,日本語に変える
• アカウント登録やログインは行わないことにする
33
③ キースガードのダンジョンを選んでみる。
「ゲームスタート」をクリック
34
④ 「キースガードのダンジョン」の最初の
ダンジョンを選ぶ
35
最初のダンジョン
ゴール
課金なしで
も
ゴールに
行ける
音声が出るので、このとき、各自で「音量」を調整
⑤ 「ゲームスタート」をクリック
36
⑥ 「Python(デフォルト)」を選び、「次
へ」をクリック
37
⑦ 使用可能なアイテムを選ぶ(ダブルク
リック)
38
⑧「ゲームスタート」をクリック
39
⑨ 「レベルスタート」をクリック
40
ヒントを見たいときは、「ヒント」を
クリック
41
メソッドの説明を見たいときは、「メソッ
ド」の下のリストの中から、説明を見たい
メソッドをクリック
42
⑩ 編集画面で、試しに、
「hero.moveDown()」と追加して、「実行」
をクリックしてみる
43
⑪ 「実行」で,キャラクタが動くので確認
する
hero.moveRight() で右に動き、hero.moveDown() で
下に動く
44
迷ったら,「ミッション(目標)」や
「ヒント」を確認する
• プログラミングの練習だけでなく,ゲーム要素
(パズル)もある.楽しんで解く.
• ヒントや説明が,英語で表示される場合がある
(日本語版が無いときは英語表示)
45
⑫「目標:成功!」になるまで、編集画面を
書き換えて、「実行」を繰り返す。
• 「目標:成功!」になったら「完了」をクリック
46
⑬ 完了の確認.「続ける」をクリック
47
ダンジョンのゴールを目指す
• 赤い旗をたどり,ダンジョンのゴールを目指す
• 有料のダンジョンもある.支払いをしない場合は,
有料のダンジョンは選べない
48
赤い旗をたどる
青い旗は有料のことも
⑭ ダンジョンの出口を目指す
49

More Related Content

Similar to cs-10. Python の基礎(オブジェクト,メソッド,引数,文字列)

NAO/Pepper 開発環境 について
NAO/Pepper 開発環境 についてNAO/Pepper 開発環境 について
NAO/Pepper 開発環境 についてTakuji Kawata
 
cs-11. Python の条件分岐と繰り返し,ステップ実行
cs-11. Python の条件分岐と繰り返し,ステップ実行cs-11. Python の条件分岐と繰り返し,ステップ実行
cs-11. Python の条件分岐と繰り返し,ステップ実行kunihikokaneko1
 
Pythonはどうやってlen関数で長さを手にいれているの?
Pythonはどうやってlen関数で長さを手にいれているの?Pythonはどうやってlen関数で長さを手にいれているの?
Pythonはどうやってlen関数で長さを手にいれているの?Takayuki Shimizukawa
 
pf-1. Python,Google Colaboratory
pf-1. Python,Google Colaboratorypf-1. Python,Google Colaboratory
pf-1. Python,Google Colaboratorykunihikokaneko1
 
Php勉強会資料20090629
Php勉強会資料20090629Php勉強会資料20090629
Php勉強会資料20090629Takako Miyagawa
 
Python界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクトPython界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクトTetsuya Morimoto
 
Start python with fastapi
Start python with fastapiStart python with fastapi
Start python with fastapiku_taka
 
Intellij idea for php
Intellij idea for phpIntellij idea for php
Intellij idea for phpKazuhiko Uno
 
Pyconjp2014_implementations
Pyconjp2014_implementationsPyconjp2014_implementations
Pyconjp2014_implementationsmasahitojp
 
scikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアルscikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアル敦志 金谷
 
Getting Started with Graph Database with Python
Getting Started with Graph Database with PythonGetting Started with Graph Database with Python
Getting Started with Graph Database with Pythonロフト くん
 
Wrapping a C++ library with Cython
Wrapping a C++ library with CythonWrapping a C++ library with Cython
Wrapping a C++ library with Cythonfuzzysphere
 
LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45civic Sasaki
 
Pelicanによる www.python.jpの構築
Pelicanによる www.python.jpの構築Pelicanによる www.python.jpの構築
Pelicanによる www.python.jpの構築Atsuo Ishimoto
 
私の好きなPython構文 vol.2 #nds46
私の好きなPython構文 vol.2 #nds46私の好きなPython構文 vol.2 #nds46
私の好きなPython構文 vol.2 #nds46civicpg
 

Similar to cs-10. Python の基礎(オブジェクト,メソッド,引数,文字列) (20)

Pythonのすすめ
PythonのすすめPythonのすすめ
Pythonのすすめ
 
NAO/Pepper 開発環境 について
NAO/Pepper 開発環境 についてNAO/Pepper 開発環境 について
NAO/Pepper 開発環境 について
 
cs-11. Python の条件分岐と繰り返し,ステップ実行
cs-11. Python の条件分岐と繰り返し,ステップ実行cs-11. Python の条件分岐と繰り返し,ステップ実行
cs-11. Python の条件分岐と繰り返し,ステップ実行
 
Pythonはどうやってlen関数で長さを手にいれているの?
Pythonはどうやってlen関数で長さを手にいれているの?Pythonはどうやってlen関数で長さを手にいれているの?
Pythonはどうやってlen関数で長さを手にいれているの?
 
pf-1. Python,Google Colaboratory
pf-1. Python,Google Colaboratorypf-1. Python,Google Colaboratory
pf-1. Python,Google Colaboratory
 
Php勉強会資料20090629
Php勉強会資料20090629Php勉強会資料20090629
Php勉強会資料20090629
 
Python界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクトPython界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクト
 
Start python with fastapi
Start python with fastapiStart python with fastapi
Start python with fastapi
 
Intellij idea for php
Intellij idea for phpIntellij idea for php
Intellij idea for php
 
Pyconjp2014_implementations
Pyconjp2014_implementationsPyconjp2014_implementations
Pyconjp2014_implementations
 
scikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアルscikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアル
 
210728 mpy
210728 mpy210728 mpy
210728 mpy
 
Getting Started with Graph Database with Python
Getting Started with Graph Database with PythonGetting Started with Graph Database with Python
Getting Started with Graph Database with Python
 
Django_fukuoka
Django_fukuokaDjango_fukuoka
Django_fukuoka
 
Django_Fukuoka
Django_FukuokaDjango_Fukuoka
Django_Fukuoka
 
Wrapping a C++ library with Cython
Wrapping a C++ library with CythonWrapping a C++ library with Cython
Wrapping a C++ library with Cython
 
LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45
 
Introduction Pycon2010
Introduction Pycon2010Introduction Pycon2010
Introduction Pycon2010
 
Pelicanによる www.python.jpの構築
Pelicanによる www.python.jpの構築Pelicanによる www.python.jpの構築
Pelicanによる www.python.jpの構築
 
私の好きなPython構文 vol.2 #nds46
私の好きなPython構文 vol.2 #nds46私の好きなPython構文 vol.2 #nds46
私の好きなPython構文 vol.2 #nds46
 

More from kunihikokaneko1

cs-8. 表計算ソフトウエアを用いたデータの扱い
cs-8. 表計算ソフトウエアを用いたデータの扱い cs-8. 表計算ソフトウエアを用いたデータの扱い
cs-8. 表計算ソフトウエアを用いたデータの扱い kunihikokaneko1
 
cs-7. 乱数,シミュレーション
cs-7. 乱数,シミュレーション  cs-7. 乱数,シミュレーション
cs-7. 乱数,シミュレーション 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-5. ディープラーニング
mi-5. ディープラーニングmi-5. ディープラーニング
mi-5. ディープラーニングkunihikokaneko1
 
mi-3. データサイエンス・AIの演習
mi-3. データサイエンス・AIの演習mi-3. データサイエンス・AIの演習
mi-3. データサイエンス・AIの演習kunihikokaneko1
 
mi-2. データサイエンス・AIの事例
mi-2. データサイエンス・AIの事例mi-2. データサイエンス・AIの事例
mi-2. データサイエンス・AIの事例kunihikokaneko1
 
mi-1. 人工知能の概要
mi-1. 人工知能の概要mi-1. 人工知能の概要
mi-1. 人工知能の概要kunihikokaneko1
 
Coding Standards of C++ について
 Coding Standards of C++ について  Coding Standards of C++ について
Coding Standards of C++ について kunihikokaneko1
 
co-3. サブクラス、継承
co-3. サブクラス、継承co-3. サブクラス、継承
co-3. サブクラス、継承kunihikokaneko1
 
co-2. メソッド定義と呼び出し
co-2. メソッド定義と呼び出しco-2. メソッド定義と呼び出し
co-2. メソッド定義と呼び出しkunihikokaneko1
 

More from 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. メソッド定義と呼び出し
 

cs-10. Python の基礎(オブジェクト,メソッド,引数,文字列)