码迷,mamicode.com
首页 > 其他好文 > 详细

类的命名空间

时间:2019-09-18 00:50:27      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:定义   就是   指针   创建   注意   直接   数据   好用   style   

属性

类里面可以定义两种属性:静态属性和动态属性。

通过实例来看下:

 

class Course:
    language = 中文#静态属性
    def __init__(self,teach,course_name,period,price):
        self.teach = teach
        self.course_name = course_name
        self.period = period
        self.price = price
Course.language = 英语#修改静态属性
print(Course.language)
python = Course(套你大象,python,9天,1000000)
print(python.language)#类中的静态变量可以被对象和类调用。

 

技术图片

当我们在创建一个类的时候,我们是实例化对象的时候。优先级是先从对象本地开始找变量的,如果在对象中找不到,则会在对应的类中去找。所以无论是使用类或者对象都可以找到静态对象。

但是当我们使用类去操作对象时就不行了,因为他们之间时单项的。

 

技术图片

注意:对于不可变的数据类型来说,类变量最好用类来操作。因为如果你使用对象对静态属性进行修改之后,你将再也调不到类里面的对于的静态属性了。

 

技术图片

 

对于可变数据类型来说,例如列表。

对列表中的值进行修改不会改变列表的内存地址,只会改变内部元素的内存地址。不会影响从对象到类的指针。所以使用类和对象去修改是共享的,赋值是独立的。赋值就是将language这个属性进行重新赋值,直接改变从对象到类的指向地址。

 

类的命名空间

标签:定义   就是   指针   创建   注意   直接   数据   好用   style   

原文地址:https://www.cnblogs.com/zly9527/p/11538032.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!