Pythonの最初のステップ

Pythonの最初のステップ

ようこそ! This tutorial details how to get started with Python。 これは、デリックカーニー(カナダ人、Pythonマスター、食通)とマイケルハーマン(もちろんReal Pythonチームの)によって書かれ、編集され、更新されています。

私(デリック)は、毎日数え切れないほどの質問を投げかけるいくつかのPythonグループの管理を支援しています。 この投稿では、私が最もよく耳にする質問に答えます、“How do I get started with Python?”

(1)Pythonとは?

The Python Logo. The Python logo is a trademark of the Python Software Foundation.

英国のコメディグループMonty Pythonにちなんで名付けられたPythonは、インタプリタ型のインタラクティブなオブジェクト指向プログラミング言語です。 その柔軟性により、大小を問わず多くのことを実行できます。 Pythonは単純なプログラムを作成するために使用できますが、複雑で大規模なエンタープライズソリューションを作成するために必要なフルパワーも備えています。 Pythonの使用方法には次のようなものがあります。

  • ゲームを含むデスクトップグラフィカルアプリケーション開発。

  • データの数学的および科学的分析;そして、

  • Webおよびインターネットの開発。

コンピュータープログラミングの世界でのPythonの存在はどこにでもあります。 たとえば、Pythonは、いくつか例を挙げると、Reddit, Dropbox, and Youtubeなどの地球上で最大のインターネットサイトのいくつかで使用されています。 人気のあるPython WebフレームワークDjangoは、InstagramとPinterestの両方をサポートしています。 LucasFilmsの受賞歴のある視覚効果会社であるIndustrial Light&Magicは、Pythonを使用して、魔法の実現を支援しています。

習得が非常に簡単なため、Pythonがいかに強力であるかを忘れがちです。

Pythonプロパティ

Pythonは…

  1. Stronglyが入力されました。 データ型を強制するため、たとえば文字列と整数を連結することはできません。

  2. Dynamicallyimplicitlyが入力されました。 したがって、変数のデータ型を明示的に宣言する必要はありません。 データ型は実行時に適用されます。

  3. Case sensitive。 たとえば、tokenTOKENは2つの異なる変数です。

  4. Object-orientedEverything is an object

(2)Pythonの取得-予備

Pythonは無料で、Linux、Mac、Windows、およびその他のさまざまなプラットフォーム(合計21)で動作するopen-sourceソフトウェアです。 MacおよびLinuxのほとんどのディストリビューションにプリインストールされています。ただし、最新バージョン(see below)をダウンロードする必要がある場合があります。

バージョンを確認するには、ターミナルを開き、次のコマンドを実行します。

python -V

Pythonバージョンの選択

Python 2と3のどちらを決定するかについて、初心者プログラマと熟練プログラマの両方が混乱する可能性があります。 幸いなことに、2つの間に構文上の違いはほとんどなく、コンピューターで両方のバージョンを実行できます。

現在、Pythonには2つの主要バージョン-2.xと3.xがあります。

Python 2.7.xと3.2.xから3.4.xがアクティブに維持されている間、バージョン3.5.xのみがアクティブな開発中であり、新しい機能と機能を獲得しています。

Which version is right for you?ええと、それはあなた次第です。 正直なところ、この初期段階であなたに影響を与える2つの違いはほとんどないため、どちらの選択でも十分です。 さらに、1つを学んだら、もう1つを学ぶことはそれほど難しくありません。

一般に、Pythonを学習し始めたばかりの場合は、多くのバグ修正と改良が加えられた機能が追加されているため、より良いバージョンであるため、3.4.xに進みます。 ただし、2.7xはサードパーティライブラリからのサポートがはるかに多くあります。 バージョン3.4.xに移植されていないライブラリを使用する必要があることがわかっている場合は、2.7xから開始するのが最適です。

このシリーズの例は、執筆時点での現在のバージョンであるバージョン3.4.2で示されます。 ただし、3.4.xに追加された機能と更新の多くが2.7.xにも追加されたため、ほとんどの例はどちらのバージョンでも正常に動作します。 相違点については、発生時に注意する必要があります。

(3)Pythonを入手するにはどうすればよいですか?

オペレーティングシステムに関係なく、Python Software Foundation(PSF)からPythonをダウンロードできます。 OSとプロセッサ(32または64ビット)に固有のバージョンを取得します。

OS-specific instructions

  • MacHomebrewを使用して、異なるバージョンのPythonをインストールおよび管理することを強くお勧めします。 方向hereを確認してください。 PSFからPythonをダウンロードすることもできます。

  • Linux:繰り返しますが、Pythonはさまざまな種類のLinuxに含まれています。 必要に応じて、パッケージマネージャーを使用して最新バージョンにアップグレードしてください。

  • WindowsPSFからPythonを直接ダウンロードします。

Windowsユーザー:インストールプロセス中にシステムパスにPythonを追加するオプションを選択してください。

