ホームページ バックエンド開発 Python チュートリアル Python での ** および * パラメータの用途は何ですか?

Python での ** および * パラメータの用途は何ですか?

May 23, 2019 pm 02:52 PM

Python では、「**」パラメータは、ここで任意の数のキーワード パラメータが受け入れられることを示します。これらのパラメータは辞書の形式で保存され、辞書として解釈されます。「*」パラメータ複数の非キーワード パラメータの場合、これらのパラメータは配列の形式で保存され、タプルとして解釈されます。

Python での ** および * パラメータの用途は何ですか?

Python のパラメータ受け渡しメカニズムには、値受け渡し (int、float などの値データ型) と参照受け渡し (次のような非値オブジェクト データ型) があります。 2 つの基本的な仕組みと、便利なキーワード転送機能 (関数の仮パラメータ名を直接使用して、実パラメータの転送対象を指定します。たとえば、関数は def f(a,b) のように定義されます。 ,c) の場合、 f( b=1,c=2,a=3 を呼び出すときに使用できます) は、仮パラメータと実パラメータの間の位置的な対応にこだわる必要がなく、仮パラメータ ターゲットの転送方法を指定します。 C 言語) さらに、Python ではラッピング メソッドのパラメータ受け渡しも可能で、これにより、パラメータの数とタイプが不確実な関数呼び出しの基礎が提供されます。

例: def f(*a,**b)、ラップされたパラメーター転送の実装では、関数を定義するときに仮パラメーターの前に * または ** を追加し、仮パラメーターに対応します。 * (上記の a など) はタプルとして解釈され、** に対応する仮パラメータ (上記の b など) は辞書として解釈されます。呼び出し中の特定のパラメータ転送については、次のコードを参照してください。

Python での ** および * パラメータの用途は何ですか?

上記のコードを実行した結果は次のようになります:

(3, 4)
{'n': 2, 'm': 1 }
さまざまな変数について、キーワードを使用して渡された変数はタプルの一部として *a に渡され、キーワードを使用して渡された変数は辞書の一部として **b に渡されることがわかります。 #同時に、注意が必要な場所があります。Python では、キーワード以外で渡される変数はキーワードで渡される変数の前に記述する必要があると規定しているため、* と ** を一緒に使用する場合は、* 仮パラメータを前に置く必要があります。 ** 仮パラメータ

さらに、関数が呼び出されたときに、アンラップと呼ばれるメソッドがあります:

Python での ** および * パラメータの用途は何ですか?上記の出力

グループまたはディクショナリがパラメータとして渡されるとき、ラップされた形式で仮パラメータ定義を適応させたい場合 (h を *a に渡すなど)、要素を配置します。上記の k を **b に)、タプルには * を使用し、辞書には ** を使用します。「ラップを解除するだけ」で渡します。

