Python学習の足跡

●Pythonとはどんなもの

Python(パイソン)は、汎用のプログラミング言語である。
コードがシンプルで扱いやすく設計されており、C言語などに比べてさまざまなプログラムを分かりやすく、少ないコード行数で書けるといった特徴がある。(Wikipedia)


・IDLEを起動した直後にできること

IDLEを起動するとまるでメモ帳のような画面が出る。
そこでは「>>>」という文字が出てくる。これは「プロンプト(prompt)」といい、いつでも命令を受けつけているという状態。
ここに命令を入力してEnterを押すと一個ずつ命令を実行する。この状態を「インタラクティブモード」という

・インタラクティブモードでできること

プロンプト「>>>」に命令を入力すると様々なことができる。
・計算
>>>の後に計算式を打つと答えが出る。
・カレンダー
>>>の後にimport calendar と打ち、>>> print(calendar.month(2018,12))と打つ。
ここの「import」とはこの機能を使うという意味。
「print」は画面に文字や数字を表示させるという意味。

・文字(特に日本語など)を入力する

Pythonは半角の英語で入力していくので、日本語はちょっぴり苦手である。
文字(主に日本語)を入力する前に「# coding=utf-8」を入力する。
これは文字が正しく表示されるために必要。
例:# coding:utf-8 print("こんにちは")

改行するためには、option+¥で\nを出し、括る。
例:# coding:utf-8 print("こんにちは。\n そういえば、犬は元気かな?\n 長生きしてますか")

・変数について

変数は、プログラミングを書く人が好きな名前をつけた「器」にこと。
>>> a=1
これは「変数1aに値1を格納する」という意味
簡単にいうと、「aという名前の箱ができて、その中に値1が入っている」

>>> username = "佐藤太郎"
usernameという名前の変数ができ、そこに”佐藤太郎”という値が格納されている。

・変数の参照

変数に保存した場合は、その変数名を指定すると、値が取り出せる。
>>> a
これで変数aの値が表示される。今では「1」が表示される。
>>> username
これで佐藤太郎が表示される。

・for構文

指定した値の列から一つずつ取り出して、それが尽きるまで繰り返す。
for構文に「指定する値の列」は、「一つずつ取り出せるもの」であれば何でもよく、
これを「シーケンス」(順序立てているもの)という。

代表的ものは「リスト(List)」と呼ばれる値で、「値をカンマで区切って並べて、全体を[]で囲ったもの」

# coding:utf-8
for a in [1,2,3,4,5]:
print(a)


このリストに対して、
for a in [1,2,3,4,5]:

と記述すると、1,2,3,4,5を一つずつ取り出して、変数aに代入しながら、その値が尽きるまで繰り返す。
つまり、aの値が1,2,3,4,5と変化しながら繰り返される。
つまり結果としては、

1
2
3
4
5

と表示される。

●Tkinterを用いてGUIを作る

TkinterとはPythonに標準搭載されている、簡単にGUIを組むことのできるツールキットです。

・ウインドウサイズを変更

表示するウインドウのサイズを変更する。一般的なモニターの画面サイズはHDサイズ(1280×720)なので今回はHDサイズにします。

root.geometry('1280x720')

・ラベルを配置する

Python上でのラベルというのは、文字のテキストやボタンの役割を果たすモノのことを指します。

Static1 = tk.Label(text=u'test')
Static1.pack()


ラベルをウインドウ上の好きな場所にするのはplaceに変えると可能である。

Static1.place(x=200, y=300)

・Entryを表示する

Entryとはユーザーが情報を入力することができる部分である。

Entry1 = tk.Entry()
Entry1.pack()

・Entryに表示してある情報を取得する

ユーザーがEntryに入力した情報を実際に取得する。取得後にどういう動作するかはまた後に記載する。

Entry1_value = Entry1.get()
print(Entry1_value)

・ボタンを設置する

ユーザーが実際に選択や確定を実行するためのボタンを設置する。

Button1 = tk.Button(text=u'確定')
Button1.pack()


ボタンを押した後に何かを実行させる(今回は押したらEntryの中身を消す)

Button1.bind("<Button-1>", deleteEntry)
Button1.pack()