Adding python.exe to the system path

(ドロップダウンから、[ローカルハードドライブにインストールされます]オプションを選択します。)

(4)Pythonインストールの確認

Pythonが正しくインストールされていることを確認するために、簡単な健全性チェックを行ってみましょう。

Pythonシェル

Python Interactive Shellを開きます。

  • Mac:ターミナルを開いて、インストールに応じてpythonまたはpython3を実行します。

  • Linux:ターミナルを開いて実行します:python

  • Windows:Pythonのバージョンが1つしかない場合は、pythonを実行するだけです。 Python2.7とPython3の両方がインストールされている場合は、Python 2.7の場合はpythonを実行し、Python 3の場合はpy -3を実行します。

Windowsユーザー:アカウントに管理者権限があることを確認します。コマンドプロンプトアイコンを右クリックし、[管理者として実行]を選択して、昇格したレベルでコマンドプロンプトを実行します。

対話型のPythonシェルが開き、コマンドプロンプトまたはターミナルウィンドウが次のようになります。

>>>

Python 3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 00:54:21)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

ここにいる間に、最初のコード行を実行することもできます…

Python 2

>>>

>>> print "Python is fun!"

Python 3

>>>

>>> print("Python is fun!")

Python 2.xを実行している場合、printコマンドはPython3.xの関数ではなくステートメントです。

君は見るべきだ:

>>>

Python is fun!

それだけです。あなたは最初のPythonプログラムを書いたところです! 行を入力するたびに、Pythonはすぐにステートメントを実行し、引用符で囲まれた値を表示します。

完了したら、exit()を使用してPythonシェルを終了できます。 Or:

  • Mac and Linux usersCtrl+[.kbd .key-d]#D and then press [.keys] [.kbd .key-enter] #Enter

  • Windows usersCtrl+[.kbd .key-d]#D and then press [.keys] [.kbd .key-enter] #Enter

端末またはコマンドプロンプトを開いたままにします。 まだまだやることがあります! Pythonプリミティブを実行しながら、シェルの使用を続けましょう。

(5)言語プリミティブ

このセクションでは、Pythonコーディングプリミティブ-変数、組み込みデータ型、コメント、構文、セマンティクスを見ていきます。

変数

データの場合はVariables are containers。 それらを宣言する構文は次のとおりです:variable_name = variable_value。 変数には任意の名前を付けることができますが(いくつかのreserved keywordsを除く)、shouldは直感的に理解できる名前付けスキームを使用します。 変数名shouldは、それに割り当てられた値が何であるかを示します。

たとえば、多くの新しいプログラマーは、xyなどの単純な変数名を使用します。 これをしないでください(エラー、試してください)。 代わりに、2つの数値(たとえば152)がある場合は、xyの代わりに変数名num1num2を使用します。 そうすれば、他の人があなたのプログラムを読んだときに、num1num2はおそらくある種の数であると知識に基づいて推測することができます。 あなたのプログラムを書くとき、そしてあなた自身の未来を考えるとき、他の人のことを考えてください。 あなたの将来の自己はあなたに感謝します。

組み込みデータ型

Pythonには、数値(整数、浮動小数点数、複素数)、文字列、リスト、タプル、辞書などのa number of built-in data typesがあります。

これらはそれぞれ、次を使用して操作できます。

  1. オペレータ

  2. 関数

  3. データ型のメソッド

私と一緒に各例を入力してください。

番号

数値には、整数、浮動小数点、ブール、または複素数を使用できます。 前の3つが最も重要です。

  • 整数は整数です-1222476-99999

  • フロートには小数点があります-1.02.2222.098476.1-99999.9

  • ブール値は、TrueまたはFalse(または1または0)のいずれかを表します。 それらは、いずれか1つにしかなれないデータを表します。

数字の操作

オペレータ

以前にオペレーターを見たことがあります。 小学校で学んだように、加算(または連結)や減算のようなものです。

>>>

>>> 2 + 3   # Addition
5
>>> num1 = 10
>>> num2 = 9.99
>>> num3 = num1 + num2
>>> num3
19.990000000000002
>>> 8 - 5   # Subtraction
3
>>> 2 * 6   # Multiplication
12
>>> 12 / 3  # Division
4.0
>>> 7 % 3   # Modulus (returns the remainder from division)
1
>>> 3 ** 2  # Raise to the power
9

プレ代数のスキルをテストして、ブール値に評価される比較を見てみましょう。たとえば、TrueまたはFalse(または1または0)のいずれかです。

>>>

>>> 2 < 5
True
>>> 4 > 10
False
>>> 3 >= 3
True
>>>
>>> 5 == 6
False
>>> 6 != 9
True

関数