実際、f を呼び出すときに * を使用するのは、Python に次のことを思い出させるためです。実際のパラメータ h を 2 つの散在要素 c と d に分割し、それらを別々に渡します (上記のコードの f を def f (arg1, arg2, **b) として定義して、arg1 が値 3 を取得し、 arg2 は値 4 を取得します。 ** 同じ原理が似ています。さらに、解凍するときも *これはリストにも当てはまります ([] はリストを定義し、() はタプルを定義します)。 #

以上がPython での ** および * パラメータの用途は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Pythonクラスには複数のコンストラクターを持つことができますか? Pythonクラスには複数のコンストラクターを持つことができますか? Jul 15, 2025 am 02:54 AM

はい、apythonclasscanhavemultipleconstructorsthroughtertechniques.1.Defaultargumentsionthodto __tododtoallowdodtoibleInitialization with varyingnumbersofparameters.2.declassmethodsasasaLternativeconstructorsoriable rerableible bulible clurecreatureati

ループ範囲用のPython ループ範囲用のPython Jul 14, 2025 am 02:47 AM

Pythonでは、range()関数を使用してforループを使用することは、ループの数を制御する一般的な方法です。 1.ループの数を知っている場合、またはインデックスごとに要素にアクセスする必要がある場合に使用します。 2。範囲(STOP)から0からSTOP-1、範囲(開始、停止)からSTOP-1、範囲(開始、停止)がステップサイズを追加します。 3.範囲には最終値が含まれておらず、Python 3のリストの代わりに反復可能なオブジェクトを返すことに注意してください。 4.リスト(range())を介してリストに変換し、ネガティブなステップサイズを逆順に使用できます。

量子機械学習用のPython 量子機械学習用のPython Jul 21, 2025 am 02:48 AM

Quantum Machine Learning(QML)を開始するには、優先ツールがPythonであり、Pennylane、Qiskit、Tensorflowquantum、Pytorchquantumなどのライブラリをインストールする必要があります。次に、Pennylaneを使用して量子ニューラルネットワークを構築するなど、例を実行してプロセスに慣れます。次に、データセットの準備、データエンコード、パラメトリック量子回路の構築、古典的なオプティマイザートレーニングなどの手順に従ってモデルを実装します。実際の戦闘では、最初から複雑なモデルを追求したり、ハードウェアの制限に注意を払ったり、ハイブリッドモデル構造を採用したり、開発をフォローアップするための最新のドキュメントと公式文書を継続的に参照することを避ける必要があります。

PythonのWeb APIからのデータへのアクセス PythonのWeb APIからのデータへのアクセス Jul 16, 2025 am 04:52 AM

Pythonを使用してWebAPIを呼び出してデータを取得するための鍵は、基本的なプロセスと共通のツールをマスターすることです。 1.リクエストを使用してHTTPリクエストを開始することが最も直接的な方法です。 GETメソッドを使用して応答を取得し、json()を使用してデータを解析します。 2。認証が必要なAPIの場合、ヘッダーからトークンまたはキーを追加できます。 3.応答ステータスコードを確認する必要があります。respons.raise_for_status()を使用して、例外を自動的に処理することをお勧めします。 4.ページングインターフェイスに直面すると、さまざまなページを順番にリクエストし、遅延を追加して周波数制限を回避できます。 5.返されたJSONデータを処理する場合、構造に従って情報を抽出する必要があり、複雑なデータをデータに変換できます

Python 1行の場合 Python 1行の場合 Jul 15, 2025 am 01:38 AM

PythonのOnelineifelseは、XifconditionElseyとして書かれた3成分演算子であり、単純な条件付き判断を簡素化するために使用されます。 Status = "Adult" ifage> = 18else "minor"など、可変割り当てに使用できます。また、defget_status(age):urtuel "adult" ifage> = 18else "minor"などの関数で結果を直接返すためにも使用できます。 result = "a" iなど、ネストされた使用はサポートされていますが

完成したPython Blockbuster Online Viewing Entrant Python無料完成ウェブサイトコレクション 完成したPython Blockbuster Online Viewing Entrant Python無料完成ウェブサイトコレクション Jul 23, 2025 pm 12:36 PM

この記事では、いくつかのトップPython「完成した」プロジェクトWebサイトと、高レベルの「大ヒット作「学習リソースポータル」が選択されています。開発のインスピレーション、観察、学習のマスターレベルのソースコードを探している場合でも、実用的な機能を体系的に改善している場合でも、これらのプラットフォームは見逃せず、Pythonマスターに迅速に成長するのに役立ちます。

Python他の例 Python他の例 Jul 15, 2025 am 02:55 AM

PythonのIfelseステートメントを書くための鍵は、論理構造と詳細を理解することです。 1.インフラストラクチャは、条件が確立されている場合、コードを実行することです。 2.多条件判断はElifで実施され、順次実行され、満たされると停止します。 3。ネストされている場合、さらに区画の判断に使用されている場合、2つの層を超えないことをお勧めします。 4.単純なシナリオでは、単純なifelseを置き換えるために、三元式を使用できます。インデント、条件付き順序、論理的完全性に注意を払うことによってのみ、明確で安定した判断コードを書くことができます。

ラインごとにファイルを読み取るためのループ用のPython ラインごとにファイルを読み取るためのループ用のPython Jul 14, 2025 am 02:47 AM

forループを使用してファイルごとに読み取ることは、大きなファイルを処理するための効率的な方法です。 1.基本的な使用法は、withopen()を介してファイルを開き、クロージングを自動的に管理することです。 forlineInfileと組み合わせて、各ラインをトラバースします。 line.strip()は、ラインの破損とスペースを削除できます。 2.行番号を記録する必要がある場合は、列挙(ファイル、start = 1)を使用して、行番号を1から開始することができます。 3.非ASCIIファイルを処理する場合、エンコードエラーを避けるために、UTF-8などのエンコードパラメーターを指定する必要があります。これらの方法は簡潔で実用的であり、ほとんどのテキスト処理シナリオに適しています。

See all articles