Pythonの最初のステップ

Pythonの最初のステップ

ようこそ! *このチュートリアルでは、Python *の使用を開始する方法について詳しく説明しています。 これは、デリックカーニー(カナダ人、Pythonマスター、食通)とマイケルハーマン(もちろんReal Pythonチームの)によって書かれ、編集され、更新されています。

私(デリック)は、毎日数え切れないほどの質問を投げかけるいくつかのPythonグループの管理を支援しています。 この投稿では、最もよく聞かれる質問*「Pythonの使用を開始するにはどうすればよいですか?」*

(1)Pythonとは?

Pythonロゴ。 PythonロゴはPython Software Foundationの商標です。、width = 680、height = 459

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

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

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

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

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

学習するのがとても簡単なので、Pythonがどれだけ強力かを忘れがちです。

Pythonプロパティ

Pythonは…

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

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

  3. 大文字と小文字を区別。 たとえば、 `+ token `と ` TOKEN +`は2つの異なる変数です。

  4. オブジェクト指向すべてがオブジェクトです

(2)Pythonの取得-予備

Pythonは無料で、https://docs.python.org/2/license.html [open-source]ソフトウェアであり、Linux、Mac、Windows、およびその他のさまざまなプラットフォーム(合計21)で動作します。 MacおよびほとんどのLinuxディストリビューションにプリインストールされています。ただし、最新バージョン(https://realpython.com/learn/python-first-steps/#3-how-do-i-get-python [下記参照])をダウンロードする必要がある場合があります。

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

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のみがアクティブな開発中であり、新しい機能と機能を獲得しています。 _

*どのバージョンがあなたに合っていますか?*それはあなた次第です。 正直なところ、この初期段階であなたに影響を与える2つの違いはほとんどないため、どちらの選択でも十分です。 さらに、1つを学んだら、もう1つを学ぶことはそれほど難しくありません。

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

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

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

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

  • OS固有の手順*:

  • Mac:http://brew.sh/[Homebrew]を使用して、異なるバージョンのPythonをインストールおよび管理することを強くお勧めします。 方向https://gist.github.com/mjhea0/3c7d97e1d20ab86eb41e [こちら]をご覧ください。 Pythonはhttps://www.python.org [PSF]からダウンロードすることもできます。

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

  • Windows:https://www.python.org [PSF]からPythonを直接ダウンロードします。

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

python.exeをシステムパスに追加、width = 558 、height = 426

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

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

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

Pythonシェル

