一、查缺补漏

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. 如果需要你可以对父类方法进行功能拓展【可以做】

Python_11 类的方法的更多相关文章

  1. Android随笔之——Android时间、日期相关类和方法

    今天要讲的是Android里关于时间.日期相关类和方法.在Android中,跟时间.日期有关的类主要有Time.Calendar.Date三个类.而与日期格式化输出有关的DateFormat和Simp ...

  2. oracle调用JAVA类的方法

    导入jar包 在oracle中导入需要的jar包,我们把编辑好的java类打成jar包,直接在oarcle里面写简单的调用就可以了,  1.操作系统需要拥有支持loadjava命令的jdk.  2.加 ...

  3. C#动态创建和动态使用程序集、类、方法、字段等

    C#动态创建和动态使用程序集.类.方法.字段等 分类:技术交流 (3204)  (3)   首先需要知道动态创建这些类型是使用的一些什么技术呢?其实只要相关动态加载程序集呀,类呀,都是使用反射,那么动 ...

  4. python学习道路(day8note)(抽象类,类的方法,异常处理,socket编程)

    1.#面向对象 #抽象接口 === 抽象类 #就是架构师给你一个架子,你们去写,如果满足不了直接报错 #python2 print("python2---抽象类".center(2 ...

  5. 5.Swift枚举|结构体|类|属性|方法|下标脚本|继承

    1. 枚举: ->在Swift中依然适用整数来标示枚举值,需搭配case关键字 enum  Celebrity{  case DongXie,XiDu,Nandi,BeiGai }  // 从左 ...

  6. RBAC类的方法

    rbac类的 方法 authenticate($map,$model='')方法 传入查询用户的条件和用户表的MODEL 返回数组包含用户的信息 saveAccessList($authId=null ...

  7. java 调用 C# 类库搞定,三步即可,可以调用任何类及方法,很简单,非常爽啊

    java 调用 C# 类库搞定,三步即可,可以调用任何类及方法,很简单,非常爽啊 java 调用 C# 类库搞定,可以调用任何类及方法,很简单,非常爽啊 总体分三步走: 一.准备一个 C# 类库 (d ...

  8. C#可扩展编程之MEF学习笔记(三):导出类的方法和属性

    前面说完了导入和导出的几种方法,如果大家细心的话会注意到前面我们导出的都是类,那么方法和属性能不能导出呢???答案是肯定的,下面就来说下MEF是如何导出方法和属性的. 还是前面的代码,第二篇中已经提供 ...

  9. 深入.net(类及方法)

    .net 的命名规则: 帕斯卡命名法 ----- 多个单词说明,且直接连接,并首字母大写(类名.方法名.属性名....) 骆驼命名法---------多个单词说明,且直接连接,并首字母大写,第一个字母 ...

  10. PHP加载另一个文件类的方法

    加载另一个文件类的方法 当前文件下有a.php 和b.php,想要在class b中引入class a <?php    class a    {        public $name = ' ...

随机推荐

  1. DevExpress 模块注入框架

    参考地址 模块注入框架(MIF)是一组帮助MVVM应用程序的类.它提供以下功能 将ViewModel连接到视图 页面之间导航 保存和恢复应用程序的可视和逻辑状态 单元测试 模块 模块是应用程序的功能单 ...

  2. LeedCode 85. 最大矩形(/)

    原题解 题目 约束 题解 解法一 class Solution { public: int maximalRectangle(vector<vector<char>>& ...

  3. LR12输出+日志

    LR12输出 输出函数:1.lr_log_message() // 输出信息,并记录到 output.txt 中:2.lr_output_message() // 输出信息,不记录到日志文件中:3.l ...

  4. DASCTF NOV X联合出题人-PWN

    太忙了,下午4点才开始做,,剩下的以后补上 签个到 逻辑很简单两个功能的堆,一个就是申请heap.还有一个是检验如果校验通过就会得到flag 申请模块 ​ 中间0x886是个很恶心的东西,需要我们绕过 ...

  5. c# 数组 集合 属性访问 设置

    当只修改数组或者集合的某一个特定值时不会经过CLR属性封装器

  6. 去除Bigdecimal末尾的.00

    String total = new BigDecimal("100.00").stripTrailingZeros().toPlainString();

  7. layui使用OSS上传

    1.首先要把aliyun-oss-sdk.js包下载下来,放到指定的目录下面  在要用的页面引入或者在index.html入口文件全局引入: <script src="util/ali ...

  8. Python3程序捕获Ctrl+C终止信号

    技术背景 对于一些连续运行或者长时间运行的Python程序而言,如服务器的后端,或者是长时间运行的科学计算程序.当我们涉及到一些中途退出的操作时,比如使用Ctrl+C来退出正在运行的程序.这种场景的出 ...

  9. 65.C++的输入流和输出流

    1.流的概念和流类库的结构   程序的输入指的是从输入文件将数据传送给程序,程序的输出指的是从程序将数据传送给输出文件.   C++输入输出包含以下三个方面的内容:   对系统指定的标准设备的输入和输 ...

  10. Python3.10 的开发环境的搭建

    安装 下载 Python3.10 或者其他版本:Download Python | Python.org 如果 Windows 操作系统下载,默认是下载 64 位操作系统的 exe 安装包:pytho ...