Pythonには、整数を操作するための組み込みのfunctionsがいくつか用意されています。 これらは利用可能なalwaysです。 注意:これらの関数は、anyデータ型で使用できます。 mathなど、Python標準ライブラリでも利用可能なモジュールがいくつかあります。 これらのモジュールに関連付けられている機能を使用するには、最初にモジュールをインポートする必要があります。 これについては後で詳しく説明します。 とりあえず、組み込み関数のいくつかの例を見てみましょう。

float()-整数を指定すると、この関数はfloatを返します。

>>>

>>> float(9)
9.0
>>> float(-99999)
-99999.0

int()-floatを指定すると、この関数は整数を返します。 この関数は、入力を最も近い整数に切り上げ(天井)することはありません。小数点以下(フロアリング)を捨てるだけで、数値を返します。 したがって、10.6の入力は11ではなく10を返します。 同様に、3.25は3を返します。

>>>

>>> int(10.6)
10
>>> int(3.25)
3

データ型のメソッド

関数の他に、各タイプの数値に関連付けられたdata-type methodsがいくつかあります。

float.is_integer()-floatが有限かどうかをテストします。

>>>

>>> (10.0).is_integer()
True
>>> (10.1).is_integer()
False

文字列

文字列は、一重引用符または二重引用符で宣言されたテキスト行です。

>>>

>>> simple_string = "hey!"
>>> simple_string
'hey!'
>>> "hello world!"
'hello world!'
>>> escaped = 'can\'t'
>>> escaped
"can't"
>>> not_escaped = "can't"
>>> not_escaped
"can't"

文字列の操作

オペレータ

数値と同様に、concatenate strings(文字列連結)を実行できます。

>>>

>>> "happy" + " " + "birthday"
'happy birthday'
>>> "my name is " + "john"
'my name is john'

関数

文字列操作に使用するのに適したfunctionsをいくつか見てみましょう。

len()-文字列を指定すると、この関数はその長さを返します。

>>>

>>> len(name_string)
15

slice()-開始値と停止値を指定すると、一連の文字または単一の文字にアクセスできます。

>>>

>>> print("Hello"[2])
l
>>> print("Hello"[3])
l
>>> print("Hello"[0])
H
>>> print("Hello"[0:2])
He

データ型のメソッド

いくつかのデータ型メソッドについてのみ触れますが、知っておくべき重要な関数がいくつかあるため、Pythonのdocumentation全体を確認してください。

string.capitalize()-最初の文字を大文字にした文字列を返します。

>>>

>>> lower_case_string = "michael"
>>> lower_case_string.capitalize()
'Michael'
>>> ("empire").capitalize()
'Empire'

string.format()-値を文字列に簡単にフォーマットできます。

>>>

>>> name = "John Doe"
>>> greeting = "My name is {}".format(name)
>>> greeting
'My name is John Doe'
>>>

string.strip()-先頭と末尾の空白が削除された文字列を返します。

>>>

>>> are_you_happy = "     Yes      "
>>> are_you_happy.strip()
'Yes'

リスト

他のほとんどすべてのプログラミング言語で配列と呼ばれるリストは、さまざまなタイプのデータをグループ化します。

  1. create_a_list = []

  2. numbers_list = [1, 2, 3]

  3. strings_list = ["spam", "eggs", "cheese"]

  4. mixed_list = ["Hello", [1, 2, 3], False]

上記を見るとわかるように、リストには、他のリストを含む、またはまったく含まない、任意のデータ型を含めることができます(組み合わせることもできます)。 インデックス付きの文字列のようにリストの一部にアクセスできます。 構文は同じです:

>>>

>>> create_a_list = []
>>> create_a_list
[]
>>> numbers_list = [1, 2, 3, 200]
>>> numbers_list
[1, 2, 3, 200]
>>> strings_list = ["batman", "superman", "iron man"]
>>> strings_list
['batman', 'superman', 'iron man']
>>> mixed_list = ["Hello World", [4, 5, 6], False]
>>> mixed_list
['Hello World', [4, 5, 6], False]

リストの最初または最後からリストの要素にアクセスできます。

>>>

>>> numbers_list[0]
1
>>> numbers_list[0:1]
[1]
>>> numbers_list[0:2]
[1, 2]

要素にアクセスするだけで新しいリストを作成する方法をご覧ください。

>>>

>>> numbers_list = [1, 2, 3, 200]
>>> new_list = numbers_list[0:3]
>>> new_list
[1, 2, 3]

負のインデックスは、最後のアイテムから逆方向にカウントします。

>>>

>>> strings_list = ["batman", "superman", "iron man"]
>>> strings_list[-1]
'iron man'

リストを別のリスト内にネストすると、複数のインデックスを使用して内部リストにアクセスできます。

>>>

>>> mixed_list = ["Hello World", [4, 5, 6], False]
>>> mixed_list[1][2]
6

リストの操作

オペレータ

リストは連結できます:

>>>

>>> fruits = ["apples", "grapes", "oranges"]
>>> veggies = ["corn", "kale", "mushrooms"]
>>> grocery_list = fruits + veggies
>>> grocery_list
['apples', 'grapes', 'oranges', 'corn', 'kale', 'mushrooms']

