N-歳のドライバーのPython、血と涙が共通初心者のミス10を総括[ターン]

 

 

1.デフォルト変数オブジェクト

 

 

 

上の図は、我々は関数パラメータに、我々は、デフォルトの変数オブジェクトのリストを使用し、addElementの機能を定義します。あなたは私たちが、連続使用のデフォルトパラメータをaddElementの関数を呼び出すと、リスト1は、一度だけ作成することがあります。リストは、Pythonで変数オブジェクトに属しているので、関数が定義されている場合、そうコールが良好なリストのリストを作成するために使用される場合と、したがってのみ作成することができます。以下に示すように、不変オブジェクトの場合は、状況が異なっています。

 

 

関数を呼び出すときに不変オブジェクトの場合は、手順、それは不変オブジェクトのデフォルトパラメータとして呼び出されます。だから、どのように我々はこの問題を解決しない、我々は以下に示すように、プログラムを取り上げ裁判官に不変オブジェクトを使用することができます。

私たちは、上記の問題を解決するために、新しいリストを作成するかどうかを決定するために、Noneにするかどうかの条件、リスト1を使用します。

 

2.コピー浅いと深いコピーの問題

 

 

このプログラムは、私たちは辞書dict1を作成しました。コピーライブラリDeepCopy(深いコピー)することによりdict1のdict2にコピーすることにより浅いコピーは、dict1のdict2にコピーします。重要な要素は、子オブジェクト「2」、も削除dict1で対応する要素であるが、それでもdict3を保持したときに削除することがDict2。それは深いと浅いコピーのコピーの違いです。図に示すように。

 

 

浅いは、親オブジェクトだけコピーをコピーしますが、同じオブジェクトまたはサブオブジェクト参照のため。ディープコピーのために、それは完全に子オブジェクトと出てコピーされた親オブジェクトで、それぞれが独立したサブオブジェクトを持っています。

 

自分のファイル、ライブラリファイル名の正式名称を使用しないことを覚えておいてください3

ここでは、ここで小さな総称公式リポジトリと呼ばれる、我々はライブラリをインポートする必要があることを公式リポジトリ手段です。図に示すように。

 

 

小扁はnumpyの名前のPYファイルを、作成しました。小扁は、有名な「numpyのを」呼び出したいときは、この時間は、プログラムの「アレイ」エラーがプロパティを見つけることができませんと呼ばれます。その理由は、numpyのためのPYファイル名のその小さなシリーズは、プログラムが自動的にこのプロパティ内の現在のファイルに「配列」を見つけることです。予想通り、もちろん、私はとても小さいシリーズは、その正式名称とライブラリヒットの名前を提出していない、または大きな問題となり、あなたを思い出させるために、それを見つけることができません。

 

4.社会イテレータ

Pythonの非常に便利な言語として、多くの要素は、以下に示すように、我々は、これらの特性をフルに活用する必要があり、反復を持つことができます。

 

 

私たちは、オブジェクトのリスト内のすべての要素のためにaddOne機能を実行したいのですが、また、従来の標準的な方法は、第一の方法として、達成するためにforループを使用することです。第二の方法のようにオブジェクトが反復可能なリストがあるのでしかし、我々はこの利点を十分に活用することができ、1行のコードは、この問題を取得します。だから、いくつかの反復可能オブジェクトパイソンの良い自然を活用する、それは多くのコードを保存するだけでなく、私たちは間違いを少なくするようになります。

 

グローバル変数を頻繁に使用

Pythonの初心者として、私たちはすべてのように、グローバル変数、グローバル変数や機能の変化を定義するために、いくつかの場所は、関数内でグローバル変数を変更する必要があることは否めないが、そのようなアプローチは、手順を害することとなる、安全手順セックスが脆くなります。我々は、図1に示すように、通常のプログラミングでこの習慣を変更する必要があります。

 

 

プログラミングでは、我々は直接グローバル変数を変更するのではなく、グローバル変数を使用するようにパラメータを渡すためにフォームを使用するようにしてください。ほとんどの場合、共有変数の関数として、すべてのグローバル変数、順番に安全手順を確保するのでプログラミングは、グローバル変数を変更する必要がある場合を除いて、気軽に変更すべきではありません。

 

6.明確にはpython2かのpython3であります

我々はタイムリーなスイッチ文法python2とのpython3にできないpython2かのpython3当惑し、あるかもしれないとき初心者のPythonで、それゆえ我々はpython2ののpython3以上の区別されるよう、自分自身の使用のための明確なPythonのバージョンに必要とし、以下に示すように、我々は、注意する必要があります。

 

 

発現python2出力とのpython3の異なる形に起因して、その印刷機能を使用するときに我々はのpython3バージョン出力の後に括弧を追加し、必要があります。

 

 

7.「ある」と「==」の違いを教えて

「ある」および「==」のために、我々は通常、マルチ二つの値が等しいかを決定するために使用されるが、これは、Pythonで「同じ」である異なる概念を持って、我々は等しいとを区別しなければならないか、図に示すように、アドレス値に等しいです。 。

 

 

我々は、上記の手順を使用して、両方の==二つのリストがそれを見ることができ、等しく決定される、リストは==リストが一致するかどうかを確認するには、2つのアドレスが等しいかどうかを決意、2つの値です。私たちは、ジングルを思い出すことができます。アドレスを確認することです、等号は、そのような再利用を搭載==とされているコンテンツを見るためにしなくなり、メイクミス際の判断要素。

 

変数名として8 Pythonのキーワード

初心者Pythonなど、Pythonは、多くの場合、プログラムエラーを行いますされ、どのようなキーワードを知りません。

 

 

上記の手順は、我々はプログラムエラーにつながる新しいカテゴリを作成するには、キーワード「クラス」を使用して、我々が見ることができ、キーワードの編集者のプロンプトを使用すると、キーワードを使用していることを伝えるさまざまな色があり、そう、私たちは、変数名などのキーワードを使用しないように注意してみましょう。

 

9.未定義のローカル変数

ローカル変数のために、私たちが呼ぶときには、以下に示すように、それが定義されていることを確認する必要があります。

 

 

printLocalNum1のために、我々はそれを呼び出すようにlocalnumを定義しない、必然的なエラーの結果は、しかしprintLocalNum2に、我々は、我々は他の場合による確実な判断をした入力と出力localnum、の大きさを決定することにより、localnum割り当てを与えます確実入力で何があっ値は(注記が数値でなければなりません)、localnum割り当てが未定義localnumを呼び出すことがないように行われること。



10. EVADE ++の操作と - 操作

 

 

Pythonの構文は簡単ですが、C ++のために、++やJavaの中にいる間 - なぜので自己インクリメントとデクリメントの操作は、サポートされていませんか?小扁は、後にPythonの整数では不変タイプであるため、作成は、変更することはできません、あなたに私の個人的な理解の1を与え、インクリメントとデクリメントは不変型のpythonがある交換の価値、の元のアドレスが変更にあるので、逆に、したがって増加を達成し、または操作をデクリメントすることはできません。

 

おすすめ

転載: www.cnblogs.com/lucky-cat233/p/12617706.html