ホームページ >バックエンド開発 >Python チュートリアル >Pythonの変数受け渡しの詳細な紹介

Pythonの変数受け渡しの詳細な紹介

高洛峰
高洛峰オリジナル
2017-03-16 09:29:041917ブラウズ

Python変数パス

数値

  • コード

出力
  • 結論

    数値変数は値によって渡されます。
  • String

Code

num_1 = 123
num_2 = num_1
# 改变num_2值前
print 'num_1 = {0}, num_2 = {1}'.format(num_1, num_2)
num_2 = 0
# 改变num_2值后
print 'num_1 = {0}, num_2 = {1}'.format(num_1, num_2)
  • Output

num_1 = 123, num_2 = 123
num_1 = 123, num_2 = 0
  • 結論

    文字列変数も値によって渡されます。
  • リンクリスト

コード

str_1 = 'hello python'
str_2 = str_1
# 改变str_2值前
print 'str_1 = {0}, str_2 = {1}'.format(str_1, str_2)
str_2 = 'hello'
# 改变str_2值后
print 'str_1 = {0}, str_2 = {1}'.format(str_1, str_2)
  • 出力

str_1 = hello python, str_2 = hello python
str_1 = hello python, str_2 = hello
  • 結論

    上記の出力結果からわかるように、l_1とl_2はcと同様に機能します。 /c++ ポインター、 l_2 = l_1 の効果は、l_2 と l_1 が同じメモリを指すのと等価で、内容は [1, 2, 3, 4] です。 l_2[0] = 100 の場合、l_1 の最初の要素も変更されます。 l_2 = [1,1,1] は、l_2 が別のメモリを指すようにします。これは l_1 の内容には影響しません。
  • Dictionary

Code

l_1 = [1, 2, 3, 4]
l_2 = l_1
print 'l_1 = {0}, l_2 = {1}'.format(l_1, l_2)
l_2[0] = 100  # 改变l_2的第一个元素
print 'l_1 = {0}, l_2 = {1}'.format(l_1, l_2)
l_2 = [1,1,1] # 改变l_2的全部元素
print 'l_1 = {0}, l_2 = {1}'.format(l_1, l_2)
  • Output

l_1 = [1, 2, 3, 4], l_2 = [1, 2, 3, 4]
l_1 = [100, 2, 3, 4], l_2 = [100, 2, 3, 4]
l_1 = [100, 2, 3, 4], l_2 = [1, 1, 1]
  • 結論

    出力結果は、dictとlistのプロパティが直接代入された場合、同じであることを示しています。似ていますC++ で押す
  • Quote

    Pass。

Object

Code

d_1 = {'a': 1, 'b': 2, 'c': 3}
d_2 = d_1
print 'd_1 = {0}, d_2 = {1}'.format(d_1, d_2)

d_2['c'] = 10
print 'd_1 = {0}, d_2 = {1}'.format(d_1, d_2)

d_2 = {'e': 12, 'f': 15}
print 'd_1 = {0}, d_2 = {1}'.format(d_1, d_2)
  • Output

d_1 = {'a': 1, 'c': 3, 'b': 2}, d_2 = {'a': 1, 'c': 3, 'b': 2}
d_1 = {'a': 1, 'c': 10, 'b': 2}, d_2 = {'a': 1, 'c': 10, 'b': 2}
d_1 = {'a': 1, 'c': 10, 'b': 2}, d_2 = {'e': 12, 'f': 15}
  • 結論

    カスタム オブジェクトも、割り当てプロセス中に参照によって渡されます。
  • 概要

  • Python では、代入プロセス中に値と文字列が値によって渡されます。値によって渡す必要がある場合、リスト、辞書、オブジェクトはデフォルトで参照によって渡されます。
copy

モジュールのcopyとdeepcopy

関数。

以上がPythonの変数受け渡しの詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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