python[6]

类和对象

面向对象编程–说白就是让对象干活
创建类:class 类名:
创建类对象 对象名 = 类名()

构造方法

1、构造方法的名称是__init__
2、构造方法的作用?
构建类对象的时候会自动运行
构建类对象的传参会传递给构造方法,借此特性可以给成员变量赋值
3、注意事项
构造方法不要忘记self关键字
在方法内使用成员变量需要使用self关键字

魔术方法

在创建对象时,自动调用魔术方法函数。
在这里插入图片描述

06封装

1、封装的概念是?
将现实世界事物在类中描述为属性和方法,极为封装。
2、什么是私有成员?为什么需要私有成员?
现实事物有部分属性和行为是不公开对使用者开放的,同样在类中描述属性和方法的时候也需要达到这个要求,就需要定义私有成员了。
3、如何定义私有成员
私有成员包括 :私有成员变量、私有成员方法
私有成员变量定义方式:变量名以__开头(2个下划线)
私有成员方法定义方式:方法名以__开头(2个下划线) 即可完成私有成员的设置
4、私有成员的访问限制?
类对象无法访问私有成员
类中的其他成员可以访问私有成员
5、私有成员有什么实际意义吗?
在类中提供仅供内部使用的属性和方法,而不对外开放(类对象无法使用)

class Phone:
    __current_voltage = 1

    def __keep_single_core(self):
        print("让CPU以单核模式运行")

    def call_by_5g(self):
        if self.__current_voltage >= 1:
            print(" 5g通话已开启")
        else:
            print("5g通话未开启")

phone1 = Phone()
phone1.call_by_5g()

封装的课后练习题讲解

在这里插入图片描述

class Phone:
    __is_5g_enable = False

    def __check_5g(self):
        if(self.__is_5g_enable):
            print("5g开启")
        else:
            print("5g关闭,使用4g网络")
    def call_by_5g(self):
        self.__check_5g()
        print("正在通话中")

phone1 = Phone()
phone1.call_by_5g()
---------------------------------------------------------
5g关闭,使用4g网络
正在通话中

继承的基础语法

1、什么是继承
继承就是一个类、继承另外一个类的成员变量和成员方法
语法:
class 子类(父类,父类,…,父类):
类内容体
子类构建的类对象可以有自己的成员变量和成员方法,也可以使用父类的成员变量和成员方法
2、单继承和多继承
单继承:一个子类继承了一个父类
多继承:一个子类继承了多个父类
同名优先级是按照左边的先来,谁先继承,谁的优先级最高
3、pass关键字的作用是什么?
pass是占位语句,用来保证函数(方法)或类定义的完整性,表示无内容,空的意思

class Phone:
    IMEI = "apple"
    producer = "Itcast"

    def call_by_5g(self):
        print("5g通话")
class NFCReader:
    nfc_type = "第五代"
    producer = "HM"

    def read_card(self):
        print("读取NFC卡")
    def write_card(self):
        print("写入NFC卡")

class RemoteControl:
    rc_type = "红外遥控"

    def control(self):
        print("红外遥控开启")

class MyPhone(Phone,NFCReader,RemoteControl):
    pass

my1 = MyPhone()
my1.call_by_5g()
my1.read_card()
my1.write_card()
my1.control()
print(my1.producer)

复写父类成员和调用父类成员

1、复写表示
对父类的成员属性和成员方法进行重新定义
2、复写的语法:
在子类中重新实现同名成员方法或成员属性即可
3、在子类中,如何调用父类成员
方式1:
父类名.成员变量
父类名.成员方法(self)
方式2:使用super( )调用父类成员,
super( ).成员变量
super( ).成员方法( )
注意:只可以在子类内部调用父类的同名成员,子类的实体类对象调用的话默认是调用子类复写的。

变量的类型注解

1、类型注解的语法:变量:类型
在这里插入图片描述
2、类型注解可以帮助Pycharm等开发工具对代码做类型推断协助做代码提示
3、类型注解支持:变量的类型注解,函数的形参和返回值的类型注解

函数和方法类型注解

1、函数(方法)可以为哪里添加注解?
形参的类型注解
返回值的类型注解
2、函数(方法)的类型注解语法?
def 函数名(形参:类型,… ,形参:类型) - > 返回值类型:
pass
返回值类型注解的符号使用:- >

Union联合类型注解

1、什么是Union类型
使用Union可以定义联合类型注解
2、Union的使用方式
导包:from typing import Union
使用:Union[类型1,类型2,类型n]

多态