関数

一般的に、リストは文字列と考えることができます-各データのみが要素です。 それは実際的にはどういう意味ですか? まあ、文字列で使用するのと同じ関数をリストに使用できます。

len()-リストを指定すると、この関数はリストの長さを返します。

>>>

>>> numbers_list = [1, 2, 3, 200]
>>> len(numbers_list)
4

slice()-開始値と停止値を指定すると、要素のセットにアクセスできます。

>>>

>>> hello = ["H", "e", "l", "l", "o"]
>>> hello[2]
'l'
>>> hello[3]
'l'
>>> hello[0]
'H'
>>> hello[0:2]
['H', 'e']

データ型のメソッド

繰り返しになりますが、Pythondocumentationをチェックして、使用可能なすべてのリストメソッドを確認してください。

list.append()-リストの最後にアイテムを追加するために使用されます

>>>

>>> fruits = ["apples", "grapes", "oranges"]
>>> fruits.append("blueberries")
>>> fruits
['apples', 'grapes', 'oranges', 'blueberries']

list.sort()-このリストを並べ替える

>>>

>>> fruits.sort()
>>> fruits
['apples', 'blueberries', 'grapes', 'oranges']

list.pop()-インデックス値を指定して、リストから要素を削除します

>>>

>>> numbers_list = [1, 2, 3, 200]
>>> numbers_list.pop(2)
3
>>> numbers_list
[1, 2, 200]

タプル

タプルはリストに似ていますが、不変です。つまり、作成後に変更することはできません。

>>>

my_tuple = ("Michael", "Herman", 31, "Software Developer")

リストと同様に、インデックスを使用してさまざまな要素にアクセスすることもできます。

>>>

>>> my_tuple = ("Michael", "Herman", 31, "Software Developer")
>>> my_tuple[1]
'Herman'

多くの場合、タプルはディクショナリキーに使用されます(それらは不変である必要があるため)。

タプルの操作

オペレータ

はい、2つのタプルを追加できます。

>>>

>>> first_tuple = (1, 2)
>>> second_tuple = (3, 4)
>>> third_tuple = first_tuple + second_tuple
>>> third_tuple
(1, 2, 3, 4)

関数

list()-タプルをリストに変換するために使用されます

>>>

>>> first_tuple = (1, 2)
>>> list(first_tuple)
[1, 2]

リストをタプルに変換するのはどうですか? そのための機能はありますか? どこで調べに行きますか?

データ型のメソッド

タプルは不変であるため、list methodsの多くはタプルでは機能しません。

>>>

>>> first_tuple = (1, 2)
>>> first_tuple.append(3)
Traceback (most recent call last):
  File "", line 1, in 
AttributeError: 'tuple' object has no attribute 'append'
>>> first_tuple.pop(1)
Traceback (most recent call last):
  File "", line 1, in 
AttributeError: 'tuple' object has no attribute 'pop'
>>> first_tuple.sort()
Traceback (most recent call last):
  File "", line 1, in 
AttributeError: 'tuple' object has no attribute 'sort'
>>> first_tuple.reverse()
Traceback (most recent call last):
  File "", line 1, in 
AttributeError: 'tuple' object has no attribute 'reverse'

辞書

辞書は、キー/値のペアを含むハッシュテーブルを使用して実装される連想配列(オブジェクト)の一種です。 それらは順不同です。

my_dict = {"Key 1": "Value 1", "name": "michael herman", "pi": 3.14}

次の構文を使用してキーの値を返すことができます。

>>>

>>> my_dict = {"Key 1": "Value 1", "name": "michael herman", "pi": 3.14}
>>> my_dict["name"]
'michael herman'
>>> my_dict["Key 1"]
'Value 1'

辞書の操作

Pythondocumentationを使用して、これを自分で調べてください。 助けが必要? 以下のコメント。

コメントといえば…

コメントはコードを記述するために使用されるため、他の開発者は何が起こっているか(そしてあなた自身の将来)を素早く理解できます。

# This a comment on it's own line
# You create them with the hash symbol
var = "Hello"  # They can also be on the same line as code

助けが必要?

良き友人のように、Pythonは行き詰まった場合にいつでも利用できます。 特定のオブジェクトがどのように機能するかを知りたい場合は、Pythonシェルを開いてから、help()を呼び出してヘルプを取得するか、dir()を呼び出してその特定のオブジェクトで使用できるメソッドを確認します。

(6)Pythonでのコーディング

Pythonでのコーディングには3つの基本的なアプローチがあります。 そのうちの1つ-対話型Pythonシェルを使用しました。

シェル(redux)

これは3つの中で最も強力ではありません。 シェルで関数を作成することはできますが、通常、コードに関する簡単なフィードバックを取得するために、単純な1行のステートメント用に予約されています。

