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进阶 - 命名空间与作用域 写在前面 如非特别说明,下文均基于Python3 命名空间与作用于跟名字的...
    理查德成阅读 1,258评论 3 8
  • 第3章 基本概念 3.1 语法 3.2 关键字和保留字 3.3 变量 3.4 数据类型 5种简单数据类型:Unde...
    RickCole阅读 5,162评论 0 21
  • 写在前面 本篇文章是《The Python Tutorial》(3.6.1),第九章,类的译文。 9. Class...
    理查德成阅读 797评论 0 8
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,142评论 1 32
  • 今天是最开心的一天,上午班组成员集中的时候,一个超级搞笑的主任说下午的例会后请我们班组成员吃饭。这是一位相当幽默,...
    旦子阅读 168评论 0 0