---
title: cs-10. Python プログラミングの基本
tags:  #コンピューターサイエンス #python #プログラミング #オブジェクト #メソッド #引数 #文字列 #データの種類 #制御 #code combat  
author: [kunihikokaneko](https://www.docswell.com/user/6674398749)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/47ZM9WQGE3.jpg?width=480
description: トピックス： オブジェクトとメソッド，引数，代入，データの種類，制御，コードコンバット（Code Combat）の紹介   コンピューターサイエンス URL: https://www.kkaneko.jp/cc/cs/index.html
published: December 17, 21
canonical: https://www.docswell.com/s/6674398749/ZMLGE5-2021-12-17-134204
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/47ZM9WQGE3.jpg)

cs-10. Python プログラミングの基
本
（コンピューターサイエンス）
URL: https://www.kkaneko.jp/cc/cs/index.html
金子邦彦
1


# Page. 2

![Page Image](https://bcdn.docswell.com/page/YJ6NKG6QJV.jpg)

オブジェクト，変数，メソッド，代入，変数
• オブジェクト：コンピュータでの操作や処理の対象と
なるもののこと
• 変数：名前の付いたオブジェクトには，変数，関数な
どがある（「変数」は，数学の変数とは違う意味）
• メソッド: オブジェクトに属する操作や処理．メソッド
呼び出しでは，引数を指定することがある．引数（ひ
きすう）は，メソッドに渡す値のこと
Hero.attack(&quot;fence&quot;, 36, 26)
• 代入：「=」を使用．オブジェクトの値が変化する
b = a + 100
2


# Page. 3

![Page Image](https://bcdn.docswell.com/page/GJ55PV62J4.jpg)

条件分岐，繰り返し（ループ）
• 条件分岐
x &gt; 20 のときのみ
print(&quot;big&quot;) が実行される
x ≦ 20 のときのみ
print(&quot;small&quot;) が実行される
• 繰り返し（ループ）
足し算の 5回繰り返し（0 + 1, 1 + 2, 3 + 3, 6 + 4, 10 + 5）
同じ結果 15 が得られる
3


# Page. 4

![Page Image](https://bcdn.docswell.com/page/9E2N63M17R.jpg)

アウトライン
10-1
10-2
10-3
10-4
項目
復習
オブジェクトとメソッド，引数，代入
データの種類
制御
コードコンバット（Code Combat）の紹
介
4


# Page. 5

![Page Image](https://bcdn.docswell.com/page/D7YP91X47M.jpg)

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


# Page. 6

![Page Image](https://bcdn.docswell.com/page/VEN5L216J8.jpg)

プログラミング
• コンピュータによりさまざまな問題を解くとき，プ
ログラミングが役立つ
（例）現在の日時，最大公約数，平方根，三角
関数など
• コンピュータを使うからといって，計算が完璧に正
確というわけではない
• さまざまなプログラミング言語がある．用途や状況
に応じて使い分ける
• 「１つを知っていれば，どの言語も大体似ているの
6
で，応用が利く」という考え方もある


# Page. 7

![Page Image](https://bcdn.docswell.com/page/Y79Y415RE3.jpg)

プログラムが役に立つ理由
① プログラム次第で，様々な処理が可能．
② プログラムは，コンピュータでの様々な処理を自
動化する
③ プログラムのソースコードは，作業記録としても
使うことができる．いつでも再現できる．
④ プログラム中の値などを変えて再実行も簡単
7


# Page. 8

![Page Image](https://bcdn.docswell.com/page/G786Q4YGJD.jpg)

10-1. オブジェクトとメソッド，引数，
代入
8


# Page. 9

![Page Image](https://bcdn.docswell.com/page/L7L9X64XER.jpg)

オブジェクト
• オブジェクト：コンピュータでの操作や処理の対
象となるもののこと
• 名前の付いたオブジェクトには，変数，関数，モ
ジュールなどがある．
9


# Page. 10

![Page Image](https://bcdn.docswell.com/page/4EMZL5K37W.jpg)

オブジェクトとメソッド
hero.moveDown()
Python プログラム
hero
オブジェクト
moveDown() メソッド
間を「.」で区切っている
• メソッド: オブジェクトに属する操作や処理．
• メソッド呼び出しでは，引数を指定することがある．引数
（ひきすう）は，メソッドに渡す値のこと
Hero.attack(&quot;fence&quot;, 36, 26)
10


# Page. 11

![Page Image](https://bcdn.docswell.com/page/PER6K3XRJ9.jpg)

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


# Page. 12

![Page Image](https://bcdn.docswell.com/page/P7XML46YJX.jpg)

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


# Page. 13

![Page Image](https://bcdn.docswell.com/page/37KGLZ14ED.jpg)

メソッドの引数
オブジェクトが動く
実行画面
オブジェクトとメソッド
（Python プログラム）
引数がある場合もあれば，
ない場合もある．
13


# Page. 14

![Page Image](https://bcdn.docswell.com/page/LJ3N3DQDJ5.jpg)

代入
• 代入：プログラムで，「x = 100」のように書く
と，x の値が 100 に変化する
x = 100
プログラム
実行結果
14


# Page. 15

![Page Image](https://bcdn.docswell.com/page/8JDW4P92EG.jpg)

メソッドアクセス，代入
Python プログラムの例
x = 100
a = x + 200
enermy1 = hero.findNearestEnemy()
hero.attack(enemy1)
• 代入：オブジェクト名 ＋ 「=」
＋ 式または値またはメソッド呼び出し
• メソッドアクセス：オブジェクト名 ＋ 「.」
＋ メソッド名 ＋「()」 （引数を付けることも）
Python プログラムでは，その他にも，属性アクセス，関数
呼び出し，制御，「*」, 「+」などの演算子，コマンド，
15
定義など


# Page. 16

![Page Image](https://bcdn.docswell.com/page/VEP9MNZL78.jpg)

10-2．データの種類
16


# Page. 17

![Page Image](https://bcdn.docswell.com/page/27VM9KW67Q.jpg)

Python の主なデータの種類
データの種類 データ型名
Python プログラムでの書き方
整数
int
10
Decimal
import decimal
decimal.Decimal(10)
浮動小数
float
1.23
文字列
str
&quot;Hello, World\n&quot;
true/false
bool
True
日時
datetime.datetime
import datetime as dt
dt.datetime(2022, 12, 1, 1, 23, 45)
リスト
List
[1, 2, 3]
レンジ
range
range(1, 4)
辞書
dict
{1: &quot;orange&quot;, 2: &quot;apple&quot;, 3:
&quot;apple&quot;}
numpy 配列
numpy.ndarray
import numpy as np
np.array([1, 2, 3])
17


# Page. 18

![Page Image](https://bcdn.docswell.com/page/5JGGZQD2JL.jpg)

演習
資料：19 ～ 22
【トピックス】
• データの種類
• 変数
18


# Page. 19

![Page Image](https://bcdn.docswell.com/page/47QXLK19JP.jpg)

変数
① Python Tutor のエディタで次のプログラムを入れ
る．
整数を使ってみる．
変数 x の値を 100 に変化させる．
次のように「x = 100」を入れる．
19


# Page. 20

![Page Image](https://bcdn.docswell.com/page/KE46DP6RJ1.jpg)

② 実行し，結果を確認する
「x 100」となっている．
「Visual Execution」をクリック．そして「Last」をクリック．結果を確認．
「Edit this code」をクリックすると，エディタの画面に戻る
20


# Page. 21

![Page Image](https://bcdn.docswell.com/page/L71VZ9VVJG.jpg)

変数
③ Python Tutor のエディタで次のプログラムを入れ
る．
今度は、文字列を使ってみる
21


# Page. 22

![Page Image](https://bcdn.docswell.com/page/G7WL9QL3J2.jpg)

④ 実行し，結果を確認する．
「s &quot;Hello&quot;」となっている．
「Visual Execution」をクリック．そして「Last」をクリック．結果を確認．
「Edit this code」をクリックすると，エディタの画面に戻る
22


# Page. 23

![Page Image](https://bcdn.docswell.com/page/4JZM9WMG73.jpg)

10-3. 制御
23


# Page. 24

![Page Image](https://bcdn.docswell.com/page/YE6NKGNQEV.jpg)

制御
• プログラムは，上から順に実行（逐次実行）が基
本である
• 条件分岐では，「実行される部分」と「実行され
ない部分」がある
• 繰り返し（ループ）では，同じ部分が繰り返し実
行される
24


# Page. 25

![Page Image](https://bcdn.docswell.com/page/GE55PV52E4.jpg)

条件分岐
条件分岐では，「実行される部分」と「実行され
ない部分」がある
実行結果
プログラム
x &gt; 20 のときのみ
print(&quot;big&quot;) が実行される
x ≦ 20 のときのみ
print(&quot;small&quot;) が実行される
25


# Page. 26

![Page Image](https://bcdn.docswell.com/page/972N63N1JR.jpg)

繰り返し（ループ）
繰り返し（ループ）では，同じ部分が繰り返し実
行される
実行結果
プログラム
足し算の 5回繰り返し
0 + 1, 1 + 2, 3 + 3, 6 + 4, 10 + 5
26


# Page. 27

![Page Image](https://bcdn.docswell.com/page/DJYP91P4JM.jpg)

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


# Page. 28

![Page Image](https://bcdn.docswell.com/page/V7N5L256E8.jpg)

オブジェクト，変数，メソッド，代入，変数
• オブジェクト：コンピュータでの操作や処理の対象と
なるもののこと
• 変数：名前の付いたオブジェクトには，変数，関数な
どがある（「変数」は，数学の変数とは違う意味）
• メソッド: オブジェクトに属する操作や処理．メソッド
呼び出しでは，引数を指定することがある．引数（ひ
きすう）は，メソッドに渡す値のこと
Hero.attack(&quot;fence&quot;, 36, 26)
• 代入：「=」を使用．オブジェクトの値が変化する
b = a + 100
28


# Page. 29

![Page Image](https://bcdn.docswell.com/page/YJ9Y41YR73.jpg)

条件分岐，繰り返し（ループ）
• 条件分岐
x &gt; 20 のときのみ
print(&quot;big&quot;) が実行される
x ≦ 20 のときのみ
print(&quot;small&quot;) が実行される
• 繰り返し（ループ）
足し算の 5回繰り返し（0 + 1, 1 + 2, 3 + 3, 6 + 4, 10 + 5）
同じ結果 15 が得られる
29


# Page. 30

![Page Image](https://bcdn.docswell.com/page/GJ86Q46GED.jpg)

10-4. コードコンバット（Code
Combat）の紹介
30


# Page. 31

![Page Image](https://bcdn.docswell.com/page/LJL9X69X7R.jpg)

Python まとめ
• オブジェクトとメソッド
hero.moveDown()
hero はオブジェクト
moveDown() はメソッド
• 文字列は「&quot;」または「&#039;」で囲む
• メソッド呼び出しでは，引数を指定することがある
hero.attack(&quot;fence&quot;, 36, 26)
hero.attack(enemy1)
• 変数と代入
x = &quot;Door&quot;
• メソッドの結果を，変数に代入
enermy1 = hero.findNearestEnemy()
• 繰り返し（ループ）
while True:
hero.moveRight()
hero.moveLeft()
31


# Page. 32

![Page Image](https://bcdn.docswell.com/page/47MZL5Z3JW.jpg)

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


# Page. 33

![Page Image](https://bcdn.docswell.com/page/P7R6K36RE9.jpg)

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


# Page. 34

![Page Image](https://bcdn.docswell.com/page/PJXML4MYEX.jpg)

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


# Page. 35

![Page Image](https://bcdn.docswell.com/page/3JKGLZG47D.jpg)

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


# Page. 36

![Page Image](https://bcdn.docswell.com/page/LE3N3DNDE5.jpg)

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


# Page. 37

![Page Image](https://bcdn.docswell.com/page/8EDW4PW27G.jpg)

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


# Page. 38

![Page Image](https://bcdn.docswell.com/page/V7P9MN9LJ8.jpg)

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


# Page. 39

![Page Image](https://bcdn.docswell.com/page/2JVM9KM6JQ.jpg)

⑥ 「Python（デフォルト）」を選び、「次
へ」をクリック
39


# Page. 40

![Page Image](https://bcdn.docswell.com/page/5EGGZQG2EL.jpg)

⑦ 使用可能なアイテムを選ぶ（ダブルク
リック）
40


# Page. 41

![Page Image](https://bcdn.docswell.com/page/4JQXLKX9EP.jpg)

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


# Page. 42

![Page Image](https://bcdn.docswell.com/page/K746DP2RE1.jpg)

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


# Page. 43

![Page Image](https://bcdn.docswell.com/page/LJ1VZ9MVEG.jpg)

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


# Page. 44

![Page Image](https://bcdn.docswell.com/page/GJWL9Q33E2.jpg)

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


# Page. 45

![Page Image](https://bcdn.docswell.com/page/4EZM9WVGJ3.jpg)

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


# Page. 46

![Page Image](https://bcdn.docswell.com/page/Y76NKG5Q7V.jpg)

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


# Page. 47

![Page Image](https://bcdn.docswell.com/page/G755PVY274.jpg)

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


# Page. 48

![Page Image](https://bcdn.docswell.com/page/9J2N63G1ER.jpg)

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


# Page. 49

![Page Image](https://bcdn.docswell.com/page/DEYP91V4EM.jpg)

⑬ 完了の確認．「続ける」をクリック
49


# Page. 50

![Page Image](https://bcdn.docswell.com/page/VJN5L2M678.jpg)

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


# Page. 51

![Page Image](https://bcdn.docswell.com/page/YE9Y41NRJ3.jpg)

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


# Page. 52

![Page Image](https://bcdn.docswell.com/page/GE86Q4KG7D.jpg)

オブジェクト，変数，メソッド，代入，変数
• オブジェクト：コンピュータでの操作や処理の対象と
なるもののこと
• 変数：名前の付いたオブジェクトには，変数，関数な
どがある（「変数」は，数学の変数とは違う意味）
• メソッド: オブジェクトに属する操作や処理．メソッド
呼び出しでは，引数を指定することがある．引数（ひ
きすう）は，メソッドに渡す値のこと
Hero.attack(&quot;fence&quot;, 36, 26)
• 代入：「=」を使用．オブジェクトの値が変化する
b = a + 100
52


# Page. 53

![Page Image](https://bcdn.docswell.com/page/LEL9X6ZXJR.jpg)

条件分岐，繰り返し（ループ）
• 条件分岐
x &gt; 20 のときのみ
print(&quot;big&quot;) が実行される
x ≦ 20 のときのみ
print(&quot;small&quot;) が実行される
• 繰り返し（ループ）
足し算の 5回繰り返し（0 + 1, 1 + 2, 3 + 3, 6 + 4, 10 + 5）
同じ結果 15 が得られる
53


