以上で、機能の基本的な内容は完成しました。ただし、関数については検討する価値のある詳細がたくさんあります。ここで説明します。
パラメータの転送
Python の関数のパラメーターは、代入を通じて参照オブジェクトによって渡されます。次の概要は、パラメーターの受け渡しプロセスを理解するために、一般的な関数パラメーターの定義方法をまとめたものです。
def foo(p1,p2,p3,...)
この方法は最も一般的で、限られた数のパラメータをリストし、それらをカンマで区切ります。関数を呼び出すときは、この順序でパラメーターに値を割り当てます。重要なのはパラメーターの名前ではなく、位置であることに注意してください。さらに、量は一貫しており、1 対 1 に対応している必要があります。最初のオブジェクト (数値、文字列など) は最初のパラメータに対応し、2 番目のオブジェクトは 2 番目のパラメータに対応します。この対応は左または右であってはなりません。
>>> def foo(p1,p2,p3):
... print "p1==>",p1
... print "p2==>",p2
... print "p3==>",p3
...
>>> foo("python",1,["qiwsir","github","io"]) #値を 1 つずつ割り当てます
p1==> パイソン
p2==>1
p3==> ['qiwsir', 'github', 'io']
>>>foo("Python")
トレースバック (最後の呼び出し):
ファイル「
TypeError: foo() はちょうど 3 つの引数を取ります (1 つは指定されています) #エラー メッセージに注意してください
>>>foo("Python",1,2,3)
トレースバック (最後の呼び出し):
ファイル「
TypeError: foo() はちょうど 3 つの引数を取ります (4 つは指定されています) #3 つの引数が必要ですが、実際には 4 つ配置され、エラーが報告されます
def foo(p1=値1,p2=値2,...)
この方法は、前の方法よりも特定のパラメータの割り当てが明確であり、混乱することはないようです。それはまさに穴に直面したニンジンのようなものです。
上記と同じ関数なので、次の方法で値を代入します。順序は気にする必要はありません。
>>> foo(p3=3,p1=10,p2=222)
p1==>10
p2==>222
p3==>3
次の方法でパラメータを定義し、一部のパラメータにデフォルト値を与えることもできます。
>>> def foo(p1,p2=22,p3=33): #2 つのパラメータ p2 と p3 のデフォルト値を設定します
... print "p1==>",p1
... print "p2==>",p2
... print "p3==>",p3
...
>>> foo(11) #p1=11、他のパラメータにはデフォルト値が割り当てられます
p1==>11
p2==>22
p3==>33
>>> foo(11,222) #p2=222 の命令に従い、p3 は元のデフォルト値を維持します
p1==>11
p2==>222
p3==>33
>>> foo(11,222,333) #順番に値を代入します
p1==>11
p2==>222
p3==>333
>>>foo(11,p2=122)
p1==>11
p2==>122
p3==>33
>>> foo(p2=122) #p1 にはデフォルト値がないため、値を割り当てる必要があります。そうでない場合はエラーが報告されます
トレースバック (最後の呼び出し):
ファイル「
TypeError: foo() は少なくとも 1 つの引数を取ります (1 つは指定されます)
def foo(*args)
この方法は、パラメータの数が不明な場合に適しています。パラメータの引数の前に * を追加します。
>>> def foo(*args): #不確実な数のデータ オブジェクトを受信します
... print args
...
>>> foo("qiwsir.github.io") #
であってもタプル形式で受信します ('qiwsir.github.io',)
>>> foo("qiwsir.github.io","python")
('qiwsir.github.io', 'python')
前の講義にはすでに例があり、前の講義と混合することができます。ここではこれ以上の詳細は説明しません。
def foo(**args)
このメソッドと上記のメソッドの違いは、arg=val のようなものを受け取る必要があることです。
>>> def foo(**args): #このように受信し、辞書形式でデータオブジェクトを受信します
... print args
...
>>> foo(1,2,3) #これによりエラーが報告されます
トレースバック (最後の呼び出し):
ファイル「
TypeError: foo() はちょうど 0 個の引数を取ります (3 個が与えられます)
>>> foo(a=1,b=2,c=3) #キーと値のペアがあるので以上です
{'a': 1、'c': 3、'b': 2}
上記 4 つのパラメータ転送メソッドの実行順序を総合的に見てみましょう
>>> def foo(x,y=2,*targs,**dargs):
... print "x==>",x
... print "y==>",y
... print "targs_tuple==>",targs
... print "dargs_dict==>",dargs
...
>>>foo("1x")
x==>1x
y==>2
targs_tuple==> ()
dargs_dict==> {}
>>>foo("1x","2y")
x==>1x
y==> 2y
targs_tuple==> ()
dargs_dict==> {}
>>> foo("1x","2y","3t1","3t2")
x==>1x
y==> 2y
targs_tuple==> ('3t1', '3t2')
dargs_dict==> {}
>>> foo("1x","2y","3t1","3t2",d1="4d1",d2="4d2")
x==>1x
y==> 2y
targs_tuple==> ('3t1', '3t2')
dargs_dict==> {'d2': '4d2', 'd1': '4d1'}
上記の例を通して、何か興味深いことがわかりましたか?

numpyarraysarasarebetterfornumeroperations andmulti-dimensionaldata、whilethearraymoduleissuitable forbasic、1)numpyexcelsinperformance and forlargedatasentassandcomplexoperations.2)thearraymuremememory-effictientivearientfa

NumPyArraySareBetterforHeavyNumericalComputing、whilethearrayarayismoreSuitableformemory-constrainedprojectswithsimpledatatypes.1)numpyarraysofferarays andatiledance andpeperancedatasandatassandcomplexoperations.2)thearraymoduleisuleiseightweightandmemememe-ef

ctypesallowsinging andmanipulatingc-stylearraysinpython.1)usectypestointerfacewithclibrariesforperformance.2)createc-stylearraysfornumericalcomputations.3)passarraystocfunctions foreffientientoperations.how、how、becuutiousmorymanagemation、performanceo

Inpython、「リスト」は、「リスト」、自由主義的なもの、samememory効率が高く、均質な偶然の瞬間の想起された「アレイ」の「アレイ」の「アレイ」の均質な偶発的な想起されたものです

pythonlistsandarraysaraybothmutable.1)listsareflexibleandsupportheTeterdatabutarlessmemory-efficient.2)Arraysaremorememory-efficientiant forhomogeneousdative、ressivelessatile、ressing comerttytytypecodeusageodoavoiderorors。

PythonとCにはそれぞれ独自の利点があり、選択はプロジェクトの要件に基づいている必要があります。 1)Pythonは、簡潔な構文と動的タイピングのため、迅速な開発とデータ処理に適しています。 2)Cは、静的なタイピングと手動メモリ管理により、高性能およびシステムプログラミングに適しています。

PythonまたはCの選択は、プロジェクトの要件に依存します。1)迅速な開発、データ処理、およびプロトタイプ設計が必要な場合は、Pythonを選択します。 2)高性能、低レイテンシ、および緊密なハードウェアコントロールが必要な場合は、Cを選択します。

毎日2時間のPython学習を投資することで、プログラミングスキルを効果的に改善できます。 1.新しい知識を学ぶ:ドキュメントを読むか、チュートリアルを見る。 2。練習:コードと完全な演習を書きます。 3。レビュー:学んだコンテンツを統合します。 4。プロジェクトの実践:実際のプロジェクトで学んだことを適用します。このような構造化された学習計画は、Pythonを体系的にマスターし、キャリア目標を達成するのに役立ちます。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

Dreamweaver Mac版
ビジュアル Web 開発ツール

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ホットトピック









