今日の目標
Pythonを触ってみる
使ったもの
- Windows 8.1
- Python 2.7.11
参考
Pythonとは
Python(パイソン)は、広く使用されている汎用のプログラミング言語である。コードのリーダビリティが高くなるように言語が設計されていると主張され、その構文のおかげで、Cなどの言語に比べて、より少ないコード行数でプログラムを表現できると主張されている。小規模なプログラムから大規模なプログラムまで、さまざまなプログラムをクリアに書けるように、多くのコードが提供されている(Wikipedia-Python)
気になるAnsibleがPythonで記述されているので、ちょっと使ってみたいなーと思っていた言語です。ところで私はPythonが読めず、ずっとピジョンと呼んでました。ポ●モンか。
ではスタート
まず準備から
愛しのWikipediaさんが「3.x系はあまり使われてないんだよねー」的な記述をしていたため、情報が多そうな2.x系の最新を使うとします。公式でも並列に表示されていたりする。
ダウンロードしてインストールします。インストールが終わったら、環境変数にPATHを通します。とりあえずセットしたのは以下の2つ。PATHだけでもいいけど、今までの習慣で2段階にしました。
PYTHON_HOME = 【Pythonのインストール場所(デフォルトだと多分C:\Python27になってます)】
PATH = %PYTHON_HOME%
早速ちょこっと使ってみる
PATHを通したら、コマンドプロンプトでpython
と打てば対話型プログラミングができるようになります。printでコンソール出力。
>python
Python 2.7.11 (v2.7.11:6d1b6a68f775, Dec 5 2015, 20:32:19) [MSC v.1500 32 bit (
Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print "Hello, Python!"
Hello, Python!
エディタでファイルを作って実行する
何か良いエディタないかなーと思ったら、WindowsでPythonをインストールするとエディタも付いてくるそうで。py拡張子のファイルを作って、右クリックするとEdit with IDLE
と出てくるので、それをポチッ。
とりあえず参考サイトみたいに作ってみる。
# -*- coding: utf-8 -*-
print u"Hello, Pythonを実行します"
def hello():
print "Hello, Python!"
if __name__ == "__main__":
print u"なんかここ、Pythonのmainらしいよ?"
hello()
IDLE内でRun -> Run Module
すると起動します(F5
でも実行できるよ)。
Python知ってる人にとっては当たり前だろうけど、if __name__ == "__main__"
がmain関数みたいなものだと知って、「え」と思いました。なんてわかりにくい…!
スクリプト実行だとここがtrueになるそうです。__name__
に__main__
が入るってことですね。で、他のモジュールに呼び出された時にはここはfalseになって__main__
内が実行されない、と。
# -*- coding: utf-8 -*-
print u"Hello, Pythonを実行します"
print u"%sが実行されます" % __name__
def hello():
print "Hello, Python!"
if __name__ == "__main__":
print u"なんかここ、Pythonのmainらしいよ?"
hello()
import helloPythonしたら、main下のコードは実行されない。
__name__
の中には呼び出された名前が入るんですな。ほうほう。
printで%s
を使うと、文字列後にある%
後ろの変数を%s
に代入できるっぽいですね。ここらへんはC言語チックでちょっと親しみを持てます。
最後はいつも通りのHello World
# -*- coding: utf-8 -*-
print u"Hello, Pythonを実行します"
def hello(name):
print "Hello, %s. Welcome to Python!" % name
if __name__ == "__main__":
name = "torinist"
hello(name)
個人的には{}がないのがちょっと不安。そして地味に苦手な上から実行…(最初coding指定の下にhello()の呼び出しを何気なく書いたら怒られた)。仲良くなりたいけど、時間がかかりそうです。