python_08 函数(2)

本文通过几个实验探讨了在Python中函数参数的变化如何影响原始变量。包括不可变类型如整数和可变类型如列表的不同行为,并给出了最佳实践建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

函数通过参数获取我们传递的值,函数中改变了参数的值,那么我们传递进去的值会改变吗?

In [1]:def test(varibal):

                 varibal = 100

                 return varibal

In [2]:var = 1

          test(var)

Out[2]:100

In [3]:print(var)

Out[3]: 1

In [4]:def test(varibal):

                varibal.append(100)
                return varibal

In [5]:var = [ ]

          test(var)

Out[5]:[100]

In [6]:var

Out[6]:[100]

不建议对可变类型在函数内进行更改,建议用函数返回值进行重新赋值

In [7]:def test(varibal):

    temp = varibal.copy()
    temp.append(100)
    return temp

In [8]:var = []

            var = test(var)

In [9]:var

Out[9]:[ ]

In [10]:def test(name, age, *args, **kwargs):

       print(name, age, *args, **kwargs)

In [11]:test('jin', 12)

Out[11]: jin 12

In [12]:test('jin',23,43,'1fg',[23,45])

Out[12]:jin 23 43 1fg [23, 45]

In [13]:dict_varibals = {

        'weight':100,
        'height':165
     }
     test('jin', 23, dict_varibals) 
Out[13]:jin 23 {'height': 165, 'weight': 100}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值