たとえば、簡単な式を見てみましょう。 シェルを開いて実行します:

>>>

>>> 24 + 10
34

Pythonシェルは単純に24 + 10を評価し、2つの数値を加算して、合計34を出力しました。

もう一度試してください:

>>>

>>> import this

出力を読むには少し時間がかかります。 これらはPythonのimportantの概念であり、idiomaticPythonコードの記述に役立ちます。

Pythonインタラクティブシェルを閉じます。 閉じられると、コードはなくなります。 つまり、Pythonシェルに入力されたコードは永続的ではなく、再利用できません。 コーダーとして、貴重なキーストロークを節約するために再利用できるコードが必要です。 残念ながら、Pythonシェルはこの点で失敗します。

IDLE

PythonにはIDLE(Monty PythonのEric Idleにちなんで命名)という名前のプログラムが付属しています。 IDLEは対話型であり、Pythonシェルとまったく同じように使用できます。 and save Pythonコードを作成できるため、コードの再利用にも使用できます。 ただし、IDLEはまだ最後の方法ほど強力ではないため、ここでは省略します。

IDLEの使用に興味がある場合は、優れたガイドOne Day of IDLE Toyingを確認してください。

コードエディター

最適なアプローチは、実際のコーディングエディターを使用することです。 Integrated Development Environment(IDE)を好む人もいますが、学習目的にははるかに単純なコードエディターの方がはるかに優れています。

Why? 何か新しいことを学んでいるとき、できるだけ多くの複雑さの層を剥ぎ取りたいと思うでしょう。 物事を簡素化します。 操作方法を習得する必要がある複雑なIDEをミックスに追加することで、レイヤーを追加するだけで、タスク(Pythonの学習)がさらに難しくなります。

(7)コーディングエディターの選択

Pythonプログラムは、基本的な形式では、.pyのファイル拡張子を持つファイルに保存されたテキスト(コード)の行です。 Pythonコードはメモ帳と同じくらい基本的なもので記述できますが、利用可能なオプションがはるかに多いため、このような試練を経験する理由はありません。 中核となるのは、プログラマーがプログラム(この場合はPythonスクリプトとモジュール)を作成するのに役立つ多くの機能をコードエディターが提供することです。 ほとんどの場合、コードエディターを使用すると、ユーザーはプログラムを自分のニーズやスタイルに合わせてカスタマイズできます。

コードエディタで何を探す必要がありますか?

  • 使いやすさ

  • 構文の強調表示

  • 自動インデント

  • タブ付きビュー

  • 行番号

  • エディターのルックアンドフィールをカスタマイズする機能

  • アドオンの可用性

次の例を見てください。

The Good Bad and Ugly

そのため、上部のエディター(Sublime Text)でコードが読みやすくなるだけでなく(構文の強調表示と行番号付けにより)、3つの単純なエラーが識別されます。そのうちの1つはショーストッパーです。 。 (どちらを確認できますか?)一方、下部のエディター(メモ帳)にはエラーが表示されず、黒と白であるため目には見えません。

どのエディターを使用する必要がありますか?

最も人気のあるコードエディタの1つは、Sublime Text 3です(上に表示)。 強力で、クロスプラットフォームで、無料で試用できます。

引き続き使用する場合は、ライセンスを購入してプロジェクトをサポートしてください。

もっと簡単なものが必要な場合は、クロスプラットフォームでもあるgeditをチェックしてください。 Notepad++も優れたエディターですが、Windows専用です。 これらのエディターは両方とも無料であり、どちらもSublime Textのパワーを備えていませんが、依然として有用です。

3番目のオプションはVimです。これは無料で、Mac、Linux、およびWindowsで使用できます。 Vimの学習曲線は急ですが、忠実なユーザーベースがあります。 Steve FranciaのVim Distributionは、私が今まで見た中で最高のVimのプログラミング設定です。

私は個人的にSublime Text 3を好みます。 ブログ投稿Setting Up Sublime Text 3 for Full Stack Python Developmentをチェックして、Pythonコードを書くために特別にカスタマイズする方法を確認してください。

注意:コードエディタに関しては、無料と商用の両方でmany different optionsがあります。 あなたの研究を行い、実験することを恐れないでください! 覚えておいてください。エディターは、Pythonのコーディング標準、プラクティス、イディオムを順守するのに役立つはずです…

(8)Pythonイディオム=ハッピーコーディング

PEP 8 – Style Guide for Python Codeは、Pythonコードをプログラミングするためのスタイルガイドです。 これを勉強してください。

