ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python---day8作业

2021-11-10 23:00:57  阅读:186  来源: 互联网

标签:info day8 Python self --- say something print def


1.定义一个类(不限定定义哪个类):
要求: a.需要有一个类变量
b.需要有>=2个的对象变量
c.定义一个方法:打印类变量和对象变量
d.使用print打印对象->输出为This is a object
e.实例化两个对象:且两个对象相加等于2
f.为对象添加一个临时变量temp_var

class Person:
    type = "Person Class"

    def __init__(self, name, age):
        self.name = name
        self.age = age
    def print_info(self):
        print("类变量:", Person.type)
        print("对象变量:", self.name, self.age)
    def __str__(self):
        return "This is a object"
    def __add__(self, other):
        return 2


zhangsan = Person("zhangsan", 18)
print(zhangsan)
lisi = Person("lisi", 20)
print(zhangsan + lisi)
zhangsan.print_info()
zhangsan.type = "temp_var"
print(zhangsan.type)
This is a object
2
类变量: Person Class
对象变量: zhangsan 18
temp_var

2.super的使用:
定义一个类A, 里面又一个方法print_info
定义一个类B, 里边有一个方法print_info和一个方法say_something
定义一个类C, 里边有一个方法say_something
定义一个类D, 里边有一个方法print_info和一个方法say_something
定义一个类E,继承类A, 类B, 类C,类D

class A:
    def print_info(self):
        print("This is A")
  
class B:
    def say_somthing(self):
        print("B says something")
    def print_info(self):
        print("This is B")
  
class C:
    def say_somthing(self):
        print("C says something")
  
class D:
    def say_somthing(self):
        print("D says something")
    def print_info(self):
        print("This is D")
   
class E(A, B, C, D):
   

实例化类E的对象
执行print_info和say_something方法

obj = E()
obj.print_info()
obj.say_somthing()

利用super,让执行print_info时调用B中print_info

class E(A, B, C, D):
    def print_info(self):
        super(A, self).print_info()
   
obj = E()
obj.print_info()
obj.say_somthing()
This is B
B says something

利用super, 让执行say_something时调用C中say_something

class E(A, B, C, D):
    def say_somthing(self):
        super(B, self).say_somthing()
        
obj = E()
obj.print_info()
obj.say_somthing()
C says something

利用super, 让执行print_info和say_something时调用
D中print_info和say_something

class E(A, B, C, D):
    def print_info(self):
        super(C, self).print_info()
    def say_somthing(self):
        super(C, self).say_somthing()

obj = E()
obj.print_info()
obj.say_somthing()
This is D
D says something
print(E.__mro__)
(<class '__main__.E'>, <class '__main__.A'>, <class '__main__.B'>, <class '__main__.C'>, <class '__main__.D'>, <class 'object'>)

标签:info,day8,Python,self,---,say,something,print,def
来源: https://blog.csdn.net/m0_56175629/article/details/121257439

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有