python 类的讲解

1.定义一个类(不限定定义哪个类):

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

class Student:
    school_name = '清华'
 
    def __init__(self, name, number, age):
        self.name = name
        self.number = number
        self.age = age
 
    def print_info(self):
        print('类变量', Student.school_name)
        print('对象变量', self.name, self.number, self.age)
 
    def __str__(self):
        return "This is a object"
 
    def __add__(self, other):
        return 2
 
 
zhangsan = Student('zhangsan', 1001, 18)
lisi = Student('lisi', 1002, 20)
print(zhangsan)
zhangsan.print_info()
result = zhangsan + lisi
print(result)
lisi.temp_var = None
print(lisi.temp_var)
#结果
This is a object
类变量 清华
对象变量 zhangsan 1001 18
2
None

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 func print_info A')
    pass
 
 
class B:
    def print_info(self):
        print('This is func print_info B')
 
    def say_something(self):
        print('This is func say_something B')
    pass
 
 
class C:
    def say_something(self):
        print('This is func say_something C')
    pass
 
 
class D:
    def print_info(self):
        print('This is func print_info D')
 
    def say_something(self):
        print('This is func say_something D')
 
 
class E(A, B, C, D):
    pass

实例化类E的对象
执行print_info和say_something方法
利用super,让执行print_info时调用B中print_info
利用super, 让执行say_something时调用C中say_something
利用super, 让执行print_info和say_something时调用
D中print_info和say_something


e = E()
e.print_info()
# This is func print_info A
e.say_something()
# This is func say_something B

3.定义一个父类:

要求:包含三个对象变量,且其中一个对象变量使用_命名
定义一个方法:命名使用__命名
定义一个子类继承上边的父类:且定义一个和父类方法名相同的方法(__)
实例化子类的对象
访问带_的对象变量
访问父类中的__xxx方法
访问子类中的__xxx方法


class Person:
    country = 'China'
 
    def __init__(self):
        self.name = None
        self.age = 10
        self._sex = '男'
 
    def __method(self):
        print('This is __func in Person')
 
 
class Student(Person):
    def __method(self):
        print('This is __func in Student')
    pass
 
 
zhangsan = Student()
print(zhangsan._sex)
zhangsan._Person__method()
zhangsan._Student__method()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值