#Python入門その1
###Pythonとは
・インタプリタ型言語。
プログラミングにはインタプリタ型とコンパイル型がある。
インタプリタ型は、書かれたコードを逐次解釈しながら実行する言語。
一方、コンパイル型は一旦ソースコードをコンパイルして実行する。
コンパイルとは、例えばC言語で書かれた人間が理解できる文字を、10010110...のように機械が理解できるモノに変換すること。
今は、
インタプリタ->プログラムの開発がやりやすいが、実行速度が遅い
コンパイラ->開発に手間がかかるが、実行速度が速い
程度に覚えておけばOK
インタプリタ型言語:pythonなど
コンパイル型言語:Cなど
Instagramなどの開発に使われている。
本来、多くのイベントを同時に処理するアプリケーションの開発には不向きなはずだが、その開発速度の速さが好まれて使われている。
あと、pythonはライブラリが多くて、とにかくいろいろなことができます。
##実際に書いてみよう
まずは
1VSCodeを開く
↓
2ファイルを作成し名前をHelloWorld.py
にする
↓
3以下のコードをかく
print('HelloWorld')
↓
4上タブにあるRUN
→Run Without Debbuging
を押す
おそらくこれで下の方にターミナルが出現し、実行できたはずです。
Unity(C#)と違うところは、文末の;がいらないところです。
###動的な型付け
pythonの大きな機能の一つが「動的な型付けです」。
まずは書いてみましょう。
message = "Good morning"
num = 85
pi = 3.141592
print(message)
print(num)
print(pi)
これで実行してみましょう。こうなるはずです。
Good morning
85
3.141592
unityでこれをやるとエラーが起きます。
なぜなら、変数の型を宣言してあげていないからです
じゃあ次を続けて実行してみましょう
print(type(message))
print(type(num))
print(type(pi))
こうなるはずです
#`type(変数)`でその変数の型を出してくれる。
#あ、ちなみにpythonのコメントアウトは//ではなく#です。
<type 'str'>
<type 'int'>
<type 'float'>
誰も何も言っていないのに、勝手に型を決めてくれています。
これが動的な型付けです。便利ですね。
ex1-1
・自分の名前を表示してみよう。
###四則演算###
四則演算とは、足し算とか、引き算とか、掛け算とか、割り算のことです。
これはunityと全く一緒です
- -> 足し算
- -> 引き算
- -> 掛け算
/ -> 割り算
演算子はまた今度やります。次を実行してみましょう。
a = 10
b = 20
print(a+b)
print(b-a)
print(a*b)
print(b/a)
次のようになるはずです.
30
10
200
2
ex1-2
・一日は何秒なのか、pythonを書いて求めてみましょう。
・1,296,000秒は何日でしょうか
###データ型
pythonには、複数のデータを一括で管理するためのデータ型というものが存在します。
データ型、とかリスト、とか聞くと難しく聞こえてしまいますが、unity(c#)でいうところの配列です。(ただし厳密には違う).
pythonには、データ型として、
・リスト
・タプル
・辞書
・集合
の4種類があります。
今回はリスト(以下list)を見ていきます。
実際に見るのが早いので↓を見てください。
a = []
b = [2,5,62,1]
c = [5,232,'Bob']
このように、listは好きな型を格納できます。入れた順に、0番目、1番目、2番目,,と順序が割り振られます。
list内の値は変更したり、後から追加したりすることができます。一番便利なので、もっともよく使われます。
また、異なる型の値を入れることができます。
例えば、cは整数型と文字型が入っています。
では、次を書いてみましょう
mylist = ["tom","john","bob","kenji"]
print(mylist[1])
この場合、誰が出力されるでしょうか?
答えはjohnです。
list名[番号]というのは、そのlistに入れられている値を指します。mylist[1]なので、mylistの一番目であるjohnが出力されます。
書き忘れていましたが、listは0からカウントされます。
こういうのをzero-based indexとか言います。
また、次のような代入方法も可能です。
mylist = [0,1,2,3]
mylist[0] = "tom"
mylist[1] = "john"
mylist[2] = "bob"
mylist[3] = "kenji"
ちなみに、listにはいろいろな機能があります。
さすがに、僕も全部は覚えていません。下のを参考にしてみましょう。
例えば、0~9までの数字が入ったリストを作って、偶数だけ出力してみます。
mylist = list(range(10))
s = mylist[0:10:2]
print(s)
[0, 2, 4, 6, 8]
このように、listに数字を加えたり、一定の数だけ取り出したり、消したりする機能があります。
上のサイトを参考に次の問題達をやってみてください。
ex1-3
・まずは0~9のリストを作ってみましょう
・その中で5番目のみ消してください。
・そのlistの末尾に消えてしまった数字を挿入してください。
・listの先頭に95を挿入してみましょう。
・その要素を昇順にソートしてください。ソートとは並び替えるという意味で、昇順というのはだんだん大きくなるということです。
データ型には、他にもタプルやDictionaryなどがあります。
例えば、タプルは、値が変更できないなどの特徴があります。listは変更できます。
その他をここで学ぶと非常にややこしいことになるので、また今度。
##参考
[https://developer.rhino3d.com/guides/rhinopython/]