Python入門(18/18)
**セクションXVIII **違い
みなさん、こんにちは!今日ここに来て、おめでとうございます。今日のコースを見ると、Pythonテクノロジーの基本的な知識のほとんどを学んだか習得したことを意味します。
あなたが持っている知識は、もしあなたがたまたま熱心に練習することができれば、それはあなたの心の中に存在するだけでなく、あなたの手のスキルにもなるので、あなたは本当にPythonの技術を持っています。
あなたがプライドに満ち、世界に勇敢に立ち向かい、あなたのスキルを披露する準備ができる前に、私はまだあなたに思い出させたいです:世界の外に空があり、世界の外に人々がいて、強い中手が強い...ああ、これは長い道のりです。あなたが学んだ基本的な知識は、おそらくほとんどの人にも学ばれていると言いたいです。それで、問題は時々人々が自慢したいのを助けることができないということです、それで彼らはどのように違うことができますか?
はい、それが意味することです、
それはあなたの心について話しているのですか?
ハハ!恥ずかしがらないで、
実際には、
誰もがそう考えています...
では、今日はユニークなものを共有します。
1、 タプルを渡す
私たちは関数を使用してきましたが、ほとんどの場合、関数は値を返します。ただし、通常、返される値は1つだけであることに気づきましたか。
したがって、問題は、関数のコードブロックが実行された後に2つ以上の値を返したい場合はどうすればよいですか?最も効率的な方法は何ですか?
答えは:あなたはそれらをたくさんの括弧に入れる必要があるだけです。
良さ、それはとても簡単ですか?はい。信じられないかもしれませんが、次のコードを記述して実行してみてください。
注意: a、b =
**はい?本当にかっこいい! ****
2、 魔法の方法
辞書など、Pythonの一部のシーケンスデータタイプは、キーでインデックスを作成できることがわかっています。したがって、特定のクラスを自分でカスタマイズする場合、そのクラスがキーインデックスと同様の機能を持つことも期待できますか?はい!
**推奨されるマジックメソッドは次のとおりです。**カスタムクラスにキーインデックス機能(リストやタプルで使用されるx [key]など)も持たせたい場合は、クラスに含めるだけで済みます。 __getitem __()メソッドを追加します。実際、Pythonはリストクラスに対してこれを行います!
3、 ラムダ式
多くの高レベルのプログラミング言語にはラムダがあり、ラムダは匿名関数を定義するために使用されます。
これは匿名の関数定義であるため、彼に名前を付けることを主張すると、少し不必要に思えます。したがって、通常はラムダ関数を直接使用します。次のように:
上記のコードはラムダを使用して匿名関数を作成します。この関数には2つの変数xとyがあります。関数のコードブロックは方程式x + yです。「方程式(割り当て)」を通じてオブジェクトとして使用します。追加に割り当てられたシンボル。このとき、addは実際には関数オブジェクトになります。したがって、2つの実際のパラメーターを渡す限り、それらの合計を計算できます。
この使用法はかっこいいですか? !感じませんか?私は行きます...それから次の例をもう一度見てください。
PS:通常、機能プログラミングでは、ラムダ式を使用します。 Pythonは、map、reduce、filter、sorted、および関数をパラメーターとしてサポートするその他の関数など、関数プログラミングの多くの機能を提供します。
4、 リストの理解
リスト内包表記は、既存のリストから新しいリストを取得するために使用されます。
番号のリストがあり、対応するリストを取得したいとします。要件は、2より大きい番号に2を掛けて、新しいリストを取得することです。どうやって?
コードは次のように表示されます。
気分はどうですか? Python、あなたは素晴らしいです!
ブラザー、唖然として、ただ笑うだけでなく、偽のスタイルを練習しないでください。このコードを10回書くことをお勧めします。
10回書いてください!
10回書いてください!
書いて書いて、
感動した、
忘れられない。
5、 関数に可変数のパラメーターを渡します
関数があり、複数の正式なパラメーターがあり、そのコードブロックが必要ないくつかの関数を実現できる場合を想像してみてください。問題は、パラメータの数が不確かな場合、機能コードブロック操作の結果が異なる可能性があることです。このような状況では、あらゆる可能性に対して同様の関数を作成する必要がありますか?
もちろんそうではありませんが、Pythonには常にそれを取得する方法があります。
*または**パラメータプレフィックスを使用して柔軟なパラメータ送信を実現する特別な方法があります。次の例を見てみましょう。3つのパラメータと2つのパラメータを渡すと、関数は実行できますが、結果は異なります。
args変数の前に*プレフィックスを追加したため、関数の他のすべての追加パラメーターはargsに渡され、タプルとして格納されます。 **プレフィックスが使用されている場合、追加のパラメーターは辞書のキーと値のペアとして扱われます。
6、 ステートメントをアサート
assertステートメントは、何かが真であることをアサート(Assert)するために使用されます。たとえば、使用しているリストに少なくとも1つの要素が含まれていることが確実で、これを確認したい場合、判断が間違っているとエラーがスローされます。この場合、assertステートメントが理想的です。ステートメントアサーションが失敗すると、AssertionErrorクラスの例外がスローされます(例外はまもなく導入されます)。
アサートステートメントを賢く選択する必要があります。ほとんどの場合、例外をキャッチするよりも、問題を特定するか、ユーザーにエラーメッセージを表示して終了するよりも優れています。
7、 異常な
プログラムのバグとは異なり、コードを記述しているときに、ここでのコード処理に例外があるかどうかを予測できない場合があります。例外が発生すると、プログラムは終了してエラーを報告します。この状況は例外と呼ばれます。
Pythonは、try ... exceptを使用して例外を処理します。
tryステートメントは次のように機能します。
(1)まず、try句(キーワードtryとキーワードexceptの間のステートメント)を実行します。
(2)例外が発生しない場合は、except句を無視し、try句の実行後に終了します。
(3)try句の実行中に例外が発生した場合、残りのtry句は無視されます。例外のタイプがexceptの後の名前と一致する場合、対応するexcept句が実行されます。
(4)tryステートメントの後のコードが最終的に実行されます。例外がを除いて一致しない場合、例外は上位の試行に渡されます。
tryステートメントには、さまざまな特定の例外を処理するために、複数のexcept句を含めることができます。より標準的な例外クラスは、公式文書から照会できます。
**例外の処理方法を学ぶことは、プログラマーが成熟したことを示しています。 ****
8、 標準ライブラリ
最後に、標準ライブラリを紹介しましょう。 Python標準ライブラリ(Python Standradライブラリ)には多くの便利なモジュールが含まれており、Pythonインストールパッケージの一部でもあります。
Python標準ライブラリに精通していることは非常に重要です、それは間違いなく宝物です!あなたがそれに精通しているほど、あなたは多くの問題に対する簡単な解決策を見つけるでしょう。一部の標準ライブラリの共通モジュールは次のとおりです。
**os:**オペレーティングシステムインターフェイスモジュール
**sys:**システム組み込み汎用モジュール
**glob:**は、ディレクトリワイルドカード検索からファイルリストモジュールを生成する機能を提供します
**re:**高度な文字列処理のための正規式を提供するツールモジュール
**数学:**数学演算モジュール
**ランダム:**ランダムな数値を生成するためのツールモジュールを提供します
**日付:**日付と時刻のモジュール
**zlib、gzip、bz2、zipfile、およびtarfile:**一般的なデータパッケージングおよび圧縮形式を直接サポートするモジュール
**私たちが強調する必要があるのは、特に初心者にとって、解決策を探しているとき、必ずしも自分でコードを書いて問題を解決しようとすべきではないということです。多くの場合、Pythonの標準ライブラリがすでに提供しています。完璧な解決策、少なくとも解決策の大部分が提供されるかもしれません。したがって、Pythonの標準ライブラリについて詳しく学び、そこに隠されている宝物の数を知る必要があります。必要な場合は、モジュールをインポートするだけで使用できます。これも非常に効率的なPythonプログラミングです。重要な理由。 ****
注:すべてのモジュールの詳細は、Pythonインストールパッケージに添付されているドキュメントに記載されています。
概要
この章では、Pythonに関するより多くの機能を紹介しましたが、それでもPythonのすべてを網羅するにはほど遠いです。ただし、学習の導入段階の後、実際に遭遇することのほとんどをカバーしました。これは、期待するプログラムの作成を開始するのに十分です。
この時点で、Python入門コースはすべて終了しました。これから良いコードを書く場合は、それを共有することを忘れないでください。
まだ未完成の人は必ずいますよね?
さて、まだ去っていないクラスメートは静かに言います:コースの後ろにいくつかのイースターエッグがあります!はい、あなたと同じくらい賢く、明日も注意を払い続けます。
Recommended Posts