Python_11 类的方法

这篇具有很好参考价值的文章主要介绍了Python_11 类的方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、查缺补漏

1. 实例方法必须用类实例化对象()来调用,用类来调用时会执行,但是self中不是实例化类地址而是传的字符串

二、类中的方法

1. 实例方法

1. 定义在类里面的普通方法(函数)

2. 第一个参数必须是类实例,在方法调用的时候会自动传递,这个参数名称可以随便定义默认self

3. 类内部:self.方法名称()

4. 类外部:实例.方法名称()

Python_11 类的方法

2. 类方法

1. 定义在类中,通过@classmethod修饰的普通方法就叫类方法

2. 第一个参数为当前类,这个参数的名称可以随便定义默认使用cls定义,但是用self调用

3. 类内部:self.方法名称()

4. 类外部:类.方法名称()  和类实例.方法名称()

Python_11 类的方法

3. 静态方法(不需要传任何参数,自己可以定义参数不用写self参数,其他和类方法一致)

1. 定义在类中,通过@staticmethod修饰的普通方法就叫静态方法

2. 默认无需传任何参数

3. 类内部:self.方法名称()

4. 类外部:类.方法名称()

Python_11 类的方法

4. 私有方法 (私有的函数体)

1. 双下划线开头的方法就叫私有方法

2. 传参无区别和普通方法一致

3. 类内部:self._ _方法名()

4. 类外部:不允许访问,可以强行访问,但是最好不用

5. _函数名,_ _函数名_ _方法和属性,就算不是私有的也不要在外部去访问,可能是开发预留之后要用到的

Python_11 类的方法

5. 总结

1. 实例方法:一般要实现某些功能用实例方法,常用

2. 类方法:类没有初始化方法,也不需要初始化的时候传任何参数进来,只传self,不想去实例化类时候用

3. 静态方法:类没有初始化方法,也不需要初始化的时候传任何参数进来,不用传self,也不用去实例化类

4. 类方法和静态方法的使用一般是在需要运算出结果时但又不需要实例化类时使用

5. 私有方法:在类的内部使用,不希望被外部使用,类里面某些方法的辅助方法,用于封装

三、类的特性:继承、封装、多态   所有类统一都继承的类叫基类object,默认继承

1. 一些概念:

1. 什么继承:子类继承父类,就能直接使用父类的属性和方法(私有属性和方法除外)   继承过来之后就可以访问属性

2. 什么是封装:隐藏实现细节,只对外提供某些功能

3. 什么是多态:还没讲

2. 单继承--自动化不用

1. 写法:class  新函数名(要继承的函数名)

Python_11 类的方法

     2. 初始化子类:初始化之后会自动去调用初始化方法,如果子类没有初始化方法,会去父类找初始化方法去执行

子类有先用子类的,没有用父亲的

Python_11 类的方法

 3. 子类调用自己的方法:子类和父类有同名的方法和属性,优先使用子类自己的方法和属性

子类没有实现某个方法,他会去父类找,找到了就执行父类的方法

查找顺序:调用时先找子类之后找父类

Python_11 类的方法

  4. 子类直接调用父类的方法  super().父类方法名()     子类和父类都有但是想用父类的

查找顺序:图1先查找父类,在执行子类;图2只查找父类,父类中没有的会报错

Python_11 类的方法

普通方法、初始化方法(__init__)有区别在多继承时,单继承无区别

父类名称().__init__()    多继承会导致重复支持父类的初始化方法,单继承也会调用两次

super().__init()    调用父类方法推荐使用

5. 继承的使用场景

1. 拓展父类的功能在父类和子类同名方法时

Python_11 类的方法

    2. 重写父类【父类和子类同名方法】 

Python_11 类的方法

6. 需要使用父类方法,避免重实现

7. 继承之后对父类方法的修改原则

1. 父类已经实现的功能,不要去修改父类的方法【不要做】

2. 如果需要你可以对父类方法进行功能拓展【可以做】文章来源地址https://www.toymoban.com/news/detail-424112.html

到了这里,关于Python_11 类的方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包