命名空间
- 内置命名空间 : python解释器
就是python解释器一启动就可以使用的名字存储在内置命名空间中
内置的名字在启动解释器的时候被加载进内存里 - 全局命名空间 : 我们写的代码但不是函数中的代码
是在程序从上到下被执行的过程中依次加载进内存的
放置了我们设置的所有变量名和函数名 - 局部命名空间 : 函数
就是函数内部定义的名字
当调用函数的时候 才会产生这个名称空间 随着函数执行的结束 这个命名空间就又消失了
在局部:可以使用全局、内置命名空间中的名字。在全局:可以使用内置命名空间中的名字,但是不能用局部中使用。在内置:不能使用局部和全局的名字的
作用域两种
- 全局作用域 :作用在全局 ,内置和全局名字空间中的名字都属于全局作用域 ——globals()
- 局部作用域 :作用在局部 , 函数(局部名字空间中的名字属于局部作用域) ——locals()
类
class Person: #定义一个类
role = 'person' #类变量(静态属性)
def __init__(self,name): #初始化方法,self是对象,必须传
self.name = name # 对象属性(这里可以理解为存储一个字典,可通过__dict__方法查看)
def walk(self): #方法名(动态属性)
print("person is walking...")
实例化
即对象的过程,语法是:对象名=类名(参数)
rol=Person('Tom')
查看属性调用方法
rol.name
rol.walk()
类中的静态属性是共享给所有对象的,可以被对象和类调用,对于不可变数据类型,类变量最好用类名调用,对于可变数据类型,对象名的修改是共享的,重新赋值是独立的。
网友评论