Python面向对象程序设计总结

一、总结
在这里插入图片描述
图1 Python类主要内容思维导图

二、补充说明

1、类只负责刻画,不负责执行

类是显示生活的一种刻画,是一种将现实抽象之后形成的模板,以构造对象的方式具体去实现类的模

2、构造函数__init__只能返回NoneType类型的内容,否则会报错

3、我们以点运算符调用对象的变量的时候,系统会先检查对象是否有该名称的变量,如若没有则检

查该对象所属类是否有该变量,再没有则检查该类的父类是否有,流程示意图为:对象—>类—>父类

4、"对象.dict"以字典的形式告诉我们对象的实例变量有哪些

5、"类.dict"以字典的形式告诉我们类所拥有的类变量以及实例方法、类方法及静态方法等

6、怎么在实例方法中调用类变量?self.class.class_variables

7、Python通过在变量与方法的前面添加双下划线实现其私有化,这种私有化是通过修改其名称实现

的,如果我们在名称后面也添加双下划线,类似于__init__,将无法实现私有化。

8、怎么将参数从子类传向父类并进行__init__赋值?
例:Human为父类,Student为子类

子类中:

    def __init__(self,school,name,age):
    	self.school = school
    	# Human.__init__(**self**, name, age), 父类调用实例方法要将对象传过去
    	super(Student, self).__init__(name, age)

父类中:
def init(self, name, age):
self.name = name
self.age = age

9、在导入多个模块时,先写标准库模块的导入,再空一行写你自己编写的模块的导入,这样方便我

们在导入大量模块的时候认清楚各个模块的来源

10、类的实例
实例:

   class Restuarant():
        '''饭馆类'''
    
            name = ''
            number_served = 0
        
            def __init__(self, restaurant_name, cuisine_type, number_served=0):
                self.__restaurant_name = restaurant_name
                self.cuisine_type = cuisine_type
                self.number_served = number_served
        
            def describe_restaurant(self):
                print("The restaurant' name is " + self.__restaurant_name.title())
                print("Our cuisine_type is " + self.cuisine_type.title())
        
            def __open_restaurant(self):
                print("The restaurant is opening now!")
        
            @staticmethod
            def increment_number(cls):
                cls.number_served += 1
                print("类方法")
        
        print(Restuarant.__dict__)
        restuarant1 = Restuarant("Name1", "Chinese")
        restuarant2 = Restuarant("Name2", "English", 2)
        restuarant3 = Restuarant("Name3", "Spanish", 3)
        print(restuarant1.number_served)
        restuarant1.__init__("Name3", "Spanish", 3)
        restuarant1.describe_restaurant()
        restuarant1.__restaurant_name = "XX"
        print(restuarant1.__restaurant_name)
  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三只佩奇不结义

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值