码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Python_11 类的方法


    合集 - python(19)
    1.Python_1 安装python和pycharm2021-06-282.Python_2 运算符2021-06-283.Python_3 字符串常用方法、字符串格式化和列表2021-06-304.Python_4 列表和元组2021-07-095.Python_5 字典、深浅拷贝2021-07-096.python_7 退出、结束循环和嵌套循环04-227.python_8 拆包、内置函数和高阶函数04-228.python_6 关于集合set、数据类型转换等2022-10-139.Python_9 py文件导入和路径处理04-2310.Python_10 debug、类和对象04-23
    11.Python_11 类的方法04-24
    12.Python_12 多继承与多态04-2413.Python_13 接口测试openpyxl和表操作04-2614.Python_14 接口测试报告04-2715.Python_15 ddt驱动与日志05-0216.Python_16 配置文件与封装05-0317.Python_17 OSI模型和HTTP协议05-0418.Python_17 session、cookie 鉴权05-0819.Python_18 unittest和随机数05-10
    收起

    一、查缺补漏

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

    二、类中的方法

    1. 实例方法

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

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

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

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

    2. 类方法

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

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

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

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

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

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

    2. 默认无需传任何参数

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

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

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

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

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

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

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

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

    5. 总结

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

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

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

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

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

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

    1. 一些概念:

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

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

    3. 什么是多态:还没讲

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

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

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

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

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

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

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

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

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

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

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

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

    5. 继承的使用场景

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

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

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

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

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

    2. 如果需要你可以对父类方法进行功能拓展【可以做】

  • 相关阅读:
    美创科技三重数据安全韧性,杜绝删库跑路
    【Auth Proxy】为你的 Web 服务上把锁
    2.1 OrCAD软件中怎么新建库文件?【OrCAD原理图封装库50问解析】
    盘点 JavaScript 中类的继承
    Python:实现bogo sort排序算法(附完整源码)
    可删除背包(计数类)=>转移数组进行展开:ABC321F
    微信小程序直传腾讯云COS并对图片持久化文字水印案例
    rk3588编译lunch出错
    DOM之事件对象
    现代 CSS 解决方案:原生嵌套(Nesting)
  • 原文地址:https://www.cnblogs.com/Alisa-sweet/p/17351158.html
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号