多くの新しいPython開発者をつまずかせるイディオムは、インデントです。 Pythonは、インデント(4つのスペース)を使用して、コードを[コードブロック](http://en.wikipedia.org/wiki/Block_(programming)と呼ばれるセクションに論理的に編成します。 コードブロックはインデントで始まり、デデントで終わります(インデント解除?)。 誤ったインデントは、Pythonでエラーを生成し、コードの実行を妨げます。 そして、インデントエラーをキャッチし、それらを強調表示するので、適切にセットアップされたコードエディターを使用することで利益が得られます。 インデントするときは、タブの代わりにスペースも使用する必要があります。 ほとんどのエディターでは、タブをスペースに変換できるため、タブを押すと実際に4つのスペースが適用されます。

上の画像のエラーをもう一度見てみましょう…

  1. 2行目-<演算子の周囲にスペースはありません。 PEP8で説明されているように、Pythonは演算子の周りにスペースを想定しています。 これは重大なエラーではありませんが、コードがクリーンで読みやすいはずなので問題があります。

  2. 行4-ここには、ショーストッパーを含む2つのエラーがあります。 上記のように、Pythonはインデントを使用してコードブロックを定義します。 count = count + 1は、2行目から始まるコードのブロックの一部であるため、Pythonがコードブロックに含めるには、4つのスペースをインデントする必要があります。

(9)10までカウント

基本的な例に飛び込む準備はできましたか?!

プログラミングを初めて行う場合は、fullyがコードを理解していない可能性がありますが、重要なのは概念です。 Pythonは非常に読みやすいように設計されており、この例はその原理を示しています。 上記の壊れたコードを修正し、さらにコードブロックを追加して、コードブロックとインデントの概念を強調します。

多くのプログラマーは、問題に最初に近づくと圧倒されます。 サイズに関係なく、問題の解決に役立つ効果的なアプローチは、問題を論理的に部分に分割することです。

たとえば、1から10までカウントする基本的なプログラムをコーディングしましょう。 カウントが増加するたびに新しい数を表示し、コードブロックの概念を支援するために、10に達した後に何が起こるかを示します。 ワークフローの開発を支援する1つのアプローチは、擬似コードを使用することです。

計画を立てましょう(擬似コード!)

Let’s make a plan

コンピューター上で物事を整理しておくのが好きなので、最初にフォルダーを作成し、それを「ドキュメント」フォルダーなどに入れます。 python_codeというフォルダーを作成しました。 コーディングの学習は手作業なので、コードエディターを開き、次のコードを入力します。 Do not copy and paste no matter how tempting it is. Doing so will hinder learning.

Python 2.7

# Python 2.7

count = 1
# Code block 1
while count < 11:
    print count
    count = count + 1
# Code block 2
if count == 11:
    print 'Counting complete.'

Python 3

# Python 3

count = 1
# Code block 1
while count < 11:
    print(count)
    count = count + 1
# Code block 2
if count == 11:
    print('Counting complete.')

各例の最初の行には、#(ハッシュ文字)、スペース、説明が続くことに注意してください。 これはインラインコメントです。 このようなコメントには多くの目的がありますが、ほとんどの場合、コードを説明したり、開発者がとった特定のアプローチを要約したりするために使用されます。 上記の例のコメントはあなたにとって意味がありますか? そうでない場合は、変更します。

最後に、すぐにわかるように、コードの実行時にコメントがPythonによって無視されます。

例ではシングル=とダブル==の両方を使用していることに気づきましたか? これは混乱を招く可能性があります。

  1. count = 1の場合、=は値1をcountという名前の変数に割り当てます。

  2. 条件付きif count == 11:では、==countの値を11と比較し、ブール値のTrueまたはFalseを返します。 上記の例で、各反復後にステートメントが何に評価されるかわかりますか?


作成したフォルダーにファイルをcount_to_ten.pyとして保存し、エディターを終了します。 ターミナルまたはコマンドプロンプトを開き、作成したフォルダーに移動します。

次に、コードを実行します:python count_ten.py

設定に応じて、pythonpython3またはpy -3に置き換える必要がある場合があります。 詳細については、Step 4を参照してください。

出力は次のようになります。

Count to ten

おめでとうございます。 最初のプログラムを作成したばかりです。

(10)エラーと例外

エラーは、経験のあらゆるレベルでプログラマを苛立たせ、苛立たせるものです。

Pythonには、syntax errors and exceptionsという2種類のコードベースのエラーがあります。

構文エラー

このエラーはすでに見ました-インデントが正しくありません。 構文エラーは、プログラムの実行を妨げます。 この例では、ifステートメントにステートメントを終了するためのコロンがありません。 ご覧のとおり、Pythonはエラーを指摘するのに非常に役立ちます。

>>>

>>> if x < 9
   File "", line 1
     if x < 9
             ^
SyntaxError: invalid syntax

例外

プログラムの実行中に例外エラーが発生します。 Pythonにはいくつかの組み込みexceptionsがあります。 例えば:

>>>

>>> 12/0
Traceback (most recent call last):
  File "", line 1, in 
ZeroDivisionError: integer division or modulo by zero

セマンティックエラー

セマンティックエラーは、ロジックの1つ以上の問題の結果として発生するエラーです。

エラーが生成されないため、これらのエラーはより複雑になる可能性があります。 コードは実行されますが、予期しない出力や不正な出力、あるいは出力が生成されます。 この典型的な例は、ほとんどの新しいプログラマーが少なくとも一度は経験する無限ループです。

(11)Pythonの力-パッケージ/モジュール

Pythonの優れた点の1つは、Pythonコアに組み込まれ、言語を拡張するために使用されるthird party packages/librariesの両方で、利用可能なモジュールが多数あることです。 これらのモジュールは非常に役立ちます。 より利用されているビルトインPythonモジュールの一部は次のとおりです。

  • math:Cの標準ライブラリからの数学関数(これはすでに見ました)

  • random:疑似乱数ジェネレータ

  • datetime:日付と時刻の操作に使用されます

  • re:正規表現を操作するため

たとえば、ここではimport mathを使用して、pisqrt(平方根)、およびpow(累乗)を使用します。

Pi

Warning:Pythonファイルにモジュールと同じ名前を付けないでください(math.pyrandom.pyなど)。 これにより競合が発生し、コードで予期しない動作が発生します。 したがって、数学モジュールを使用している場合は、ファイルにmath.pyという名前を付けないでください。 理にかなって?

Pip

Pythonのサードパーティパッケージ/モジュールを管理する最良の方法は、pipを使用することです。 新しいコーダーは、いくつかのサンプルコードをフォローしているときに壁にぶつかることが多く、コードを実行しようとすると次のエラーが表示されます:ImportError: No module named MODULE_XXXX

これらのモジュールは、Pipを使用して手動でインストールする必要があります。 Python 3には、pip3と呼ばれるpipが含まれています。 Homebrewを使用してPythonをインストールした場合、pipも含まれています。 Python 2.7.9以降、pipも含まれています。 2.7.9より前のPythonバージョンを使用している場合は、次の指示に従ってpipをインストールします。

  1. get-pip.pyをダウンロードし、ファイルが.py拡張子で保存されたことを確認します。

  2. ターミナルまたはコマンドプロンプトで、ダウンロードしたファイルの場所に移動します。

  3. 実行:python get-pip.py

  4. 詳細については、official pip documentationをお読みください。

(12)次のステップ

多数のオンラインチュートリアル、書籍、ビデオが無料で入手できます。

最初に立ち寄ったのは、最も人気のある無料の選択肢の1つであるLearn Python the Hard Wayでした。 Zed Shawのチュートリアルは、プログレッシブで論理的なエクササイズ形式でレイアウトされています。 構文を学ぶのに非常に役立ちましたが、もっと必要でした。

コード化の方法を学ぶ最良の方法の1つは、プロジェクト駆動型の学習アプローチを構築することです。 それが本当のPythonに出会った方法です。 適度な料金がかかる3つのReal Pythonがあり、変更に対応するために(通常は隔月で)頻繁に更新されます(無料)。

私を本当に助けてくれたもう1つの場所は、MITのコースIntroduction to Computer Science and Programmingでした。このコースでは、Pythonとともにさまざまなコンピュータサイエンスの概念を取り上げています。 コースは2つの場所にあります。

  1. ハーバード大学とMITの非営利オンラインイニシアチブ(Edx.org)は、2つのパートでコースを提供しています。 彼らは挑戦的であり、問​​題解決への優れたアプローチを提供します。 両方の部分が等級分けされています。

  2. もう1つのルートは、MITオープンコースウェアIntroduction to Computer Science and Programming MIT 6.00xからのものです。 このコースは採点されていませんが、非常に役立つオンラインコミュニティがあります。

もちろん、他のオンラインコースもあります。 繰り返しますが、これは個人的な選択であるため、独自の調査を行ってください。

無料の学習教材のもう1つのソースは、PSFからのものです。

何よりも、「最高の」本やビデオの検索を見つけて迷子にならないことが重要です。 調査を行います。 周りに尋ねます。 しかし、何かとstick with itを選んでください! コードエディタを開き、コーディングを開始してください! それを完了するために自分自身にコミットメントを行います。

無料のPDFダウンロード: Python3チートシート

(13)自転車に乗る

コーディングは、自転車に乗るようなものです。人々がどのように行われるかを見ることができ、時にはプッシュすることもできますが、最終的には単独のイベントです。 行き詰まったとき、または新しいコンセプトを磨く必要があるとき、まず行くのはGoogleです。 エラーメッセージが表示された場合、正確なエラーメッセージをGoogleに入力すると、多くの場合、最初のページに問題が解決する結果が表示されます。

これらのリソースも確認してください。

  1. 公式のPythonドキュメント-Python 2.7またはPython 3

  2. Tutorials Pointには、簡単な更新が必要な場合に、非常にシンプルでわかりやすい例がいくつかあります。

  3. Jeff Knupp’sのWebサイト(Idiomatic Pythonシリーズのチュートリアルと書籍の作成者)

  4. Real Python Tutorials sectionには、PythonのWebフレームワーク、Django、Flaskなどのより具体的なトピックと高度なテーマがあります。

  5. Bernd KleinのPython Courseには、Pythonの優れたカバレッジが含まれています。高度なトピックに関する彼の議論は本当に役に立ちます。

  6. コーディングのQ&AであるStack Overflowには、Pythonのトピックに関する優れた説明がいくつかあります。 Python can slice a stringは、本当に優れた例の1つです。

問題が発生した場合は、次の簡単な提案を試してください。

  1. コーディングをやめる!

  2. 一枚の紙を取り出して、平易な言葉(擬似コード)を使用して問題を解決する方法を計画します。必要に応じてフローチャートを使用してください。 example aboveを参照してください。

  3. ある時点で、Pythonのexception handlingtry/exceptブロック)が紹介されます。 コードが機能するまで、tryを使用しないでください。 tryは、コードの問題を特定するのに役立つ貴重なエラーメッセージを抑制することができます。

  4. 期待される出力が得られない場合-つまり、Pythonが数字ではなく単語(不適切なデータ型)を表示している場合-変数の割り当ての直後に、期待される出力の直前にprintステートメントを追加します。 これは、効果的で迅速かつ汚い問題解決手段です。

  5. それでも困っている場合は、Python Visualizerが最適なツールです。 このツールを使用すると、コードを実行しながら「ステップスルー」できます。 Python Visualizerには、必要に応じて役立つサンプルがあります。

  6. 最後の注意点-これは非常に重要です-欲求不満の脳は助けにはならないということです。 何かが機能していないためにイライラするようになったら、休憩を取り、脳をきれいにしてください。 走りに行く。 何か他のことをする。 これがどれほど効果的であるかに驚くでしょう。 多くの場合、明確な目で戻ってきて、簡単なタイプミスやつづりの間違ったキーワードなどが表示されます。

