轻松学会python的定义使用

本文通过示例介绍了如何定义一个类,包括类变量、对象变量、打印方法、对象相加以及添加临时变量。同时,展示了super在多重继承中的使用,以及如何调用不同父类的方法。最后,创建了一个父类和子类,探讨了私有变量和特殊方法的访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

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

2.super的使用:

3.定义一个父类:


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


要求:

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

class Person:
    country = 'china'

    def __init__(self, name, age, gender):
        self.name = name
        self.age = age
        self.gender = gender

    def print_info(self, country, name, age, gender):
        print('class:' + country, 'obj:' + name, age, gender)
    def __str__(self):
         return 'this is a object'
    def __add__(self, other):
        return 2

per1 = Person('小明', 22, '男')
per2 = Person('小红', 16, '女')
print(per1.name, per1.age, per1.gender)
print(per2.name, per2.age, per2.gender)
per1.print_info('1班', '小明', 22, '男')
per2.print_info('1班', '小红', 16, '女')
print(per1 + per2)
print(per1.__str__(), '---', per2.__str__())
per1.temp_var = 10

print(per1.temp_var)
小明 22 男
小红 16 女
class:1班 obj:小明 22 男
class:1班 obj:小红 16 女
2
this is a object --- this is a object
10


f.为对象添加一个临时变量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
实例化类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

class A:
   def print_info(self):
      print('print_info A')


class B:
   def print_info(self):
      print('print_info B')

   def say_something(self):
      print('say_something B')


class C:
   def say_something(self):
      print('say_something C')


class D:
   def print_info(self):
      print('print_info D')

   def say_something(self):
      print('say_something D')


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

   def say_something(self):
      super(B, E).say_something(self)
      super(C, E).print_info(self)
      super(C, E).say_something(self)

   pass


obj_E = E()
obj_E.print_info()
obj_E.say_something()



print_info B
say_something C
print_info D
say_something D


3.定义一个父类:


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

class Person:

   def __init__(self):
      self._name = '小明' 
      self.age = 0
      self.__gender = "1"  

   def get_info(self):
      print("get_info")

   def _get_score(self):
      print("get_score")

   def __get_url(self):
      print("get_url")
   pass
class Student(Person):
   def __get_url(self):
      print("Student Get Url")
   pass
sto = Student()
print(sto._name)
print(sto._Person__gender)
sto._Student__get_url()
sto._Person__get_url()

小明
1
Student Get Url
get_url

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值