Skip to content

Commit 4fea511

Browse files
authored
Merge pull request #213 from chvmvd/update-python-article
2 parents 61f7b8e + a999967 commit 4fea511

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+1369
-301
lines changed

docs/01python/01google-colaboratory/index.mdx

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,11 @@ import helloWorldOnColab from "./hello-world-on-colab.mp4";
66

77
# 環境構築(Google Colaboratory)
88

9-
昔はプログラミングの開発環境を整えることはとても大変な作業でしたが、今は Google の開発した Google Colaboratory を使うとブラウザ上で簡単に Python を実行することができます
9+
まずは、プログラミングをするための環境構築をしましょう
1010

11-
次の動画のようにすることでプログラムを簡単に実行できるので、一度やってみてください。
11+
環境構築と言っても、昔はプログラミングの開発環境を整えることはとても大変な作業でしたが、今は Google の開発した Google Colaboratory を使うとブラウザ上で簡単に Python を実行することができます。
12+
13+
次の動画のようにすることでプログラムを簡単に実行できるので、やってみてください。
1214

1315
<video src={helloWorldOnColab} controls width="100%" />
1416

@@ -22,7 +24,7 @@ import helloWorldOnColab from "./hello-world-on-colab.mp4";
2224

2325
![新規ファイル](./new-file.jpg)
2426

25-
4. 新しいファイルが開いたら、コードを書くことができます。セルの中に `print("Hello World!")` のように書いて、Windows や Linux では `Ctrl + Enter`、Mac では `Command + Enter` で任意の Python のコードを実行させることができます。
27+
4. 新しいファイルが開いたら、コードを書くことができます。セルの中に `print("Hello World!")` のように書いて(意味は分からなくて構いません。この後解説します。)、Windows や Linux では `Ctrl + Enter`、Mac では `Command + Enter` を押すことで任意の Python のコードを実行させることができます。
2628

2729
![実行後](./run-script.jpg)
2830

@@ -32,4 +34,6 @@ import helloWorldOnColab from "./hello-world-on-colab.mp4";
3234

3335
これらは、キーボード・ショートカットと呼ばれ、使いこなすことで高速にパソコンを操作できるようになります。
3436

37+
例えば、コピーは `Ctrl / Command + C` で、ペーストは `Ctrl / Command + V` です。他にもたくさんあるので、少しずつ使いこなして、高速にパソコンを操作できるようになってみてください。
38+
3539
:::

docs/01python/02hello-world/index.mdx renamed to docs/01python/02getting-started/index.mdx

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,15 @@ import Answer from "@site/src/components/Answer";
77

88
# はじめての Python
99

10+
はじめてのプログラムを書いてみましょう。
11+
1012
## Hello World
1113

1214
はじめてのプログラムを書いてみましょう。
1315

1416
プログラミングの世界では、まず画面上に `Hello World!` と表示させるのが慣例になっています。以下のコードが画面上に `Hello World!` と表示するプログラムです。以下のコードを Google Colaboratory 上で実行してみましょう。
1517

16-
<ViewSource path="/hello-world/hello-world.ipynb" />
18+
<ViewSource path="/getting-started/hello_world.ipynb" />
1719

1820
`Hello World!` と表示されたら成功です。
1921

@@ -27,14 +29,14 @@ import Answer from "@site/src/components/Answer";
2729

2830
`"``"` で括られた文字列を `Hello World!` から次のように `Hello from Python!` に変えれば、完成です。
2931

30-
<ViewSource path="/hello-world/hello-from-python.ipynb" />
32+
<ViewSource path="/getting-started/hello_from_python.ipynb" />
3133
</Answer>
3234

3335
## コメント
3436

3537
`#` から文末まではコメントとして扱われます。
3638
プログラムを読みやすくするために説明を書くときや一時的にあるコードを実行しないようにするときなどによく使われます。
3739

38-
<ViewSource path="/hello-world/comment.ipynb" />
40+
<ViewSource path="/getting-started/comment.ipynb" />
3941