1、什么是多态?
多态指的是同一个行为,使用不同的对象获得的不同的状态
如:定义函数,通过类型注解声明需要父类对象,实际传入子类对象进行工作,从而获得不同的工作状态。
2、什么是抽象类(接口)
包含抽象方法的类,称为抽象类。抽象方法是指没有具体实现的方法(pass)
3、抽象类的作用
用于做顶层设计(设计标准 ),以便子类做具体实现
也是对子类的一种软性约束,要求子类必须复写(实现)父类的一些方法
并且配合多态去使用, 就可以获得不同的工作状态

class AC:
    def cool_wind(self):
        """制冷"""
        pass
    def hot_wind(self):
        """制热"""
        pass
    def swing_l_r(self):
        """左右摆风"""
        pass

class Midea_AC(AC):
    def cool_wind(self):
        print("美的空调制冷")
    def hot_wind(self):
        print("美的空调制热")
    def swing_l_r(self):
        print("美的空调左右摆风")

my_mideal = Midea_AC()
my_mideal.hot_wind()
my_mideal.swing_l_r()
my_mideal.cool_wind()

数据分析案例步骤1----文件读取

在这里插入图片描述

数据分析案例步骤2-----数据计算

数据分析案例步骤3-----可视化开发

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【算法与数据结构】链表、哈希表、栈和队列、二叉树(笔记二)

文章目录 四、链表理论五、哈希表理论五、栈和队列理论5.1 单调栈 六、二叉树理论6.1 树的定义6.2 二叉树的存储方式6.3 二叉树的遍历方式6.4 高度和深度 最近博主学习了算法与数据结构的一些视频,在这个文章做一些笔记和心得,本篇文章就写了一些基础算法…

普中51单片机学习(红外通信)

红外通信 红外线系统的组成 外线遥控器已被广泛使用在各种类型的家电产品上,它的出现给使用电器提供了很多的便利。红外线系统一般由红外发射装置和红外接收设备两大部分组成。红外发射装置又可由键盘电路、红外编码芯片、电源和红外发射电路组成。红外接收设备可由…

C++的stack容器->基本概念、常见接口

#include<iostream> using namespace std; #include <stack> //栈stack容器常用接口 void test01() { //创建栈容器 栈容器必须符合先进后出 stack<int> s; //向栈中添加元素&#xff0c;叫做 压栈 入栈 s.push(10); s.push(20); s…

Windows+Yolo3-darknet训练自己数据集并测试

WindowsYolo3-darknet训练自己的数据集并测试 一、首要条件 Windows 7下配置好VS2015OPENCV3.4.2YOLO3CUDA10.0CUDNN7.5生成darknet.exe。具体配置可参考我的博客&#xff1a;https://blog.csdn.net/wszswllnzn_/article/details/100760477 二.制作数据集 1、方法1 使用软件la…

flutter插件开发基础教程

前言 虽然现在已经有很多插件了&#xff0c;但是有时候还是需要自己开发一个插件。因此打算学习一下如何开发一个插件。这里只考虑安卓&#xff0c;安卓使用kotlin&#xff0c;kotlin不会也没事&#xff0c;我也不会。 参考项目&#xff1a;https://github.com/TBoyLi/flutte…

nrm 镜像源管理工具

1、什么是nrm nrm(npm registry manager )是npm的镜像源管理工具。它可以快速在让你在本地源之间切换。 2、安装 npm install -g nrm 3、查看本地源&#xff08;nrm ls&#xff09; 4、切换 &#xff08;nrm use ***&#xff09; 5 、测试速度&#xff08;nrm test ***&…

spring注解驱动系列--Bean生命周期一

一、Bean生命周期 bean创建--- BeanPostProcessor.postProcessorsBeforeInitialization---初始化----BeanPostProcessor.postProcessAfterInitialization ----销毁的过程 二、管理Bean生命周期 在Bean的生命周期中&#xff0c;我们可以认为的进行干预Bean的创建到销毁的过程&…

石头剪刀布游戏(C语言)

题目描述 石头剪刀布游戏有 3 种出拳形状&#xff1a;石头、剪刀、布。分别用字母 A , B , C 表示。 游戏规则: 出拳形状之间的胜负规则如下&#xff1a; A > B&#xff1b;B > C&#xff1b;C > A&#xff1b;">"左边一个字母&#xff0c;表示相对优…

ElasticSearch之聚合aggs

写在前面 本文看下es的聚合相关内容。 1&#xff1a;什么是聚合 即&#xff0c;数据的统计分析。如sum&#xff0c;count&#xff0c;avg&#xff0c;min&#xff0c;max&#xff0c;分组等。 2&#xff1a;支持哪些聚合类型 2.1&#xff1a;bucket aggregation 对满足特…

