zoukankan      html  css  js  c++  java
  • 类的命名空间

    属性

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

    通过实例来看下:

    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这个属性进行重新赋值,直接改变从对象到类的指向地址。

  • 相关阅读:
    [BZOJ3195] [Jxoi2012]奇怪的道路
    Splay Tree
    区间DP复习
    Link Cut Tree
    [BZOJ2734] [HNOI2012]集合选数
    如何写出杀手级简历(针对程序员) (转)
    30个提高Web程序执行效率的好经验(转)
    Oracle中的SQL跟踪( 转)
    如何终止SQL Server中的用户进程(转)
    Will the real programmers please stand up?(转)
  • 原文地址:https://www.cnblogs.com/zly9527/p/11538032.html
Copyright © 2011-2022 走看看