\r\n\r\n
今、新しい言語を学ぶなら、Pythonは選択肢の一つです。比較的簡単に習得できるだけでなく、技術関連のさまざまなキャリアで重宝される実用的な用途がたくさんあるのです。
この記事は、すでにプログラミングの経験があり、とにかく早くPythonに移行したい人のために書かれたものです。プログラミングの経験が全くない方には、以下のPythonチュートリアルサイトやオンラインPythonコースがおすすめです。
Pythonの基本的な例はすべてpython 3.x用に書かれています。python 2.xで動作することは保証できませんが、コンセプトは移植可能であるはずです。Pythonの環境を効率的に作り、管理することを忘れないでください。
Pythonプログラマは、適切な文字列操作を習得する必要があります。Web開発、ゲーム開発、データ分析など、文字列は関連性があります。Pythonで文字列を扱うには、正しい方法と間違った方法があります。
2つの文字列があるとする。
>>>name = "Joel">>>job = "Programmer"例えば、2つの文字列をつなげたいとします。
>>>title = name + " the " + job>>>title>"Joel the Programmer"文字列を操作してより読みやすいコードを作成するには、より高速な方法があります。好ましい方法は、format()メソッドを使用することです。
>>>title = "{} the {}".format(name, job)>>>title>"Joel the Programmer"{はプレースホルダーで、format()メソッドの引数に順次置き換えていきます。最初の{}は引数nameに、2番目の{}は引数jobに置き換わります。カウントが一致する限り、{}と引数はいくつあってもかまいません。
パラメータは文字列である必要はなく、文字列として表現できるものであれば何でもよいので、必要であれば整数を含めてもよいというのが良い点である。
>>>age = 28>>>title = "{} the {} of {} years".format(name, job, age)>>>title>"Joel the Programmer of 28 years"Pythonicのもう一つの巧妙なトリックは、文字列のリストを受け取り、それらを1つの文字列に結合するjoin()メソッドです。一例として
>>>availability = ["Monday", "Wednesday", "Friday", "Saturday"]>>>result = " - ".join(availability)>>>result>'Monday - Wednesday - Friday - Saturday'定義された文字列は各リスト項目の間のセパレータで、セパレータは2つの項目の間に**入るだけです(そのため、最後に余計なセパレータが入ることはありません)。ジョインメソッドを使用すると、手動で行うよりもはるかに高速に処理することができます。
条件文がなければ、プログラミングは意味をなさない。幸いなことに、Pythonの条件文はすっきりしていて理解しやすい。疑似コードを書いているような感覚です。それがPythonの良さです。
他のすべてのプログラミング言語と同様に、比較演算子はブール値(TrueまたはFalse)で評価されます。 ここでは、Pythonのすべての比較演算子について説明します。
>>>x = 10>>>print(x == 10) # True>>>print(x != 10) # False>>>print(x <> 10) # False, same as != operator>>>print(x > 5) # True>>>print(x < 15) # True>>>print(x >= 10) # True>>>print(x <= 10) # Trueこれ==!上記の「=」「< gt」演算子は、2つの変数の値を比較するために使用されます。2つの変数が全く同じオブジェクトを指しているかどうかを確認するために、is演算子が使われます。
>>>a = [1,2,3]>>>b = [1,2,3]>>>c = a>>>print(a == b) # True>>>print(a is b) # False>>>print(a is c) # Trueブール値は、not演算子を前につけることで反転させることができる。
>>>a = [1,2,3]>>>b = [1,2,3]>>>if a is not b:>>> # Do something here >>>x = False>>>if not x:>>> # Do something hereリストや辞書などの反復可能なオブジェクトに値が存在するかどうかを調べるだけなら、in 演算子を使うのが最も手っ取り早い方法です: 。
>>>availability = ["Monday", "Tuesday", "Friday"]>>>request = "Saturday">>>if request in availability:>>> print("I'm available on that day!")複数の条件文を結合するには、and および or 演算子を使用します。and演算子は、両辺がTrueと計算された場合はTrue、そうでない場合はFalseとして計算されます。or演算子は、どちらかの辺がTrueと計算された場合はTrue、そうでない場合はFalseとして計算されます。
>>>legs = 8>>>habitat = "Land">>>if legs == 8 and habitat == "Land":>>> species = "Spider" >>>weather = "Sunny">>>if weather == "Rain" or weather == "Snow":>>> umbrella = True>>>else:>>> umbrella = False最後の例をさらに圧縮することができます。
>>>weather = "Sunny">>>umbrella = weather == "Rain" or weather == "Snow">>>umbrella>FalsePythonで最も基本的なループはwhileループで、条件文の評価がTrueである限り何度でも繰り返されます。
>>>i = 0>>>while i < 10:>>> print(i)>>> i = i + 1また、次のように構成することもできる。
>>>i = 0>>>while True:>>> print(i)>>> if i >= 10:>>> breakbreak文は、ループを即座に終了させるために使用します。もし、現在のループの残りをスキップして、次の反復を開始したいだけなら、continueを使用することができます。
Pythonのforループは、JavaやC#などのC系言語のforループとはかなり異なる。これらの言語のforeachループに設計上、より近いと言えます。
つまり、forループはIn演算子を使って反復可能なオブジェクト(リストや辞書など)に対して反復処理を行う。
>>>weekdays = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]>>>for day in weekdays:>>> print(day)forループは平日リストの先頭から始まり、最初の項目をday変数に代入し、最初のループはその変数にのみ適用されます。ループが終了すると、平日リストの次の項目がdayに割り当てられ、再びループする。平日のリストの最後に到達するまで続きます。
ループをX回だけ反復して実行したい場合、Pythonはこの目的のためにrange()メソッドを提供します。
>>># Prints 0,1,2,3,4,5,6,7,8,9>>>for i in range(10):>>> print(i)引数が1つの場合、range()は0から始まり、引数値まで1つずつカウントアップし、引数値に近づいたところで停止します。引数を2つ与えると、range()は最初の値から始まり、2番目の値まで1つずつカウントアップしますが、最初の値の前で停止します。
>>># Prints 5,6,7,8,9>>>for i in range(5, 10):>>> print(i)もし、1つずつではなく、間隔をあけてカウントしたい場合は、第3パラメータを指定することができます。次のループは、1ではなく2をスキップすることを除いて、前のループと全く同じです。
>>># Prints 5,7,9>>>for i in range(5, 10, 2):>>> print(i)他の言語から来た人は、反復可能なオブジェクトをループしても、リスト内のそのオブジェクトのインデックスが得られないことに気がつくかもしれません。インデックスは通常非Pythonicなので避けるべきですが、もし必要ならenumerate()メソッドを使用することができます。
>>>weekdays = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]>>>for i, day in enumerate(weekdays):>>> print("{} is weekday {}".format(day, i))という結果になります。
>Monday is weekday 0>Tuesday is weekday 1>Wednesday is weekday 2>Thursday is weekday 3>Friday is weekday 4それに対して、これでは解決にならない。
>>>i = 0>>>for day in weekdays:>>> print("{} is weekday {}".format(day, i))>>> i = i + 1辞書(dicts)は、Pythonで最も重要なデータ型です。いつも使うものだから。高速で使いやすく、コードをきれいに、読みやすく保ちます。ディクショナリーを使いこなすことは、Pythonの学習の半分を占めています。
良いニュースは、おそらく皆さんもすでにディクトに出会ったことがあると思いますが、ハッシュテーブルやハッシュマップという名前で知っているのではないでしょうか?これは全く同じで、キーと値のペアの連想配列です。リストでは、インデックスを使って内容にアクセスし、ディクショナリーでは、キーを使って内容にアクセスします。
空のdictを宣言する方法。
>>>d = {}dictのキーを値に割り当てる方法。
>>>d = {}>>>d["one_key"] = 10>>>d["two_key"] = 25>>>d["another_key"] = "Whatever you want"ディクトの利点は、変数の種類を混在させることができることです。何を入れてもいいんです。dictの初期化を簡単にするために、次のような構文を用いることができます。
>>>d = {>>> "one_key": 10,>>> "two_key": 25,>>> "another_key": "Whatever you want">>>}キーでdictの値にアクセスするには、次のようにします。
>>>d["one_key"]>10>>>d["another_key"]>"Whatever you want">>>d["one_key"] + d["two_key"]>35dictを繰り返し処理するには、以下のようにforループを使用します。
>>>for key in d:>>> print(key)キーと値を繰り返し処理するには、items() メソッドを使用します。
>>>for key, value in d.items():>>> print(key, value)dictから項目を削除するには、delオペレータを使用します。
>>>del d["one_key"]ディクテはいろいろなことに使えますが、ここでは簡単な例として、アメリカの各州とその首都を対応させます。ディクテは次のように初期化します。
>>>capitals = {>>> "Alabama": "Montgomery",>>> "Alaska": "Juneau",>>> "Arizona": "Phoenix",>>> ...>>>}ある州の首都が必要な場合、このようにアクセスすることができます。
>>>state = "Pennsylvania">>>capitals[state]>"Harri**urg"これらは、Pythonが他の多くの言語と異なる基本的な側面に過ぎません。この記事で紹介した内容を理解できれば、Pythonをマスターするための道のりは順調です。コツコツとやっていけば、すぐにできるようになります。
ついていけなくても、心配はいりません。これは、あなたがプログラマーになる運命にないということではなく、Pythonがあなたにとってそれほど簡単ではないということを意味しています。そんなときは、新しいプログラミング言語を習得するためのコツをチェックすることをおすすめします。
最も重要なことは、チャレンジングでありながら、ストレスフルであってはならないということです。もしストレスフルであれば、ストレスなくプログラミングを学ぶためのヒントをご覧ください。
この新しい知識を手に、Herokuを使ってPythonのウェブサイトを無料でホストする方法を紹介します。