ホームページ  >  記事  >  バックエンド開発  >  Lao QiからPythonを正式に学ぼう

Lao QiからPythonを正式に学ぼう

WBOY
WBOYオリジナル
2016-06-16 08:41:291041ブラウズ

子供が話し始めたばかりのときは、単語ごとに学習し始めることがよくあります。たとえば、「団子」と言うのは子供にとって少し難しいように思えます。大人も賢いので、それを単純化します。代わりに「Jiaojiao」を使用します。実際、これは子供たちに一言で自分を表現することを学ぶためです。もちろん、教育学の観点から、このアプローチに同意しない人もいます。これについてはここでは説明しません。プログラミングの学習に例えると、これまでに学習したさまざまな種類のデータ (この自然言語の 1 つの単語に相当) を使って完全な意味を表現したり、コンピューターに物事 (アクション) を完了させたりするようなものです。してはなりません。文を通してではなく、この文は特定のルールに従って編成されたステートメントです。自然言語の文は、主語、述語、目的語の文法に従って編成され、コンピュータ プログラミングのステートメントも特定の文法要件に従って編成されます。

最初の部分では、文章の問題が散発的に取り上げられており、いくつかの応用は別の機会に行われています。結局のところ、それほど体系的ではありません。このセクションでは、Python のステートメントをより体系的に紹介します。

全体的な印象を得るために、まず Python にどのようなステートメントが含まれているかを見てみましょう:

代入ステートメント

If ステートメントは、条件が true の場合にステートメント ブロックを実行します。多くの場合、else、elif とともに使用されます (else if と同等)。
for ステートメントは、リスト、文字列、辞書、セットなどの反復子を走査し、反復子の各要素を順番に処理します。
while ステートメントでは、条件が true の場合、ステートメント ブロックがループで実行されます。
try ステートメント。プログラムの実行中に発生する例外を処理するために、excel、finally else と組み合わせて使用​​されます。
クラスステートメント。型を定義するために使用されます。
defステートメント。関数と型を定義するメソッド。
passステートメント。この行が空であり、操作を実行しないことを示します。
アサートステートメント。プログラム調整段階で動作条件が満たされているかどうかをテストするために使用されます。
ステートメント付き。 Python 2.6 の後に定義された構文は、シーン内のステートメントのブロックを実行します。たとえば、ステートメント ブロックを実行する前にロックし、ステートメント ブロックが終了した後にロックを解放します。
利回りステートメント。要素を返すためにイテレータ関数内で使用されます。
声明を提起します。例外をスローします。
インポートステートメント。モジュールまたはパッケージをインポートします。よく使用される書き方: from module import name、import module as name、from module import name as anothername
特に、上記の分類はあまり厳密ではありませんが、一部のコンテンツは文章に属さないと考えています。それは関係ありません、とにかく、プログラミングで使用されるものです。名詞の分類にこだわらないでください。つまり、これらはすべて、プログラミングをスムーズに行うために習得する必要があるものです。

代入ステートメントについてもう一度話しましょう

課題に関するレッスンで述べた、簡単な課題文と単純ではない課題文をまだ覚えていますか?私たちはステートメントについて話しているので、一方では復習し、他方ではさらに深く掘り下げていきたいと考えています (私は Python の理解について話しています。Si Wuxie)。 ) リストに関する以前の記事があります。 内容: リストをより深く理解すると、冗談のように読むことができます。

コードをコピー コードは次のとおりです:
>>> キウシール = 1
>>> パイソン = 2
>>> x, y = qiwsir, python #x=qiwsir,y=python
と同等 >>>x
1
>>>
2
>>> (1, 2)
>>> [x, y] #これはリストです
[1, 2]

>>>gt;> [a, b] = [qiwsir, python] >>>

1
>>> 2
>>> a、b
(1, 2)
>>> [a, b]
[1, 2]



別の方法では、上記の 2 つの割り当て方法を相互に組み合わせます。

コードをコピー

コードは次のとおりです: >>> [c, d] = qiwsir、Python >>>c
1
>>>
2
>>> c、d
(1, 2)
>>> f, g = [qiwsir, python]
>>>
1
>>>
2
>>> f、g
(1, 2)



それは実際に機能します。実際、ここから、代入は左側の変数を右側のオブジェクトに関連付けることに対応していることがわかります。 a=3, b=4 の場合、これら 2 つの変数の値、つまり a=4, b=3 を交換したいと思います。一部の高級言語では、最初に別の変数 c を中間言語として導入する必要があります。つまり、

コードをコピー

コードは次のとおりです:

a = 3
b = 4
c = a #つまり c=3
a = b #a=4
b = c #b=3

初心者は少し混乱するかもしれません。これは、あなたと私が両手で箱を持っていることを意味します。今、箱を変更したいのですが、両手がふさがっていて変更できません(もちろん、箱が地面に落ちたり、上に置かれたりしないことが必要です)。テーブルなど)。それで、私は張三という名前の人を見つけました。彼は両手が空いています。それでは私が先に箱を渡します。そうすれば私はあなたの箱を受け取ります。私の箱は今、張三さんの手に渡っています。あなたがそれを受け取り、私たち二人で箱を交換します。

これがとても長くなる唯一の理由は、私たち二人にはもう手が足りないからです。ただし、これは Python ではありません。Python にはもっと多くの手があります。彼女はこれを行うことができます:

コードをコピー コードは次のとおりです:

>>> キウシール = 100
>>> = 200
>>> qiwsir、python = python、qiwsir
>>> キウサー
200
>>> パイソン
100

ニシキヘビには 3 つの頭と 6 本の腕があるので、ちょっと魔法のようです。

シーケンスの割り当て

実際、上記の実験の割り当ては本質的にはシーケンスの割り当てです。ただここが強化されただけです。左側の変数がシーケンスで、右側のオブジェクトもシーケンスの場合、2 つは 1 対 1 対応で代入されます。

コードをコピー コードは次のとおりです:

>>> [a, b, c] = (1, 2, 3) #左と右のシーケンスは 1 対 1 に対応し、左が変数、右がオブジェクトです
>>>
1
>>> 2
>>>c
3
>>> (a,b,c) = [1,2,3]
>>>
1
>>> 2
>>>c
3
>>> [a,b,c] = "qiw" #str もデータのシーケンス型であることを忘れないでください
>>>
「q」
>>> 「私」
>>>c
「わ」
>>> (a,b,c) = "qiw"
>>> ('q'、'w')
>>> a,b,c = 'qiw' #前のものと同等
>>> ('q'、'i')
>>> a,b = 'qiw' #左右が一対一に対応していないためエラーが報告されました
トレースバック (最後の呼び出し):
ファイル「」、1 行目、
ValueError: 値が多すぎて解凍できません

>>> (a,b),c = "qi","wei" #この画像がどのように対応しているかに注目してください
>>> a、b、c
('q'、'i'、'we')
>>> 文字列 = "qiwsir" >>> a,b,c = string[0],string[1],string[2] #スライスの取得も同様です

>>> a、b、c
('q'、'i'、'w')
>>> (a,b),c = 文字列[:2],文字列[2:]
>>> a、b、c
('q'、'i'、'wsir')



実験から、このめくるめく課題を理解するには、「1 対 1 の対応」という生命線に固執するだけであることがわかります。

Python3 を使用すると、代入でさらに興味深いことがあります。ただし、この講義ではpython2を使用します。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。