抖音数据挖掘软件|视频内容提取

针对用户获取抖音视频的需求&#xff0c;我们开发了一款功能强大的工具&#xff0c;旨在解决用户在获取抖音视频时需要逐个复制链接、下载的繁琐问题。我们希望用户能够通过简单的关键词搜索&#xff0c;实现自动批量抓取视频&#xff0c;并根据需要进行选择性批量下载。因此&a…

Echarts与后台(mongoose)交互

Echarts引入地址可参考 echarts组件引入 <template><div><div id"main" style"width: 600px;height:400px;"></div></div> </template><script setup> import { onMounted, ref } from vue; import * as echa…

挑战杯 基于卷积神经网络的乳腺癌分类 深度学习 医学图像

文章目录 1 前言2 前言3 数据集3.1 良性样本3.2 病变样本 4 开发环境5 代码实现5.1 实现流程5.2 部分代码实现5.2.1 导入库5.2.2 图像加载5.2.3 标记5.2.4 分组5.2.5 构建模型训练 6 分析指标6.1 精度&#xff0c;召回率和F1度量6.2 混淆矩阵 7 结果和结论8 最后 1 前言 &…

数字滚动实现

介绍 vue-countup-v3 插件是一个基于 Vue3 的数字动画插件&#xff0c;用于在网站或应用程序中创建带有数字动画效果的计数器。通过该插件&#xff0c;我们可以轻松地实现数字的递增或递减动画&#xff0c;并自定义其样式和动画效果。该插件可以用于许多场景&#xff0c;例如展…

nginx 配置文件详细介绍

一&#xff0c; nginx 配置文件架构 上一篇 已对 main 全局配置做了详细介绍 本章对剩下的配置文件部分做介绍 二&#xff0c;event 设置 &#xff08;一&#xff09;event 相关的配置文件为 配置工作模式以及连接数 &#xff08;二&#xff09;具体表现 1&#xff…

抖音数据抓取工具|视频内容提取软件

引言部分&#xff1a; 介绍针对抖音视频下载需求开发的强大工具突出解决用户获取抖音视频繁琐问题的初衷 工具功能介绍&#xff1a; 详细描述工具功能&#xff0c;包括关键词搜索、自动批量抓取、选择性批量下载等提及基于C#开发的优势以及支持通过分享链接进行单个视频抓取…

k8s的svc流量通过iptables和ipvs转发到pod的流程解析

文章目录 1. k8s的svc流量转发1.1 service 说明1.2 endpoints说明1.3 pod 说明1.4 svc流量转发的主要工作 2. iptables规则解析2.1 svc涉及的iptables链流程说明2.2 svc涉及的iptables规则实例2.2.1 KUBE-SERVICES规则链2.2.2 KUBE-SVC-EFPSQH5654KMWHJ5规则链2.2.3 KUBE-SEP-L…

axios是如何实现的(源码解析)

1 axios的实例与请求流程 在阅读源码之前&#xff0c;先大概了解一下axios实例的属性和请求整体流程&#xff0c;带着这些概念&#xff0c;阅读源码可以轻松不少&#xff01; 下图是axios实例属性的简图。 可以看到axios的实例上&#xff0c;其实主要就这三个东西&#xff1a…

自定义悬浮气泡组件

一.常用悬浮气泡展示 在一个项目中&#xff0c;常常会使用点悬浮展示&#xff0c;而市面上悬浮tooltip的组件非常多 例如常用的antd提供的Tooltip 用法如下&#xff08;来自于官方文档示例&#xff09;&#xff1a; import React from react; import { Button, Tooltip, Con…

129 Linux 系统编程7 ,make 的编写和解析

前文中&#xff0c;我们有多少个.c文件&#xff0c;就需要build 出来多少个.o文件 假设我们的项目很大&#xff0c;怎么管理这些 .c文件呢&#xff1f; 这里就要学习一个make文件的编写了。 makefile 本质上是一个脚本语言 脚本语言实际上就是将一系列命令放在一起执行 mak…

服务器被黑该如何查找入侵痕迹以及如何防御攻击

当公司的网站服务器被黑&#xff0c;被入侵导致整个网站&#xff0c;以及业务系统瘫痪&#xff0c;给企业带来的损失无法估量&#xff0c;但是当发生服务器被攻击的情况&#xff0c;作为服务器的维护人员应当在第一时间做好安全响应&#xff0c;对服务器以及网站应以最快的时间…