Python中类Class的理解

       说明Class之前,先写一个Python中Class的代码:

       为了便于理解,首先定义三个类:OldMan 、 YoungMan 、Lawyer,其中Lawyer“多继承”前两个类。大概就是律师处理爸爸留给儿子的财产。

       Class中的属性分为:基本属性和私有属性,顾名思义,私有属性只能在当前类被使用,不能被其他类引用。比如OldMan中的名字和年龄__name __age,这是私有的,所以定义为私有属性(两个下划线),钱和车子则可以被继承,定为基本属性。

       Class中的方法(也就是函数)分为:基本方法和私有方法,如律师中的__init__(self,name,age,unuseless)仅能在Lawyer类中使用。此外,__init__()是十分特殊的方法,当Class被调用时,它也会自动被调用。一般用来给Class做初始化作用。

       Class中的方法(也就是函数),在Class内部一定要写self(实例名),因为Class直接指向内存,故一定要有实例名。在Class外部,对方法进行引用时,无需self。另外,对于方法中的参数,用多少就要写多少,可以多写(如Lawyer.__init__中的unseless参数,只是输入了,但是没有被使用)。

       引用Class类时,输入的参数严格按照__init__中定义的参数来,比如a = Lawyer('太子',20,'45')。至于Lawyer方法中其它需要的参数,在引用该方法时再添加,如Lawyer.imformation('没什么用')。

***:Class引用时,可以直接改变其它Class中基本属性的值,如程序运行结果可见,YoungMan.money和YoungMan.cars,经过Lawyer.distribute之后,值被改变了。

#定义“爸爸类”
class OldMan:
    __name = '皇帝'
    __age = 90
    money = 1000000000
    cars = '林肯加长版'
    def imformation(self):
        print('被继承者(爸爸)的信息:')
        print('姓名:{}   ,   年龄:{}   ,   钱:{}  ,  车子:{}'.format(self.__name,self.__age,self.money,self.cars))
#定义“儿子类”
class YoungMan:
    __name = '太子'
    __age = 20
    money = 0
    cars = '自行车'
    def imformation(self):
        print('继承者(儿子)的信息:')
        print('姓名:{}   ,   年龄:{}   ,   钱:{}  ,  车子:{}'.format(self.__name,self.__age,self.money,self.cars))
#定义一个“律师类”:
class Lawyer(OldMan,YoungMan):
#律师要给他们分配财产,就要先继承OldMan和YoungMan的信息(财产)
    cars = []
    money = 0
    def __init__(self,name,age,unuseless):          
        OldMan.__init__(self)
        YoungMan.__init__(self)
        self.name = '太子'
        self.age = '20'
    def imformation(self,test):
        OldMan.imformation(self)
        YoungMan.imformation(self)
    def distribute(self):
        YoungMan.cars = [YoungMan.cars]
        YoungMan.cars.append(OldMan.cars)
        self.cars = YoungMan.cars
        self.money = OldMan.money+YoungMan.money
        print('继承财产之后:')
        print('姓名:{}   ,   年龄:{}   ,   钱:{}  ,  车子:{}'.format(self.name,self.age,self.money,self.cars))
        YoungMan.imformation(self)

a = Lawyer('太子',20,'45')
a.imformation('没什么用')
a.distribute()
b = YoungMan()
b.imformation()

结果:

被继承者(爸爸)的信息:
姓名:皇帝   ,   年龄:90   ,   钱:0  ,  车子:[]
继承者(儿子)的信息:
姓名:太子   ,   年龄:20   ,   钱:0  ,  车子:[]
继承财产之后:
姓名:太子   ,   年龄:20   ,   钱:1000000000  ,  车子:['自行车', '林肯加长版']
继承者(儿子)的信息:
姓名:太子   ,   年龄:20   ,   钱:1000000000  ,  车子:['自行车', '林肯加长版']
继承者(儿子)的信息:
姓名:太子   ,   年龄:20   ,   钱:0  ,  车子:['自行车', '林肯加长版']

  我觉得,目前掌握到这种程度,对于一些简单的面向对象编程,够用了,其它的日后深入

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中,class是定义的关键字。是一种自定义的数据型,用于创建对象。通过定义,我们可以创建具有特定属性和方法的对象。定义了对象的行为和状态,可以理解为对象的模板。 引用提到了Python中关于的初步内容,包括的属性和方法等。的属性是定义在中的变量,可以通过名访问,不需要创建对象。而的方法是定义在中的函数,可以通过对象或者名调用。 引用介绍了方法,在方法中,至少要接受一个形参cls,但调用时不需要为cls传递值。方法可以访问属性,即在中直接定义的变量。 总结来说,Python中的class关键字用于定义可以有属性和方法。属性可以是属性或实例属性,方法可以是实例方法或方法。是创建对象的模板,通过可以创建具有特定属性和方法的对象。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【PythonPython入门第五课——Class)初步](https://blog.csdn.net/GalaxyerKw/article/details/117198771)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值