如何在Python中編寫具有輸出參數(按引用呼叫)的函數?

WBOY
發布: 2023-09-02 16:21:06
轉載
923 人瀏覽過

如何在Python中編寫具有輸出參數(按引用呼叫)的函數?

Python語言中的所有參數(argument)都是透過引用傳遞的。這表示如果您變更函數中參數的參考內容,該變更也會反映在呼叫函數中。

透過以下方式實現這一目標 -

傳回結果元組

範例

在此範例中,我們將傳回結果的元組 -

# Function Definition
def demo(val1, val2):
   val1 = 'new value'
   val2 = val2 + 1
   return val1, val2

x, y = 'old value', 5

# Function call
print(demo(x, y))
登入後複製

輸出

('new value', 6)
登入後複製

傳遞可變物件

範例

在此範例中,我們將傳遞一個可變物件 -

# Function Definition
def demo2(a):
   # 'a' references a mutable list
   a[0] = 'new-value'
   # This changes a shared object
   a[1] = a[1] + 1

args = ['old-value', 5]
demo2(args)
print(args)
登入後複製

輸出

['new-value', 6]
登入後複製

傳遞一個發生變異的字典

範例

在這個範例中,我們將傳遞一個字典 -

def demo3(args):
   # args is a mutable dictionary
   args['val1'] = 'new-value'
   args['val2'] = args['val2'] + 1

args = {'val1': 'old-value', 'val2': 5}

# Function call
demo3(args)
print(args)
登入後複製

輸出

{'val1': 'new-value', 'val2': 6}
登入後複製
登入後複製

類別實例中的值

範例

在此範例中,我們將在類別實例中打包值 -

class Namespace:
   def __init__(self, **args):
      for key, value in args.items():
         setattr(self, key, value)

def func4(args):
   # args is a mutable Namespace
   args.val1 = 'new-value'
   args.val2 = args.val2 + 1

args = Namespace(val1='old-value', val2=5)

# Function Call
func4(args)
print(vars(args))
登入後複製

輸出

{'val1': 'new-value', 'val2': 6}
登入後複製
登入後複製

以上是如何在Python中編寫具有輸出參數(按引用呼叫)的函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!