Python Interactive Shellを開きます。

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

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

  • Windows:Pythonのバージョンが1つしかインストールされていない場合は、単に `+ python `を実行します。 Python 2.7とPython 3の両方がインストールされている場合、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 +`コマンドはPython 3.xの関数ではなくステートメントです。 _

君は見るべきだ:

>>>

Python is fun!

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

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

  • MacおよびLinuxユーザー:[.keys]#Ctrl + D#を押してから[.keys]#Enter#を押します

  • Windowsユーザー:[.keys]#Ctrl + D#を押してから[.keys]#Enter#を押します

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

(5)言語プリミティブ

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

変数

変数はコンテナですデータ用。 それらを宣言する構文は次のとおりです: + variable_name = variable_value +。 変数には好きな名前を付けることができますが(いくつかのhttps://docs.python.org/2/reference/lexical_analysis.html#keywords [予約済みキーワード]を除く)、直感的に理解できる命名スキームを使用する必要があります。 変数名_should_は、それに割り当てられた値が何であるかを示します。

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

組み込みデータ型

Pythonには、数字(整数、浮動小数点数、複素数)、文字列、リスト、タプル、辞書などのhttps://realpython.com/python-data-types/[多数の組み込みデータ型]があります。

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

  1. オペレータ

  2. 関数

  3. データ型のメソッド

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

*_番号_*

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

  • 整数は整数です-「1 +」、「 2 」、「 22 」、「 476 」、「-99999+」

  • フロートには小数点があります-+ 1.0 ++ 2.22 ++ 22.098 ++ 476.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は、整数を操作するための多くの組み込みhttps://docs.python.org/3/library/functions.html#built-in-functions[functions]を提供します。 これらは常に利用可能です。 注:これらの関数は、_any_データ型で使用できます。 Python標準ライブラリには、 `+ math +`などの多くのモジュールもあります。 これらのモジュールに関連付けられている機能を使用するには、最初にモジュールをインポートする必要があります。 これについては後で詳しく説明します。 とりあえず、組み込み関数のいくつかの例を見てみましょう。

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

>>>

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

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

>>>

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

データ型のメソッド

関数に加えて、数の各タイプに関連付けられたhttps://docs.python.org/3.4/library/stdtypes.html[data-type methods]があります。

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

>>>

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

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

>>>

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

文字列の操作

演算子

数字と同様に、https://realpython.com/python-strings/[文字列の連結](文字列連結)を使用できます。

>>>

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

関数

文字列操作に適したhttps://docs.python.org/3/library/functions.html#built-in-functions[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の完全なhttps://docs.python.org/3/library/stdtypes.html#string-methods [ドキュメント]を確認してください。知っておくべき重要な機能の数。

+ 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']

データ型のメソッド

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

+ 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]
*_Tuples_*

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

>>>

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]

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

データ型のメソッド

タプルは不変であるため、https://docs.python.org/3.4/library/stdtypes.html [リストメソッド]の多くはタプルでは機能しません。

>>>

>>> first_tuple = (1, 2)
>>> first_tuple.append(3)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'tuple' object has no attribute 'append'
>>> first_tuple.pop(1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'tuple' object has no attribute 'pop'
>>> first_tuple.sort()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'tuple' object has no attribute 'sort'
>>> first_tuple.reverse()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
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'

辞書の操作

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

コメントといえば…

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

# 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_概念の一部であり、http://mrjoelkemp.com/2013/05/what-is-idiomatic-programming/[idiomatic] Pythonコードの記述に役立ちます。

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

IDLE

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

_ IDLEの使用に興味がある場合は、優れたガイドhttps://hkn.eecs.berkeley.edu/~dyoo/python/idle_intro/index.html[IDLE Toyingの1日]をご覧ください。 _

コードエディター

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

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

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

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

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

  • 使いやすさ

  • 構文の強調表示

  • 自動インデント

  • タブ付きビュー

  • 行番号

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

  • アドオンの可用性

次の例を見てください。

The Good Bad and Ugly、width = 918、height = 418

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

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

最も人気のあるコードエディターの1つは、http://www.sublimetext.com/[Sublime Text 3](上記)です。 強力で、クロスプラットフォームで、無料で試用できます。

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

もっとシンプルにしたい場合は、https://wiki.gnome.org/Apps/Gedit [gedit]をチェックしてください。これもクロスプラットフォームです。 http://notepad-plus-plus.org [Notepad ++]も優れたエディターですが、Windows専用です。 これらのエディターは両方とも無料であり、どちらもSublime Textのパワーを備えていませんが、依然として有用です。

3番目のオプションはhttp://www.vim.org/[Vim]です。これは無料で、Mac、Linux、およびWindowsで利用できます。 Vimの学習曲線は急ですが、忠実なユーザーベースがあります。 Steve Franciaのhttps://github.com/spf13/spf13-vim[Vim Distribution]は、これまで見た中でVimの最高のプログラミング設定です。

個人的にはhttp://www.sublimetext.com/[Sublime Text 3]を好みます。 ブログ投稿https://realpython.com/setting-up-sublime-text-3-for-full-stack-python-development/[フルスタックPython開発のためのSublime Text 3の設定]をチェックして、カスタマイズ方法を確認してください。 Pythonコードの作成専用です。

覚えておいてください:無料と商用の両方のコードエディタに関しては、https://realpython.com/python-ides-code-editors-guide/[さまざまなオプション]があります。 あなたの研究を行い、実験することを恐れないでください! 覚えておいてください:エディターは、Pythonのコーディング標準、プラクティス、およびイディオムの遵守を支援する必要があります…

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

PEP 8 – Pythonコードのスタイルガイドは、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までカウント

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

プログラミングにまったく慣れていない場合、コードを「完全に」理解できないかもしれませんが、重要なのは概念です。 Pythonは非常に読みやすいように設計されており、この例はその原理を示しています。 上記の壊れたコードを修正し、さらにコードブロックを追加して、コードブロックとインデントの概念を強調します。

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

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

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

コンピューター上で物事を整理しておくのが好きなので、最初にフォルダーを作成し、それを「ドキュメント」フォルダーなどに入れます。 `+ python_code +`というフォルダーを作成しました。 コーディングの学習は手作業なので、コードエディターを開き、次のコードを入力します。 _どんなに魅力的であっても、コピーして貼り付けないでください。 そうすると、学習が妨げられます。

*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. n式「+ count = 1+」の場合、「+ = 」は「 count +」という名前の変数に値1を割り当てます。

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

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

次のコードを実行します: + python count_ten.py +

_ 設定に応じて、「+ python 」を「 python3 」または「 py -3+」に置き換える必要がある場合があります。 詳細については、https://realpython.com/learn/python-first-steps/#4-confirming-the-python-install [ステップ4]を参照してください。 _

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

10までのカウント、幅= 747、高さ= 301

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

(10)エラーと例外

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

Pythonには、https://realpython.com/python-exceptions/[構文エラーと例外]の2種類のコードベースのエラーがあります。

構文エラー

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

>>>

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

例外

プログラムの実行中に例外エラーが発生します。 Pythonには、多くの組み込みhttps://docs.python.org/2/library/exceptions.html#bltin-exceptions[exceptions]があります。 例えば:

>>>

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

セマンティックエラー

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

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

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

Pythonの素晴らしい点の1つは、Pythonコアとhttps://wiki.python.org/moin/UsefulModules [サードパーティのパッケージ/ライブラリ]に組み込まれている利用可能なモジュールが豊富にあることです。これは言語の拡張に使用されます。 これらのモジュールは非常に役立ちます。 より利用されているビルトインPythonモジュールの一部は次のとおりです。

  • math:Cの標準ライブラリの数学関数(これはすでに見たことがあります)

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

  • datetime:日付と時刻の操作に使用

  • re:正規表現を使用するため

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

Pi、Square Root and Raising to the Power、width = 653、height = 205

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

Pip

Pythonのサードパーティのパッケージ/モジュールを管理する最良の方法は、https://pip.pypa.io/en/latest/[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. 詳細については、https://pip.readthedocs.org [公式のpipドキュメント]を参照してください。

(12)次のステップ

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

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

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

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

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

  2. もう1つのルートは、MITオープンコースウェア、http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00sc-introduction-to-computer-science-and-programming-spring- 2011/[Introduction to Computer Science and Programming MIT 6.00x]。 このコースは採点されていませんが、非常に役立つオンラインコミュニティがあります。

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

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

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

無料のPDFダウンロード: Python 3 Cheat Sheet

(13)自転車に乗る

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

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

  1. 公式のPythonドキュメント-https://docs.python.org/2.7/[Python 2.7]またはhttps://docs.python.org/3/[Python 3]

  2. http://www.tutorialspoint.com/python/index.htm [チュートリアルポイント]には、クイックリフレッシュが必要なときに非常にシンプルで簡単に理解できる例があります。

  3. Jeff Knupp’s Webサイト(チュートリアルおよび書籍の慣用的なPythonシリーズの著者)

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

  5. Bernd Kleinのhttp://www.python-course.eu/index.php[Pythonコース]には、Pythonの優れたカバレッジが含まれています。高度なトピックに関する彼の議論は本当に役立ちます。

  6. Stack Overflowは、コーディングに関するQ&Aであり、Pythonのトピックに関する優れた説明があります。 どのようにhttp://stackoverflow.com/questions/509211/explain-pythons-slice-notation?rq=1[Pythonは文字列をスライスできるか]は、本当に優れた例の1つです。

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

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

  2. 一枚の紙を取り出して、平易な言葉(擬似コード)を使用して問題を解決する方法を計画します。必要に応じてフローチャートを使用してください。 https://realpython.com/learn/python-first-steps/#9-counting-to-10 [上記の例]を参照してください。

  3. ある時点で、Pythonのhttps://docs.python.org/2/tutorial/errors.html [例外処理]-`+ try/except `ブロックが紹介されます。 コードが機能するまで、「 try 」を使用しないでください。 ` try +`は、コード内の問題の特定に役立つ貴重なエラーメッセージを抑制することができます。

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

  5. まだ困惑している場合、素晴らしいツールはhttp://www.pythontutor.com/visualize.html#mode=edit[Python Visualizer]です。 このツールを使用すると、コードを実行しながら「ステップスルー」できます。 Python Visualizerには、必要に応じて役立つサンプルがあります。

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

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

私はこれを最もいい方法で言う-誰もあなたにスプーンで餌をあげないだろう_。 コーダーは、他のコーダー-はい、初心者でも-自身で問題を解決しようとします。 しかし、ある時点で私たち全員がガイダンスを必要とします。

キーボードや他の無生物を粉砕する前に、壁にぶつかって本当に助けを求めたら。 ヘルプを得るには多くの場所があります-http://pythonistacafe.com/[コードフォーラム]、Facebookグループ、https://www.python.org/community/irc/[IRCチャネル#python]、などいくつか。 使用するグループのルールまたはガイドラインを読んでください。 問題とあなたが試したことを説明することにより、他の人があなたを助けるのを簡単にします。 エラーがある場合は、その情報も含めてください。

楽しいコーディングを!

(15)知識をテストする

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

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

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

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

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

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

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

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

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

  10. 辞書とは?

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

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

  13. `+ float `を ` dir()+`関数に渡します。 何を学びましたか?

  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チュートリアルを確認してください。 すべてのチュートリアルは、https://realpython.com/[ここをクリックして]で確認できます。