SlideShare una empresa de Scribd logo
1 de 38
pf-1. Python,
Google Colaboratory
(Python 入門,Google Colaboratory を使用)
(全8回)
URL: https://www.kkaneko.jp/pro/pf/index.html
1
金子邦彦
8回の計画
2
1 Python,Google Colaboratory
2 式,変数
3 条件分岐
4 リストと繰り返し
5 式の抽象化と関数
6 計算誤差
7 関数呼び出し,スコープ
8 メソッド,クラス,コンストラクタ,継承
1-1. プログラミング
3
プログラム
• コンピュータは,プログラムで動く
• プログラムを設計,制作することはクリエイティ
ブである
4
① さまざまなアプリ
• アプリでは,プログラムが動いている
5
Web ブラウザ
ワープロ
(マイクロソフト・ワード)
② コンピュータを細かくコントロール
6
人工知能のプログラム
(Python 言語)
ニューラルネットワークを
作成している
③ コンピュータどうしがつながるときも
プログラムが必要
7
利用者
コンピュータ
利用者 利用者
サーバ(サービスを提供する
ITシステム)
ネットワーク
プログラム
プログラム
プログラム プログラム
プログラミング (programming)
• コンピュータは,プログラムで動く
• プログラミングは,プログラムを設計,製作する
こと
• 何らかの作業を,コンピュータで実行させるため
に行う
8
Python プログラムの
ソースコード
プログラムの
実行結果
ソースコード (source code)
• プログラムを,何らかのプログラミング言語で書
いたもの
• 「ソフトウエアの人間も読み書き,編集設計図」
ということも.
• できる
9
import picamera
camera = picamera.PiCamera()
camera.capture("1.jpg")
exit()
Raspberry Pi で,カメラを使って
撮影し,画像を保存するプログラムの
ソースコード(Python 言語)
プログラムが役に立つ理由
① プログラム次第で,様々な処理が可能.
② プログラムは,コンピュータでの様々な処理を自
動化する
③ プログラムのソースコードは,作業記録としても
使うことができる.いつでも再現できる.
④ プログラム中の値などを変えて再実行も簡単
10
1-2. Python, Google
Colabotarory
11
Python
• プログラミング言語
• 「入門者に学習しやすい」とされる
• 多数の拡張機能(外部プログラムのインポートに
よる)
12
Python の主なキーワード
• print 表示
• type 型名(クラス名)の取得
• if, else 条件分岐
• for, while 繰り返し
• def 関数定義
• return 関数の評価値
• class クラス定義
• __init__ オブジェクトの生成(コンストラクタ)
• self クラス定義内で自オブジェクトへアクセス
• vars オブジェクトの属性名と値
• super 親クラス(スーパークラス)
13
Python プログラムの実行
① ソースコードをファイルに保存し,python コマ
ンドで実行
14
ソースコードを
ファイルに保存
python コマンドで実行.
実行時にファイル名を指定.
• Python のインストール必要
https://www.python.org
• Windows では,python コマンドで実行
• 終了は exit()
Python プログラムの実行
② Python コンソールを使用.Python プログラムを
入れるたびに結果が得られる(対話的実行と言った
りする).
15
実行
結果
• Python のインストール必要
https://www.python.org
• Windows では,python コマンドで実行
• 終了は exit()
python コマンド
実行
結果
Jupyter QtConsole
• インストール必要
https://www.kkaneko.jp/tools/win
/tools.html#python
• 「jupyter qtconsole」で起動
Python プログラムの実行
③ Python ソースコードの編集,実行機能を持った
アプリを利用
16
編集画面
実行ボタン
実行結果
PyScripter の画面
Python プログラムの実行
④ Python のノートブックを使用.Python プログ
ラムを,コードセルの中に入れておく.コードセル
内のプログラムは,編集,実行可能.
17
実行結果
Python プログラム
Python プログラム
Python プログラム
まとめ
Python プログラムの実行にはさまざまな方法が
ある
① ソースコードをファイルに保存し,python コマンド
で実行
② Python コンソールを使用.Python プログラムを入
れるたびに結果が得られる(対話的実行と言ったりす
る).
③ Python ソースコードの編集,実行機能を持ったアプ
リを利用
④ Python のノートブックを使用.Python プログラ
ムを,コードセルの中に入れておく.コードセル内の
プログラムは,編集,実行可能.
18
Google Colaboratory
19
URL: https://colab.research.google.com/
• オンラインで動く
• Python のノートブックの機能を持つ
• Python や種々の機能がインストール済み
• 利用には,Google アカウントが必要
Google Colaboratory の主な機能
20
• ノートブックの新規作成,編集,保存,公開
(Google Drive との連携による)
• 公開により,第三者がノートブックをダウンロード
し,編集や実行なども可能
• Python プログラム(コードセル内)の編集,実行
• 「!pip」や「%cd」などのシステム操作のためのコ
マンド(コードセル内)の編集,実行
• ファイルのアップロード,ダウンロード
• ドキュメントの編集(図,リンク,添付ファイルを
含めることができる)
Google Colaboratory の全体画面
21
Web ブラウザの画面
メニュー
(目次,検索と置換,
変数,ファイル)
メニュー
コードセル,テキストセル
の追加
コードセル,
テキストセルの
並び
Google Colaboratory のノートブック
コードセル,テキストセルの2種類
• コードセル: Python プログラム,コマンド,実
行結果
• テキストセル:説明文,図
22
テキストセル
コードセル
テキストセル
コードセル
コードセルと,プログラム実行
23
編集前 編集後
2 を 3 へ
実行ボタンと
実行結果
コードセルで,
Python プログラムやコマンドの編集,実行ができる.
実行結果はコードセル内に残る
実行ボタン
Google Colaboratory でのファイルのアップ
ロード
24
ファイルのアップロード
ファイル
ドラッグ&ド
ロップでアップ
ロードできる
Google Colaboratory でうまく実行できない
場合
混雑しているときなどは、実行が止まり、再開し
ない場合もある
【その対処】
次で、アクティブなセッションの停止を行い、その
後最初から実行をやり直す
• メニューで「ランタイム」,「セッションの管
理」と操作する.
• アクティブなセッションの一覧が表示されるので,
「終了」をクリックして,すべてのアクティブな
セッションを終了する. 25
Google Colabotaroy と Google アカウント
【Google アカウントでのログインが必要】
• ノートブックの新規作成,編集,保存,公開
• Python プログラムの編集,実行
• システム操作のコマンドの実行
• ファイルのアップロード,ダウンロード
【Google アカウントでのログインが不要】
• 他の人が公開しているノートブックの閲覧のみ
26
Google アカウント
• Google アカウントは、Google のオンラインサー
ビス等の利用のときに使うアカウント
ID, パスワード
(ID, パスワードは自分で決める)
• Google Colaboratory も利用
27
Google アカウントの新規取得
次の①,②の方法などで,Google アカウントの取得
ができる
① Google Colaboratoryの使用中に
「Google へのログインが必要」と表示されたとき
「ログイン」,「アカウントを作成」と操作
② Google アカウント作成のページを開く
• https://accounts.google.com/SignUp 28
Google アカウントの新規取得
次の情報を登録する
氏名
自分が希望するメールアドレス
<ユーザー名>@gmail.com
パスワード,
電話番号
生年月日,性別
29
電話番号は
80-1234-5678
90-1234-5670
のように入れる
(先頭の 0 無し)
演習
資料:31 ~ 36
【トピックス】
• Google Colaboratory
• コードセルの作成
• Python プログラムの実行
30
① Google Colaboratory のWebページを開く
https://colab.research.google.com
31
② 「ファイル」で,「ノートブックを新規作成」を選ぶ
③ Google アカウントでのログインが求められたときはログ
インする
32
④ コードセルの新規作成
⑤ コードセルに Python プログラムを入れる
x = 100
33
メニューの「+ コード」
をクリック
⑥ コードセルの新規作成
⑦ コードセルに Python プログラムを入れる
if (x > 20):
print("big")
else:
print("small")
34
メニューの「+ コード」
をクリック
if (age <= 12) の直後に「:」
else の直後に「:」
(どちらも,コロン)
字下げ.
(ここでは,半角の空白を 2つ)
⑧ コードセルの新規作成
⑨ コードセルに Python プログラムを入れる
s = 0
for i in [1, 2, 3, 4, 5]:
s = s + i
print(s)
35
メニューの「+ コード」
をクリック
字下げ.
(ここでは,半角の空白を 2つ)
for i in [1, 2, 3, 4, 5] の直後に「:」
⑩ コードセルを上から順に実行し,結果を確認
36
コードセルの実行ボタン
をクリック
コードセルの実行ボタン
をクリック
コードセルの実行ボタン
をクリック
まとめ
Google Colaboratory ノートブック
• テキストセル,コードセルの並び
• コードセルは,Python プログラムと実行結果
37
Python 関連ページ
• Python まとめページ
https://www.kkaneko.jp/tools/man/python.html
• Python プログラミングの基本
Python Tutor, VisuAlgo, Code Combat を使用
https://www.kkaneko.jp/pro/po/index.html
• Python プログラム例
https://www.kkaneko.jp/pro/python/index.html
• 人工知能の実行(Google Colaboratory を使用)
https://www.kkaneko.jp/ai/ni/index.html
• 人工知能の実行(Python を使用)(Windows 上)
https://www.kkaneko.jp/ai/deepim/index.html 38

