python的变量类型会随着存放它内容的值的类型而变化
比如你定义了一个变量
fridge = “这是冰箱”
fridge = {“apples”:3,”oranges”:4,”milk”:2}
第一行中 fridge是字符串 然后后下一行又变成了字典
在函数里面使用名称 也不同
函数的名称和外面的名称 是两个不同的范围 函数里面的名称如果和外面的名称一样 这时候 函数里面的名称是从新使用和创建的 是不会影响到程序的其他作用于中的相同名称。
所以编写函数时,完全不用担心其他地方或者其他函数中已经用过的名称
因此编写函数时,函数有自己的名称,其他函数也有自己的名称,他们是分开的。
即使两个函数同名,由于他们在不同的函数中,所以完全独立的。引用的是不同的值
函数里面也可以使用外面定义的名称,这些名称是全局数据。
python的这种能力来源于它将一个名称的可见性分隔到不同的概念区域内。每一个这样的区域叫做作用域。
最上面的一层作用域在任何低层次的作用域可以再次使用 而不影响上层名称的引用
比如下面例子 定义了一个列表 然后在函数中修改它
然后再打印出来 结果发现函数是无法改变它的
其实函数中的这个列表和外面的列表是不同的
>>> area = ["dfdsf","reewrer","4rewr"]
>>> def A_A():
area = ["sdf","dsf"]
return area
>>> A_A()
['sdf', 'dsf']
>>> print(area)
['dfdsf', 'reewrer', '4rewr']