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

>100 Views

December 17, 21

スライド概要

コンピューターサイエンス
URL: https://www.kkaneko.jp/cc/cs/index.html

profile-image

金子邦彦(かねこくにひこ) 福山大学・工学部・教授 ホームページ: https://www.kkaneko.jp/index.html 金子邦彦 YouTube チャンネル: https://youtube.com/user/kunihikokaneko

シェア

埋め込む »CMSなどでJSが使えない場合

各ページのテキスト
1.

cs-10. Python の基礎(オブジェク ト,メソッド,引数,文字列) (コンピューターサイエンス) URL: https://www.kkaneko.jp/cc/cs/index.html 金子邦彦 1

2.

アウトライン 1.Python の拡張機能 2.プログラミングの基礎 •式 • 変数 第4回の授業 • 条件分岐 • 繰り返し • オブジェクト • メソッド 今回の授業 • 引数 • 文字列 2

3.

10-1 Python の拡張機能の紹介 (コンピューターサイエンス) URL: https://www.kkaneko.jp/cc/cs/index.html 金子邦彦 3

4.

Paiza.IO さまざまなプログラミング言語の体験, 演習ができるオンラインサービス ① ウェブブラウザで次の URL を開く https://paiza.io/ja ② 「コード作成を試してみる」をク リック ③ 言語を選ぶ.この授業では Python 3 4

5.

Python の拡張機能の例 • 現在の日時 • 最大公約数 • 方程式を解く • 平方根 • 円周率 • 三角関数 など 5

6.

① 現在の日時 オペレーティングシステム(コンピュータ)のタイマー を利用 次のソースコードを実行.いまの日時が表示されることを確認 import datetime now = datetime.datetime.now() print(now) すべて半角文字 6

7.

② 最大公約数 24 と 18 の最大公約数を求めたい Python の拡張機能 math を利用 次のソースコードを実行.結果 6 を確認 import math print( math.gcd(24, 18) ) 7

8.

③ 方程式を解く 4x + 1 = 0 を解きたい Python の拡張機能 scipy を利用 次のソースコードを実行.結果 -0.25 を確認 from scipy import optimize def foo(x): return 4 * x + 1 print( optimize.fsolve(foo, 10) ) 8

9.

④ 平方根 面積が 7 の正方形の一辺の長さは? 次のソースコードを実行.結果 2.6457513110645907 を確認 (結果は近似値) import math print( math.sqrt(7) ) 9

10.

⑤ 円の面積 半径 3 の円の面積は? (円周率は, Python の拡張機能の math.pi を使用) 次のソースコードを実行.結果を確認(結果は近似値) import math print( 3 * 3 * math.pi ) 10

11.

⑥ 三角形の面積 三角形の2辺の長さが,4と6で,その間の角度が60度 のとき,面積は (1/2) × 4 × 6 × sin(60) 次のソースコードを実行.結果を確認 import math print( (1/2) * 4 * 6 * math.sin(60 * math.pi / 180) ) 11

12.

10-2 Python のインポート (コンピューターサイエンス) URL: https://www.kkaneko.jp/cc/cs/index.html 金子邦彦 12

13.

Python のインポート • Python のインポートは、別のファイルを取り込む こと • import コマンド ファイル bar.py ファイル foo.py 「import foo」で、 ファイル foo.py を取り込み. 「foo.foo」は,ファイル foo.py の中の foo の意味. 実行結果 13

14.

Python の標準ライブラリ • 公式ドキュメント https://docs.python.org/ja/3/library/index.html • 組み込み関数、組み込み定数、組み込み型、組み込み例外、 テキスト処理、バイナリデータ処理、データ型、数値と数 学、関数型プログラミング、ファイルとディレクトリ、 データの永続化、デー圧縮とアーカイブ、ファイルフォー マット、暗号、オペレーティングシステム、並列実行、コ ンテキスト変数、ネットワーク通信とプロセス間通信、イ ンターネット上のデータ操作、HTMLとXML、インター ネットプロトコルとサービス、マルチメディアサービス、 国際化、プログラムのフレームワーク、グラフィカルユー ザインタフェース、開発ツール、デバッグとプロファイル、 ソフトウエア・パッケージと配布、Pythonランタイムサー ビス、カスタム Python インタプリタ、モジュールのイン ポート、Python 言語サービス、各種サービス • 多くは「インポート」により取り込んで使用する 14

15.

Python の標準ライブラリの使用 標準ライブラリ math をインポート math 内の pi を表示 ソースコード 標準ライブラリの名称、機能は、 自分で調べる 実行結果 15

16.

10-3 Python の基礎 (コンピューターサイエンス) URL: https://www.kkaneko.jp/cc/cs/index.html 金子邦彦 16

17.

プログラミング (programming) • コンピュータは、プログラムで動く • プログラミングは、プログラムを設計、製作 すること • 何らかの作業を、コンピュータで実行させる ために行う プログラムの ソースコード プログラムの 実行結果 17

18.

ソースコード (source code) • プログラムを,何らかのプログラミング言語 で書いたもの • 「ソフトウエアの設計図」ということも. 人間も読み書き、編集できる • 複数のプログラミング言語を使うことも import picamera camera = picamera.PiCamera() camera.capture("1.jpg") exit() Raspberry Pi で,カメラを使って 撮影し,画像を保存するプログラムの ソースコード 18

