zoukankan      html  css  js  c++  java
  • python基础——类名称空间与对象(实例)名称空间

    python基础——类名称空间与对象(实例)名称空间

     

    1 类名称空间

     

    创建一个类就会创建一个类的名称空间,用来存储类中定义的所有名字,这些名字称为类的属性

     

    而类的良好总属性:数据属性和函数属性

     

    其中类的数据属性是共享给所有对象

    print(id(g1.camp))     #引用的地址是一样的
    print(id(Garen.camp)) 
    

    输出结果为:

    364617767096
    364617767096
    

    其中类的函数属性是绑定到所有对象

    print(id(g1.attack))      #两个引用地址不一样
    print(id(Garen.attack))
    

    输出结果为:

    1009949719304
    1009951072464 

    分析:g1.attack就是在执行Garen.attack的功能,python的class机制会将Garen的函数属性attack绑定给g1,g 1相当于拿到了一个指针,指向Garen类的attack功能。除此之外,g1.attack()会将g1传给attack的第一个参数。

     

    2 对象(实例)名称空间

    创建一个对象(实例)就会创建一个对象(实例)的名称空间,存放对象(实例)的名字,称为对象(实例)的属性

    在obj.name会先从obj自己的名称空间里找name,找不到则去类中找,类中找不到就找父类。最后找不到就抛出异常。

     

  • 相关阅读:
    nginx配置文件中的location中文详解
    binlog、redo log、undo log区别
    OLTP和OLAP的区别
    MPP、SMP、NUMA概念介绍
    NUMA体系结构介绍
    在Linux下判断系统当前是否开启了超线程
    NUMA的取舍与优化设置
    LRU缓存算法
    optimize table
    使用innodb_force_recovery解决MySQL崩溃无法重启问题
  • 原文地址:https://www.cnblogs.com/niejinmei/p/6761946.html
Copyright © 2011-2022 走看看