Más contenido relacionado

Similar a pf-1. Python,Google Colaboratory

Rtミドルウェア講習会@名城大学 20140624 2
Rtミドルウェア講習会@名城大学 20140624 2Rtミドルウェア講習会@名城大学 20140624 2
Rtミドルウェア講習会@名城大学 20140624 2
openrtm
 
Open design computer project
Open design computer projectOpen design computer project
Open design computer project
Ito Takahiro
 
「文書管理システム-作成用キット」の紹介, Introduction of "Document management system-Creation Kit"
「文書管理システム-作成用キット」の紹介, Introduction of "Document management system-Creation Kit"「文書管理システム-作成用キット」の紹介, Introduction of "Document management system-Creation Kit"
「文書管理システム-作成用キット」の紹介, Introduction of "Document management system-Creation Kit"
ssuser285ddb
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshop
Daisuke Sugai
 

Similar a pf-1. Python,Google Colaboratory (20)

Github入門2014
Github入門2014Github入門2014
Github入門2014
 
Git & ブランチモデルで学ぶ バージョン管理入門
Git & ブランチモデルで学ぶ バージョン管理入門Git & ブランチモデルで学ぶ バージョン管理入門
Git & ブランチモデルで学ぶ バージョン管理入門
 
Rtミドルウェア講習会@名城大学 20140624 2
Rtミドルウェア講習会@名城大学 20140624 2Rtミドルウェア講習会@名城大学 20140624 2
Rtミドルウェア講習会@名城大学 20140624 2
 
