• 类成名和命名空间


    类成员和命名空间

    class A:
        Country = '中国'   #静态变量/静态属性 储存在类的命名空间里
        def __init__ (self,name,age):   #绑定方法 储存在类的命名空间里面
            self.name = name
            sele.age = age
        def func1(self):
            print(self)
        def func2(self):pass
        def func3(self):pass
        
    a = A('alex',83)
    print(a.name)
    print(a.Country)
    
    类中的变量是静态变量
    对象中的变量只属于对象本身,每个对象有属于自己的空间来储存对象的变量
    当使用对象名去调用某一个属性的时候会优先在自己的空间去寻找,找不到再去对应的类中寻找
    如果自己没有就引用类的,如果类也没有就报错
    对于类来说,类中的变量所有的对象都是可以读取的,并且读取的是同一份变量
    
    

    类中的静态变量的用处

    如果一个变量是所有的对象共享的值,那么这个变量应该被定义成静态变量

    所有和静态变量相关的增删改查都应该使用类名来处理

    而不应该使用对象直接修改静态变量

    组合

    1. 一个类的对象是另一个类对象的属性
    #练习
    #对象变成了一个属性
    班级类包含一个属性 - 课程
    课程包含课程名称 周期 价格
    
    创建两个班级 linux57  python22期
    查看Linux57期的班级所学课程的价格
    查看python22期的班级所学课程的周期
    
    class Clas:
        def __init__(self,cname,begint,teacher):
            self.cname = cname
            self.begint = begint
            self.teacher = teacher
    class Course:
        def __init__(self,name,period,price):
            self.name = name
            self.period = period
            self.price = price
    py22 = Clas('python全栈22期','2019-4-26','小白')
    linux57 = clas('linux运维57期','2019-4-26','李导')
    prthon = Course('python','6 months',21800)
    linux = course('linux','6 months',19800)
    py22.course = python
    linux57.course = linux
    print(py22.course.period)
    print(linux57.course.price)
    
    

    当类之间有显著不同,并且较小的类是较大的类所需的组件时,用组合比较好

  • 相关阅读:
    Eclipse下Tomcat插件的安装
    支付宝接口资料解读
    文件转换器服务推荐
    接吻的学问
    Web小工具推荐
    两个优秀的免费字体资源
    每年考证时间
    Visual Studio 2008 简体中文版和MSDN下载
    生活小经验
    UIScrollView and lazy loading
  • 原文地址:https://www.cnblogs.com/wang-xing-hao/p/11172692.html
Copyright © 2020-2023  润新知