• 面向对象-属性查找


    """
    在现实世界中:
    对象1:王二丫
        特征:
            学校='luffycity'
            名字=王二丫
            性别=女
            年龄=18
        技能:
            吃饭
            学习
    
    对象2:张铁蛋
        特征:
            学校='luffycity'
            名字=李三胖
            性别=男
            年龄=38
        技能:
            吃饭
            学习
    
    对象3:
        特征:张铁蛋
            学校='luffycity'
            名字=张铁蛋
            性别=男
            年龄=48
        技能:
            吃饭
            学习
    
    """
    
    
    class LuffyCity:
        school = 'student'
    
        def __init__(self, name, sex, age):
            self.Name = name
            self.Sex = sex
            self.Age = age
    
        def learn(self,x):
            print('%s is learning %s' % (self.Name, x))
    
        def eat(self):
            print('%s is eatting' % self.Name)
    
    
    stu1 = LuffyCity('李二丫', '', 18)
    stu2 = LuffyCity('李三胖', '', 38)
    stu3 = LuffyCity('张铁蛋', '', 48)
    对象是特指与技能的结合体
    类是 一系类对象的相似的特征与相似的技能的结合体
    print(LuffyCity)
    print(stu1.__dict__)
     类中的数据属性:对象所特有的;id相同 显示是共享的
    print(LuffyCity.school, id(LuffyCity.school))
    print(stu1.school, id(stu1.school))
    print(stu2.school, id(stu2.school))
    print(stu3.school, id(stu3.school))
    类中的函数属性:是绑定给对象使用。绑定不同对象是不同的绑定方法。对象调用绑定方法,会把对象本身当做第一个传入,传给self。
    print(LuffyCity.learn)  # ---> <function LuffyCity.learn at 0x102df4378>
    # print(LuffyCity.learn(stu1))  # ---> 李二丫 is learning
    # print(LuffyCity.learn(stu2))
    # print(LuffyCity.learn(stu3))
    
    # print(stu1.learn)  # ----> 绑定函数<bound method LuffyCity.learn of <__main__.LuffyCity object at 0x102dfe1d0>>
    # print(stu1.learn(1))  # --->李二丫 is learning 1
    # print(stu2.learn(2))
    # print(stu3.learn(3))
    
    LuffyCity.x = 'from luffycity class' #增加一个变量x
    print(stu1.__dict__) # 查看stu1 并无x
    print(stu1.x)  # --->from luffycity class
  • 相关阅读:
    南邮NOJ整除的尾数
    【HDOJ】2844 Coins
    【HDOJ】2546 饭卡
    【HDOJ】1031 Design T-Shirt
    【HDOJ】1983 Kaitou Kid
    【HDOJ】2612 Find a way
    【原创】如何构建MIPS交叉编译工具链
    【HDOJ】1239 Calling Extraterrestrial Intelligence Again
    【Python Network】使用DOM生成XML
    【HDOJ】2602 Bone Collector
  • 原文地址:https://www.cnblogs.com/hexiaorui123/p/10201355.html
Copyright © 2020-2023  润新知