Python界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクトPython界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクト
 
Open design computer project
Open design computer projectOpen design computer project
Open design computer project
 
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
 
恋するJenkins
恋するJenkins恋するJenkins
恋するJenkins
 
Windowsマシン上でVisual Studio Codeとpipenvを使ってPythonの仮想実行環境を構築する方法(Jupyter notebookも)
Windowsマシン上でVisual Studio Codeとpipenvを使ってPythonの仮想実行環境を構築する方法(Jupyter notebookも)Windowsマシン上でVisual Studio Codeとpipenvを使ってPythonの仮想実行環境を構築する方法(Jupyter notebookも)
Windowsマシン上でVisual Studio Codeとpipenvを使ってPythonの仮想実行環境を構築する方法(Jupyter notebookも)
 
テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1
 
cs-10. Python の基礎(オブジェクト,メソッド,引数,文字列)
cs-10. Python の基礎(オブジェクト,メソッド,引数,文字列) cs-10. Python の基礎(オブジェクト,メソッド,引数,文字列)
cs-10. Python の基礎(オブジェクト,メソッド,引数,文字列)
 
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
 
Introduction Pycon2010
Introduction Pycon2010Introduction Pycon2010
Introduction Pycon2010
 
モノとモノとをつなぐ 3つの「れんけい」
モノとモノとをつなぐ 3つの「れんけい」モノとモノとをつなぐ 3つの「れんけい」
モノとモノとをつなぐ 3つの「れんけい」
 
「文書管理システム-作成用キット」の紹介, Introduction of "Document management system-Creation Kit"
「文書管理システム-作成用キット」の紹介, Introduction of "Document management system-Creation Kit"「文書管理システム-作成用キット」の紹介, Introduction of "Document management system-Creation Kit"
「文書管理システム-作成用キット」の紹介, Introduction of "Document management system-Creation Kit"
 
osakapy 2014.05 LT
osakapy 2014.05 LTosakapy 2014.05 LT
osakapy 2014.05 LT
 
私とOSSの25年
私とOSSの25年私とOSSの25年
私とOSSの25年
 
Kanonってなぁ~に?~楽々Kanonで華麗にお仕事しよう~
Kanonってなぁ~に?~楽々Kanonで華麗にお仕事しよう~Kanonってなぁ~に?~楽々Kanonで華麗にお仕事しよう~
Kanonってなぁ~に?~楽々Kanonで華麗にお仕事しよう~
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
 
20120915 Pythonは本当にBlenderの役に立っているか?
20120915 Pythonは本当にBlenderの役に立っているか?20120915 Pythonは本当にBlenderの役に立っているか?
20120915 Pythonは本当にBlenderの役に立っているか?
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshop
 

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

pf-1. Python,Google Colaboratory