40-
<ViewSource path="/hello-world/comment2.ipynb" />
42+
<ViewSource path="/getting-started/comment2.ipynb" />

docs/01python/03expressions/index.mdx

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,27 +7,29 @@ import Answer from "@site/src/components/Answer";
77

88
# 算術演算子
99

10+
ここでは、Python で様々な計算を行っていきます。
11+
1012
## 算術演算子
1113

12-
Python を使って計算をしてみましょう。次のように書くと、$1+1$ を Python に計算させて、その結果を表示することができます。
14+
Python を使って演算をしてみましょう。次のように書くと、$1+1$ を Python に計算させて、その結果を表示することができます。
1315

1416
<ViewSource path="/expressions/sum.ipynb" />
1517

1618
:::tip
17-
Python では、多くの場合半角スペースは無視されます。ただし、単語の途中などに入れてはいけません。そのため、読みやすくするために半角スペースを入れていますがなくても同じように動きます。
19+
Python では、多くの場合半角スペースは無視されます。(ただし、単語の途中などに入れてはいけません。)そのため、読みやすくするために半角スペースを入れていますがなくても同じように動きます。
1820

1921
ただし、全角スペースが入っているとエラーが出てしまうのでプログラムを書くときには絶対に全角スペースを入れないように気をつけましょう。
2022
:::
2123

22-
:::info
24+
:::note
2325
上のプログラムは、次のようにしても実行できます。それぞれには、少し違いがあるようですが気にしなくて大丈夫でしょう。
2426

2527
Google Colaboratory 以外で実行するときなど上のようなプログラムでうまく動かないときは、下のように書いてみてください。
2628

2729
<ViewSource path="/expressions/sum2.ipynb" />
2830
:::
2931

30-
Python では足し算以外にも次のように様々な計算をすることができます
32+
Python では足し算以外にも次のように様々な演算をすることができます
3133

3234
| 演算子 | 説明 ||
3335
| ------ | ------ | -------------------------------------------------- |
@@ -39,10 +41,10 @@ Python では足し算以外にも次のように様々な計算をすること
3941
| `//` || <ViewSource path="/expressions/quotient.ipynb" /> |
4042
| `%` | 剰余 | <ViewSource path="/expressions/remainder.ipynb" /> |
4143

42-
括弧`(``)` を用いることで、複雑な計算をすることもできます。
44+
括弧 `(``)` を用いることで、複雑な計算をすることもできます。
4345
黄金比を計算してみましょう。黄金比は、$\frac{1+\sqrt{5}}{2}$ で与えられます。
4446

45-
<ViewSource path="/expressions/golden-ratio.ipynb" />
47+
<ViewSource path="/expressions/golden_ratio.ipynb" />
4648

4749
:::tip
4850
平方根は 0.5 乗とすることで計算できます。
@@ -57,5 +59,5 @@ F=\frac{9}{5}C+32
5759
$$
5860

5961
<Answer>
60-
<ViewSource path="/expressions/fahrenheit.ipynb" />
62+
<ViewSource path="/expressions/to_fahrenheit.ipynb" />
6163
</Answer>

docs/01python/04variable/index.mdx

Lines changed: 0 additions & 78 deletions
This file was deleted.

