ホームページ >バックエンド開発 >Python チュートリアル >Pythonの配信方法とは何ですか?この記事を読んで Python パラメータの受け渡しを理解してください
これは Python パラメータ転送方法 に関する記事です。主に Python パラメータ 変数パラメータ定義とその Python パラメータ転送方法を紹介します。皆様、ご参考までに。具体的な分析は次のとおりです。
いわゆる Python パラメータ
python パラメータには、型が属します。 :
a=[1,2,3] a="PHPCN"上記のコードでは、[1,2,3] はリスト型、「PHPCN」は文字列型で、変数 a には型がありません。オブジェクトへの単なる参照 (ポインター)。List 型オブジェクトまたは String 型オブジェクトを指すことができます。
⊙可変オブジェクトと不変オブジェクト
Python では、文字列、タプル、数値は不変オブジェクトですが、リスト、辞書などは不変オブジェクトです。変更できるオブジェクト。#不変型: 変数に a=5 を代入した後、a=10 を代入します。ここでは、実際に新しい int 値オブジェクト 10 が生成され、a がポイントされます。これは、a の値を変更するのではなく、新たに a を生成することと同じです。
#変数の種類: 変数の代入 la=[1,2,3,4] の後の代入 la[2]=5 は、リスト la の 3 番目の要素の値を変更します。それ自体は変更されず、内部値の一部のみが変更されます。
python パラメータ渡しメソッド:
·不変型: 整数や文字などの C ライクな値の転送文字列、タプル。たとえば、 fun(a) は a の値を転送するだけで、 a オブジェクト自体には影響しません。たとえば、 fun(a) 内の a の値を変更すると、コピーされた別のオブジェクトが変更されるだけで、 a 自体には影響しません。
#変数タイプ: C の参照転送と同様、リスト、辞書など。たとえば、fun (la) は実際には la を渡していますが、変更後は fun の外側の la にも影響が及びます。不変オブジェクトの受け渡しと可変オブジェクトの受け渡しと言うべきでしょう。
⊙python 不変オブジェクトのインスタンスを渡す#!/usr/bin/python
# -*- coding: UTF-8 -*-
def ChangeInt( a ):
a = 10
b = 2ChangeInt(b)
print b # 结果是 2
インスタンスには int オブジェクト 2 があり、それを指す変数は b です。が ChangeInt 関数に渡されると、変数 b が値によってコピーされます。a と b は両方とも同じ Int オブジェクトを指します。a=10 の場合、新しい int 値オブジェクト 10 が生成され、a はそれを指します。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 可写函数说明def changeme( mylist ):
"修改传入的列表"
mylist.append([1,2,3,4]);
print "函数内取值: ", mylist
return
# 调用changeme函数
mylist = [10,20,30];
changeme( mylist );
print "函数外取值: ", mylist
関数に渡すオブジェクトと最後に新しい内容を追加するオブジェクトは同じです引用のため、出力結果は次のようになります:
函数内取值: [10, 20, 30, [1, 2, 3, 4]] 函数外取值: [10, 20, 30, [1, 2, 3, 4]]After-class extension:
Python カスタム関数と Python 関数の戻り値を、詳細な例とともに 1 つの記事で読んでください。
以上がPythonの配信方法とは何ですか?この記事を読んで Python パラメータの受け渡しを理解してくださいの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。