(14)新しいPythonコーダーへの簡単なアドバイス

私はこれを最も良い方法で言います-no one is going to spoon feed you。 コーダーは、他のコーダー-はい、初心者でも-自身で問題を解決しようとします。 しかし、ある時点で私たち全員がガイダンスを必要とします。

キーボードや他の無生物を粉砕する前に、壁にぶつかって本当に助けを求めたら。 ヘルプが必要な場所はたくさんあります。たとえば、code forums、Facebookグループ、IRC channel #pythonなどです。 使用するグループのルールまたはガイドラインを読んでください。 問題とあなたが試したことを説明することにより、他の人があなたを助けるのを簡単にします。 エラーがある場合は、その情報も含めてください。

楽しいコーディングを!

(15)知識をテストする

  1. Pythonが強力な動的型付け言語であることはどういう意味ですか?

  2. Pythonシェルにはどのようにアクセスしますか?

  3. 変数をどのように宣言しますか?

  4. 変数名と変数値の違いは何ですか?

  5. Pythonの組み込みデータ型とは何ですか?

  6. 整数と浮動小数点数の違いは何ですか?

  7. ブール値とは何ですか?

  8. %演算子は何をしますか?

  9. リストとタプルの違いは何ですか?

  10. 辞書とは?

  11. コードでコメントを使用する必要があるのはなぜですか?

  12. help()関数をテストします。 何を学びましたか?

  13. floatdir()関数に渡します。 何を学びましたか?

  14. 調べなかったプリミティブの1つは、Noneです。 それは何を表していますか?

  15. type()関数を使用して、変数または値のデータ型を確認できます。 さまざまなデータ型と変数を使用してこれをテストします。 何を学びましたか?