19.

オブジェクトとメソッド hero.moveDown() Python プログラム hero オブジェクト moveDown() メソッド 間を「.」で区切っている • オブジェクト コンピュータでの操作や処理の対象となるもののこと. ※ 値が変化するオブジェクトのことを変数と呼んだりもする • メソッド オブジェクトに属する操作や処理のこと 19

20.

Python の基礎 • 文字列は「"」または「'」で囲む • メソッド呼び出しでは,引数を指定することがある. 引数(ひきすう)とは,メソッドに渡す値のこと Hero.attack("fence", 36, 26) Hero.attack(enemy1) • 変数と代入.代入により,変数の値が変化する x = "Door" • メソッドの結果を,変数に代入 enermy1 = hero.findNearestEnemy() これらをマスターしておく. 他の多くのプログラミング言語でも応用がきく. 20

21.

繰り返し(ループ) while True: hero.moveRight() hero.moveLeft() Python プログラム 同じ処理や操作を繰り返す これをマスターしておく. 他の多くのプログラミング言語でも応用がきく. 21

22.

10-4 オブジェクトとメソッドの例 (コンピューターサイエンス) URL: https://www.kkaneko.jp/cc/cs/index.html 金子邦彦 22

23.

オブジェクトとメソッド hero.moveDown() Python プログラム hero オブジェクト moveDown() メソッド 間を「.」で区切っている • オブジェクト コンピュータでの操作や処理の対象となるもののこと. ※ 値が変化するオブジェクトのことを変数と呼んだりもする • メソッド オブジェクトに属する操作や処理のこと 23

24.

オブジェクトが動く 実行画面 オブジェクトとメソッド (Python プログラム) 24

25.

オブジェクトが動く 実行画面 オブジェクトとメソッド (Python プログラム) 25

26.

10-5 引数 (コンピューターサイエンス) URL: https://www.kkaneko.jp/cc/cs/index.html 金子邦彦 26

27.

オブジェクトが動く 実行画面 オブジェクトとメソッド (Python プログラム) 引数がある場合もあれば, ない場合もある. 27

28.

10-6 コードコンバットの利用法 (コンピューターサイエンス) URL: https://www.kkaneko.jp/cc/cs/index.html 金子邦彦 28

29.

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

30.

コードコンバット • コードコンバットは,Python プログラムの実習ができ るオンラインサービス • • • • • • オブジェクト メソッド 文字列 引数 変数と代入 繰り返し(ループ) プログラム実行結果 プログラム編集 がビジュアルに表示 の画面など される画面など 30

31.

コードコンバットを使うには URL: https://codecombat.com • 各自で会員登録することもできる(メリット:課金アイテ ムを買うことができる.履歴が残る) ・メールアドレス ・パスワードは,コードコンバット専用の パスワードを自分で考える ・誕生日 • 課金のメッセージがでたら,注意深く対処する • この資料では,会員登録しないとして説明する • 最初のダンジョンのクリア:目安は1から3時間 31

32.

① Web ブラウザを使う • https://codecombat.com 「課金のメッセージ」などで心配なことが あるときは,無理に使い続けないこと 課金のメッセージの例 32

33.

② 「今すぐプレイ」をクリック • 「日本語」になっていない場合には,日本語に変える • アカウント登録やログインは行わないことにする 33

34.

③ キースガードのダンジョンを選んでみる。 「ゲームスタート」をクリック 34

35.

④ 「キースガードのダンジョン」の最初の ダンジョンを選ぶ 音声が出るので、このとき、各自で「音量」を調整 ゴール 課金なしで も ゴールに 行ける 最初のダンジョン 35

36.

⑤ 「ゲームスタート」をクリック 36

37.

⑥ 「Python(デフォルト)」を選び、「次 へ」をクリック 37

38.

⑦ 使用可能なアイテムを選ぶ(ダブルク リック) 38

39.

⑧「ゲームスタート」をクリック 39

40.

⑨ 「レベルスタート」をクリック 40

41.

ヒントを見たいときは、「ヒント」を クリック 41

42.

メソッドの説明を見たいときは、「メソッ ド」の下のリストの中から、説明を見たい メソッドをクリック 42

43.

⑩ 編集画面で、試しに、 「hero.moveDown()」と追加して、「実行」 をクリックしてみる 43

44.

⑪ 「実行」で,キャラクタが動くので確認 する hero.moveRight() で右に動き、hero.moveDown() で 下に動く 44

45.

迷ったら,「ミッション(目標)」や 「ヒント」を確認する • プログラミングの練習だけでなく,ゲーム要素 (パズル)もある.楽しんで解く. • ヒントや説明が,英語で表示される場合がある (日本語版が無いときは英語表示) 45

46.

⑫「目標:成功!」になるまで、編集画面を 書き換えて、「実行」を繰り返す。 • 「目標:成功!」になったら「完了」をクリック 46

47.

⑬ 完了の確認.「続ける」をクリック 47

48.

ダンジョンのゴールを目指す • 赤い旗をたどり,ダンジョンのゴールを目指す • 有料のダンジョンもある.支払いをしない場合は, 有料のダンジョンは選べない 赤い旗をたどる 青い旗は有料のことも 48

49.

⑭ ダンジョンの出口を目指す 49

\初めてのセミナーを開催します/

採用セミナー開催