デフォルト引数の後にデフォルト以外の引数を宣言するのはなぜ違法ですか?
Python では、引数の正しい順序に従うことが重要です関数を定義するとき。デフォルト以外の引数は、デフォルトの引数よりも前に指定する必要があります。この制約は、必須のパラメータをオプションのパラメータ (デフォルトの引数) の前に指定する必要があるという事実から生じています。
SyntaxError: Non-Default Argument Follows Default Argument
このエラーが発生します次の例のように、デフォルト引数の後にデフォルト以外の引数を持つ関数を宣言する場合:
<code class="python">def fun1(a="who is you", b="True", x, y): print(a, b, x, y)</code>
予期しない代入の問題
デフォルトとデフォルト以外の組み合わせ引数は構文の曖昧さにつながります。上記の関数を使用した関数呼び出しを考えてみましょう。
<code class="python">func1("ok a", "ok b", 1) # Is 1 assigned to x or a? func1(1) # Is 1 assigned to a or x? func1(1, 2) # Which arguments are mapped to which parameters?</code>
そのような場合、インタプリタが適切な割り当てを決定することは不可能です。
O'Reilly - Core-Python への参照
O'Reilly - Core-Python に従って、関数定義内のすべての必須パラメーターはデフォルトの引数よりも前にある必要があります。これにより、必要なパラメーターの最小限のセットで関数を呼び出すことができます。
キーワード引数の呼び出し
キーワード引数では、順序が正しくない位置引数が許可され、スキップできます。デフォルトの引数と組み合わせて使用した場合、欠落している引数を上書きします。たとえば、キーワード引数を使用した次の関数呼び出しは構文的に正しいです:
<code class="python">def fun1(x, y, a="who is you", b="True"): print(a, b, x, y) # Call with keyword arguments fun1(4, y=5, a="Python is awesome")</code>
結論
SyntaxError を回避し、引数をパラメーターに割り当てる論理フローを維持するには、次のようにします。関数定義内の引数の適切な配置を覚えておくことが重要です。オプションのパラメータ (デフォルトの引数) の前に、必ず必須のパラメータ (デフォルト以外の引数) を宣言します。
以上がPython でデフォルト引数の後にデフォルト以外の引数を宣言するのはなぜ違法ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

forhandlinglaredataSetsinpython、usenumpyArrays forbetterperformance.1)numpyarraysarememory-effictientandfasterfornumericaloperations.2)nusinnnnedarytypeconversions.3)レバレッジベクトル化は、測定済みのマネージメーシェイメージーウェイズデイタイです

inpython、listsusedynamicmemoryallocation with allocation、whilenumpyArraysalocatefixedmemory.1)listsallocatemorememorythanneededededinitivative.2)numpyArrayasallocateexactmemoryforements、rededicablebutlessflexibilityを提供します。

inpython、youcanspecthedatatypeyfelemeremodelernspant.1)usenpynernrump.1)usenpynerp.dloatp.ploatm64、フォーマーpreciscontrolatatypes。

numpyisessentialfornumericalcomputinginpythonduetoitsspeed、memory efficiency、andcomprehensivematicalfunctions.1)それは、performsoperations.2)numpyArraysaremoremory-efficientthanpythonlists.3)Itofderangeofmathematicaloperty

contiguousMemoryAllocationisucial forArraysは、ForeffienceAndfastelementAccess.1)iteenablesConstantTimeAccess、O(1)、DuetodirectAddresscalculation.2)itemprovesefficiencyByAllowingMultiblementFechesperCacheLine.3)itimplifieMememm

slicingapythonlistisdoneusingtheyntaxlist [start:stop:step] .hore'showitworks:1)startisthe indexofthefirstelementtoinclude.2)spotisthe indexofthefirmenttoeexclude.3)staptistheincrementbetbetinelements

numpyallows forvariousoperationsonarrays:1)basicarithmeticlikeaddition、減算、乗算、および分割; 2)AdvancedperationssuchasmatrixMultiplication;

Arraysinpython、特にnumpyandpandas、aresentialfordataanalysis、offeringspeedandeficiency.1)numpyarraysenable numpyarraysenable handling forlaredatasents andcomplexoperationslikemoverages.2)Pandasextendsnumpy'scapabivitieswithdataframesfortruc


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

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