テキストエディタを開き、exercise.pyという名前の新しいファイルを作成します。 次のコードをコピーしてファイルに貼り付けます。

##########################################################################
## Modify the variables so that all of the statements evaluate to True. ##
##########################################################################

var1 =
var6 =
var2 =
var3 =
var4 =
var5 =

############################################
## Don't edit anything below this comment ##
############################################

# integers
print(type(var1) is int)
print(type(var6) is float)
print(var1 < 35)
print(var1 <= var6)

# strings
print(type(var2) is str)
print(var2[5] == 'n' and var2[0] == "p")

# lists
print(type(var3) is list)
print(len(var3) == 5)

# tuples
print(type(var4) is tuple)
print(var4[2] == "Hello, Python!")

# dictionaries
print(type(var5) is dict)
print("happy" in var5)
print(7 in var5.values())
print(var5.get("egg") == "salad")
print(len(var5) == 3)
var5["tuna"] = "fish"
print(len(var5) == 3)

指示に従って、コードを更新します。 完了したら、ターミナルからコードを実行して、python exercise.pyコマンドを使用してテストします。 がんばろう!

Pythonプログラミングの基本を理解したので、スキルの向上を続けるために、Real Pythonで幅広いPythonチュートリアルを確認してください。 すべてのチュートリアルby clicking hereを見つけることができます。