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

    类成员和命名空间

    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)
    
    

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

  • 相关阅读:
    java内置数据类型
    docker安装及配置
    redis持久化
    golang linux安装
    TCP/IP协议
    php高并发,大流量
    C语言阐述进程和线程的区别
    python 消息队列-rabbitMQ 和 redis介绍使用
    python 新手题目-文件读写-关键字判断
    python IO模式(多路复用和异步IO深入理解)
  • 原文地址:https://www.cnblogs.com/wang-xing-hao/p/11172692.html
Copyright © 2011-2022 走看看