python基础5
全局变量,局部变量
a = 3 #全局变量
def test01():
b = 4
print(b*10)
print(a)
a=300
print(a)
test01()
test01()
print(a)
局部变量的查询和访问速度比全局变量快
参数的传递本质:从实参到形参的赋值操作
图上,id没变,指向的对象没变
传递不可变对象
不可变对象:int, float,字符串,元组,布尔值
创建新对象指向n
浅拷贝和深拷贝![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/c8efa98af87abc1c66d8bd1749ba36a0.png#pic_center)
浅拷贝
深拷贝
传递不可变对象是, 不可变对象里面包含的子对象是可变的,则方法内修改的这个可变对象,源对象也发生了变化。
位置参数
需要个数和形参匹配
默认值参数
默认值必须位于普通参数的后面
命名参数
可变参数后面,必须使用强制命名参数