Python_11 类的方法

news2024/12/27 1:03:44

一、查缺补漏

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/899968.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RHCE——一、安装部署及例行性工作

RHCE 一、网络服务1、准备工作2、RHEL9操作系统的安装部署3、配置并优化RHEL9操作系统4、网络配置5、修改网络连接 二、例行性工作1、单一执行的例行性工作2、循环执行的例行性工作 三、书写定时任务的注意事项四、系统级别的计划任务五、实验1、实验一:编写脚本tes…

OJ练习第152题——分割回文串 II

分割回文串 II 力扣链接:132. 分割回文串 II 题目描述 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是回文。 返回符合要求的 最少分割次数 。 示例 Java代码 class Solution {public int minCut(String s) {int n s.leng…

python基础5——正则、数据库操作

文章目录 一、数据库编程1.1 connect()函数1.2 命令参数1.3 常用语句 二、正则表达式2.1 匹配方式2.2 字符匹配2.3 数量匹配2.4 边界匹配2.5 分组匹配2.6 贪婪模式&非贪婪模式2.7 标志位 一、数据库编程 可以使用python脚本对数据库进行操作,比如获取数据库数据…

C++系列-引用

引用 引用的基本使用引用的起源引用的语法引用的本质引用的注意事项引用和指针 引用作为函数参数引用作为函数的返回值常量引用其它用返回值方式调用函数(case 1)用函数的返回值初始化引用的方式调用函数(case 2)用返回引用的方式…

No113.精选前端面试题,享受每天的挑战和学习

文章目录 怎样理解 Vue 的单向数据流说下MVVM说下cookieVue 的性能优化Cookie、localStorage 和 sessionStorageVue中的computed属性和watch属性有什么区别? 怎样理解 Vue 的单向数据流 在Vue中,单向数据流是指数据在Vue组件中的传递方向是有限制的&…

使用Vscode调试shell脚本

在vcode中安装bash dug插件 在vcode中添加launch.json配置,默认就好 参考:http://www.rply.cn/news/73966.html 推荐插件: shellman(支持shell,智能提示) shellcheck(shell语法检查) shell-format(shell格式化)

【文化课学习笔记】【化学】金属及其化合物

【化学】必修一:金属及其化合物 钠及其化合物 钠单质 物理性质 颜色:银白色,有金属光泽;密度:\(\mathrm{\rho_{H_2O}>\rho_{Na}>\rho_{煤油}}\)(钠可以在煤油中进行保存);熔点:低于 \(100…

多种方法实现 Nginx 隐藏式跳转(隐式URL,即浏览器 URL 跳转后保持不变)

多种方法实现 Nginx 隐藏式跳转(隐式URL,即浏览器 URL 跳转后保持不变)。 一个新项目,后端使用 PHP 实现,前端不做路由,提供一个模板,由后端路由控制。 Route::get(pages/{name}, [\App\Http\Controllers\ResourceController::class, getResourceVersion])

如何在工作中利用AIGC提质增效?

引言 人工智能技术快速发展,以 ChatGPT 为代表的新的人工智能语言模型的出现与更迭,引发人们极大的兴奋和关注。越来越多的企业开始将 AI 技术应用到生产流程,以提高工作效率和生产力。AIGC(AI Generated Content)是人…

文本生成解码策略 Beam Search, top_k, temperature

一、从Greedy Search到Beam Search Greedy search是指在每个t时刻选择下一个词时,根据 wtargmaxwP(w|w1:t−1)选择概率最高的词。 以上图为例: 从单词“The”开始,算法在选择下一个词时,贪心的选择了概率最高的“nice”&#xf…

2023-8-15 差分

题目链接&#xff1a;差分 #include <iostream>using namespace std;const int N 100010;int n, m; int a[N], b[N];void insert(int l, int r, int c) {b[l] c;b[r 1] - c; }int main() {scanf("%d%d", &n, &m);for(int i 1; i < n; i)scanf…

“鸿蒙”商标被抢先注册,华为上诉失败,鸿蒙系统将被迫改名?

作为我国最著名的手机通讯企业之一&#xff0c;华为凭借着无与伦比的创新设计与可靠实用的用户体验&#xff0c;一度成为了国内最受欢迎的手机品牌。此外&#xff0c;华为手机在海外市场的销量也不遑多让&#xff0c;不仅质量优异&#xff0c;在通讯的稳定性与可靠性上&#xf…

韦东山老师 RTOS 入门课程(一)RTOS 介绍,熟悉裸机的汇编逻辑

韦东山老师 RTOS 入门课程 课程链接&#xff1a;韦东山直播公开课&#xff1a;RTOS实战项目之实现多任务系统 第1节&#xff1a;裸机程序框架和缺陷_哔哩哔哩_bilibili RTOS 介绍 裸机&#xff1a;固定顺序执行。 中断&#xff1a;可以一直专心做循环里的事情&#xff0c;直…

林【2017】

一、判断 二、单选 三、填空 四、应用 五、算法设计

C++笔记之左值与右值、右值引用

C笔记之左值与右值、右值引用 code review! 文章目录 C笔记之左值与右值、右值引用1.左值与右值2.右值引用——关于int&& r 10;3.右值引用——对比int&& r 10;和int& r 10;4.右值引用&#xff08;rvalue reference&#xff09;的概念 1.左值与右值 2.…

Jmeter 分布式性能测试避坑指南

在做后端服务器性能测试中&#xff0c;我们会经常听到分布式。那你&#xff0c;是否了解分布式呢&#xff1f;今天&#xff0c;我们就来给大家讲讲&#xff0c;在企业实战中&#xff0c;如何使用分布式进行性能测试&#xff0c;实战过程中&#xff0c;又有哪些地方要特别注意&a…

stm32单片机开关输入控制蜂鸣器参考代码(附PROTEUS电路图)

说明&#xff1a;这个buzzer的额定电压需要改为3V&#xff0c;否则不会叫&#xff0c;源代码几乎是完全一样的 //gpio.c文件 /* USER CODE BEGIN Header */ /********************************************************************************* file gpio.c* brief Thi…

【Azure API 管理】APIM如何实现对部分固定IP进行访问次数限制呢?如60秒10次请求

问题描述 使用Azure API Management, 想对一些固定的IP地址进行访问次数的限制&#xff0c;如被限制的IP地址一分钟可以访问10次&#xff0c;而不被限制的IP地址则可以无限访问&#xff1f; ChatGPT 解答 最近ChatGPT爆火&#xff0c;所以也把这个问题让ChatGPT来解答&#x…

Python可视化在量化交易中的应用(14)_Seaborn散点图

Seaborn中带回归线的散点图的绘制方法 seaborn中绘制散点图使用的是sns.scatterplot()函数&#xff1a; sns.scatterplot(x,y,hue,style,size,data,palette,hue_order,hue_norm,sizes,size_order,size_norm,markers,style_order,x_bins,y_bins,units,estimator,ci95,n_boot100…

wazuh部署

文章目录 1.ova文件获取2.VMware导入ova文件3.wazuh目录文件4.wazuh解析原理 1.ova文件获取 访问官网 https://wazuh.com/依次点击红色标注将文件下载到本地 2.VMware导入ova文件 直接打开下载到本地的ova文件 设置导入的位置和名称 初始密码账户为wazuh-user:wazuh …