python杂记

关于参数(上)

变量的作用域:

1、变量有全局变量和局部变量之分

def increase_one(n):
    n += 1
    return n
n = 1    #此处的变量"n"属于全局变量
print(increase_one(n)) #此处的n,属于局部变量,只不过是同名为“n”而已。

#pirnt函数调用的“increase_one(n)”属于调用的这个函数的最终的值。

1.1有一种需要特殊注意,在函数内部处理被传递过来的值是可变容器(如列表)的时候:

def be_careful(a, b):
    a = 2 
    b[0] = "What?!"  #问题1,b[0]是啥意思?代表b的默认列表是[0]吗?

a = 1
b = [1, 2, 3]
be_careful(a, b)
a, b

上面运行结果:(1, ['What?!', 2, 3])

1.1.1 一个比较好的习惯是如果传递进来的值是列表,可以创建一个他的copy:

def be_careful(a, b):
    a = 2
    b_copy = b.copy()   #先拷贝b的列表,复制到b_copy
    b_copy[0] = 'What?!'  #问题2,此处b_copy[0]默认值为?

a = 1
b = [1, 2, 3]
be_careful(a, b)
a, b

上面运行结果:(1, [1, 2, 3])

以上有两个问题点,初学python不是很理解。等待以后返回来解答。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值