Python类初识

命名空间

  1. 内置命名空间 : python解释器
    就是python解释器一启动就可以使用的名字存储在内置命名空间中
    内置的名字在启动解释器的时候被加载进内存里
  2. 全局命名空间 : 我们写的代码但不是函数中的代码
    是在程序从上到下被执行的过程中依次加载进内存的
    放置了我们设置的所有变量名和函数名
  3. 局部命名空间 : 函数
    就是函数内部定义的名字
    当调用函数的时候 才会产生这个名称空间 随着函数执行的结束 这个命名空间就又消失了

在局部:可以使用全局、内置命名空间中的名字。在全局:可以使用内置命名空间中的名字,但是不能用局部中使用。在内置:不能使用局部和全局的名字的

作用域两种

  • 全局作用域 :作用在全局 ,内置和全局名字空间中的名字都属于全局作用域 ——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()

类中的静态属性是共享给所有对象的,可以被对象和类调用,对于不可变数据类型,类变量最好用类名调用,对于可变数据类型,对象名的修改是共享的,重新赋值是独立的。

你可能感兴趣的:(Python类初识)