Python関数のパラメータの違い

大家讲道理
リリース: 2017-05-28 09:56:40
オリジナル
1710 人が閲覧しました

phppythonを使っている過程で、関数のパラメータlistの場合、内部でlist.appendが呼び出されていることが分かりました。関数 () は C/C++ とは異なる仮パラメータを変更します。関連する情報を確認し、ここで記録します。

>>> num1 = 10>>> num2 = num1>>> num3 = 10>>> id(num1)4299190320>>> id(num2)4299190320>>> id(num3)4299190320
ログイン後にコピー


として取得できます。ご覧のとおり、3 つのオブジェクト num1、num2、および num3 は、

reference
counting と呼ばれるメソッドを使用してこれを完了します。変数は同等です。同じオブジェクトの参照カウンターは、スペースを再割り当てする代わりに +1 されます。

リスト オブジェクトの場合、次の結果が表示されます:

list1 と list3 は同じスペースを指します。 、そして list2 は別のアドレスを指します。

Python での関数パラメーターの受け渡しは、ローカルとグローバルの問題もあります。


パラメーターをローカル スコープ内のオブジェクトにコピーします。つまり、
C言語

と同じコピーの問題があり、ローカルオブジェクトを変更しても、関数のパラメーターにアクセスするために使用される変数は、関数に呼び出されたオブジェクトとは何の関係もありません。元のデータ

. 変更可能なオブジェクトは主にリストと辞書です。この適切な位置は、本質的に、以前に分析されたローカル サブオブジェクトの変更によって辞書オブジェクトまたはリスト オブジェクトの ID が変更されないことによるものです。以下のように: (

string
)はすべて不変オブジェクトですが、辞書型(辞書とリストのオブジェクトは可変オブジェクトです

)したがって、パラメーターを渡すときは注意してください

以上がPython関数のパラメータの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!