Pythonのバージョンは、現在バージョン2とバージョン3の2つが主流のバージョンです。2016年10月現在ではバージョン2からバージョン3への移行期間となっているため、現場では、まだまだバージョン2が使われているところも多いようです。ただし、今後徐々にバージョン3への移行も進んでくると思われるため、ここではPython 3についてのみ解説していきます。バージョン2とバージョン3では互換性がないため注意してください。
Pythonはインデントがとても重要です。インデントとは「字下げ」のことですが、通常プログラムを書く場合、ソースを読みやすくするためにインデントを行います。特にインデントを行わなくても文法的には問題ないのですが、Pythonの場合はインデントを使ってコードのブロックを表しますので、インデントが間違っているとエラーになります。
以下のコードの場合、正しくインデントされているため、実行すると「Hello World」が表示されます。
#!/usr/bin/env python
def main():
print "Hello World"
if __name__ == '__main__':
main()
% python hello.py
Hello World
以下のようにインデントが間違っていると実行時にエラーとなります。
#!/usr/bin/env python
def main():
print "Hello World"
if __name__ == '__main__':
main()
% python hello.py
File "hello.py", line 4
print ("Hello World")
^
IndentationError: expected an indented block
ちなみにインデントはTabか半角スペースで行いますが、Pythonでは半角スペース4つが1段階のインデントとして推奨されています。
Pythonは対話形式でプログラムの動きを確認しながら実行することが可能な「インタラクティブモード」というモードがあります。
Pythonを使用したデータ分析 -事前準備-で紹介したJupyterもインタラクティブモードでコードを実行することが可能です。
インタラクティブモードはpythonコマンドを引数なしで実行します。
% python
Python 3.5.0b2 (default, Sep 20 2016, 15:48:51)
[GCC 4.2.1 Compatible Apple LLVM 7.3.0 (clang-703.0.31)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
インタラクティブモードから抜ける場合は、「exit()」コマンドを実行します。
>>> exit()
実際にインタラクティブモードを試してみます。まず簡単な使い方として計算式を入力してみます。インタラクティブモードでは計算式を入力するだけで計算結果を返してくれます。
>>> 1+2
3
>>> 5-4
1
>>> 2*3
6
>>> 10/5
2.0
>>>
上記のような基本的な計算はもちろん、商や余り、べき乗などの計算も可能です。
#割り算の商
>>> 10 // 3
3
#割り算の余り
>>> 10 % 3
1
#べき乗(2の3乗)
>>> 2 ** 3
8
Pythonに限らず、プログラミング言語には与えられた値(引数)に対して処理を行い、その結果を返すための「関数」という機能があります。
Pythonで関数を呼び出すには、関数名の後に括弧で引数を指定します。Pythonには多くの関数がありますが、最も有名な関数として「print()」関数があります。
「12345」という引数で、print()関数を実行してみます。
>>> print(12345)
12345
引数には計算式を渡すことも可能です。
>>> print(1+2+3+4+5)
15
「,(カンマ)」で区切ることで複数の引数を渡すこともできます。
>>> print(1,2,3,4,5)
1 2 3 4 5
「HelloWorld」などの文字列を引数に渡す場合は、文字列を「"(ダブルクォーテーション)」か「’(シングルクォーテーション)」で囲みます。
>>> print("HelloWorld")
HelloWorld
>>> print('HelloWorld')
HelloWorld
文字列を「+」で繋ぐことで、連結することができます。
>>> print("Hello" + "World")
HelloWorld
文字列の引数に「*」と数字を渡すことで、指定した回数分文字列を繰り返すことができます。「HelloWorld」を3回繰り返す場合は、以下のように引数を渡します。
>>> print("HelloWorld" * 3)
HelloWorldHelloWorldHelloWorld
Pythonに限らずプログラミング言語には、データごとにタイプ(型)が決められています。例えば数字であれば「数値型」、文字列であれば「文字列型」になります。この型を意識しておかないと、思いがけないエラーに遭遇することがありますので注意しておきましょう。例えば、数値型と文字列型を「+」で連結しようとすると以下のようにエラーになります。
>>> print("Hello " + 2020)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Can't convert 'int' object to str implicitly
以下のように型を合わせることで連結が可能です。
>>> print("Hello " +"2020")
Hello 2020
以上のようにPythonの場合、見た目は同じでもタイプ(型)の違いで、扱いが変わるということを覚えておきましょう。
str()関数は「数値を文字列に変換」する関数です。通常、数字型と文字列型を連結しようとするとエラーになります。
>>> print("Hello" + 2020)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Can't convert 'int' object to str implicitly
そこで以下のようにstr()関数を使って、「2020」を数値ではなく文字列として引数に渡すことで実行することができます。
>>> print("Hello " + str(2020))
Hello 2020
ネットワ-ク初心者のみなさま。
ネットワークの基礎知識を疎かにすることは
大変危険です!!
これを読めばネットワークの基礎が分かる!!
ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。
もちろん無料です!!
↓メールマガジン購読はこちら↓