docs/01python/04variables/index.mdx

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
---
2+
sidebar_position: 4
3+
---
4+
5+
import ViewSource from "@site/src/components/ViewSource";
6+
import Answer from "@site/src/components/Answer";
7+
8+
# 変数
9+
10+
ここでは、変数の使い方を学びます。
11+
12+
## 変数
13+
14+
10℃ での音速を求めてみましょう。$V$ を音速、$t$ を摂氏温度とすると、音速はおおよそ次のような式で求められます。
15+
16+
$$
17+
V=331.5+0.6t
18+
$$
19+
20+
<ViewSource path="/variables/sound_velocity.ipynb" />
21+
22+
一応できましたが、 $t$ を変えようとすると、(これぐらいならすぐできますが)いちいちプログラムを全て読み直して、温度を書き換えなければなりません。これが、複雑な計算式だったら、どの値を変えればいいのかわからなくなってしまいそうです。
23+
24+
ここで、変数が活躍します。変数は数値や文字列を入れられる箱のようなもので、任意の数値や文字列を格納することができます。例えば、次のように `hoge` と名前のついた箱に $2$ を入れておくことができます。
25+
26+
![変数の説明](variable.drawio.svg)
27+
28+
:::note メタ構文変数
29+
30+
メタ構文変数は、プログラムなどを説明する際、特に意味のない名前が必要になったときによく使われる言葉です。名前を書くときに、東大太郎や駒場花子といった名前を使うのと同じようなものです。
31+
32+
日本では、`hoge``fuga``piyo` などがよく使われます。`hogehoge` なども使われます。
33+
34+
英語では、`foo``bar` などがよく使われます。`foobar` なども使われます。
35+
36+
これらの単語を見たら、ここのところは任意の文字で書き換えられるんだなと思っておくと良いでしょう。
37+
38+
ちなみに、暗号の仕組みを説明するときなどには Alice と Bob がよく登場します(笑)
39+
40+
:::
41+
42+
そのため、変数を使うと、次のようにより変更しやすいようなプログラムを書くことができます。
43+
44+
<ViewSource path="/variables/sound_velocity_revised.ipynb" />
45+
46+
このようにすれば、例えば 10℃ ではなく 20℃ のときの音速を求めたくなったときに次のように `t = 20` とするだけでよくなり、より簡単にプログラムを変更することができます。
47+
48+
<ViewSource path="/variables/sound_velocity_revised_20degree.ipynb" />
49+
50+
:::tip
51+
Python では、数学とは違い `=` は右の結果を左の変数に代入するという意味です。
52+
そのため、次のようなプログラムを実行すると 2 が出力されます。
53+
54+
<ViewSource path="/variables/substitution.ipynb" />
55+
:::
56+
57+
:::note 命名規則
58+
Python では変数名にスペースを使えないため、語をつなげて変数名を作ることに成ります。これには、様々な命名規則があります。下に主なものの名称と例を示します。
59+
60+
| 名称 ||
61+
| -------------- | ------------ |
62+
| キャメルケース | `camelCase` |
63+
| パスカルケース | `PascalCase` |
64+
| スネークケース | `snake_case` |
65+
| ケバブケース | `kebab-case` |
66+
67+
Python では、スネークケースを使うことが多いようです。
68+
(ただし、クラス(ここでは説明しません)の命名には、パスカルケースを使うようです。)
69+
そのため、複数の語を一語につなげる場合は、`snake_case` のように `_`(アンダーバー)を使って語の区切りが分かるようにすると良いでしょう。
70+
:::
71+
72+
:::note 定数(主に他の言語の学習者へ)
73+
Python では定数は使えないようです。慣習的に定数は大文字のみの変数として表すようです。例: `SAMPLE_CONST`
74+
:::
75+
76+
### 練習問題 1
77+
78+
[算術演算子の項](/docs/01python/03expressions/#問題)で解いた問題を変数を使って解いてみましょう。20℃ での華氏温度を求めてみましょう。次のような式で表せます。
79+
80+
$$
81+
F=\frac{9}{5}C+32
82+
$$
83+
84+
<Answer>
85+
<ViewSource path="/variables/to_fahrenheit.ipynb" />
86+
</Answer>
87+
88+
### 練習問題 2
89+
90+
次のプログラムを実行すると、どのような数字が出力されるか考えてみてください。
91+
92+
```python
93+
x = 2
94+
y = 3
95+
y = x + y
96+
y
97+
```
98+
99+
<Answer>
100+
101+
3 行目では、`x + y` の値が評価されてその結果が `y` に代入されます。そのため、$2+3=5$ が `y` に代入され `5` が出力されます。
102+
103+
<ViewSource path="/variables/substitution_practice.ipynb"/>
104+
</Answer>
Lines changed: 36 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)