python[6]

news2024/9/23 11:55:13

类和对象

面向对象编程–说白就是让对象干活
创建类: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-----可视化开发

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

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

相关文章

高级RAG:揭秘PDF解析

原文地址:https://pub.towardsai.net/advanced-rag-02-unveiling-pdf-parsing-b84ae866344e 2024 年 2 月 3 日 附加内容:揭秘PDF解析:如何从科学pdf论文中提取公式 对于RAG,从文档中提取信息是一个不可避免的场景。确保从源头…

python:读 Freeplane.mm文件,使用 xml.etree 生成测试案例.csv文件

Freeplane 是一款基于 Java 开源软件,继承 Freemind 的思维导图工具软件,它扩展了知识管理功能。 读取 Freeplane.mm文件,使用 xml.etree 生成测试案例.csv文件 编写 fpmm_etree_csv.py 如下 #-*- coding: UTF-8 -*- """ …

AWS安全组是什么?有什么用?

最近看到小伙伴在问,AWS安全组是什么?有什么用?今天我们大家就来简单聊聊,仅供参考哦! AWS安全组是什么?有什么用? 【回答】:AWS安全组是一种虚拟防火墙,用于控制进出…

Spring Security学习(七)——父子AuthenticationManager(ProviderManager)

前言 《Spring Security学习(六)——配置多个Provider》有个很奇怪的现象,如果我们不添加DaoAuthenticationProvider到HttpSecurity中,似乎也能够达到类似的效果。那我们为什么要多此一举呢?从文章的效果来看确实是多…

2024年 Openai的API相关全部概论汇总(通用版)

2024年 Openai的API相关全部概论汇总(通用版) 文章目录 2024年 Openai的API相关全部概论汇总(通用版)一、前言1、python快速开始 二、Openai 平台以及相关项目1、Openai的API管理平台2、ChatGPT项目推荐(1)…

ONLYOFFICE桌⾯应⽤程序v8.0:功能丰富,⽀持多平台

文章目录 可填写的 PDF 表单RTL支持电子表格中的新增功能其他改进和新增功能与 Moodle 集成用密码保护 PDF 文件快速创建文档本地界面主题总结 继 ONLYOFFICE 文档 v8.0 的发布后,很高兴,因为适用于 Linux、Windows 和 macOS 的 ONLYOFFICE 桌面应用程序…

ZYNQ W25Q256FVEI flash启动烧写系统

烧写ZYNQ petalinux从flash启动,W25Q256FVEI是FLASH型号,发现BOO.BIN能启动,报错: Wrong Image Format for bootm command ERROR: cant get kernel image! 其中烧写配置image.ub偏移地址的时候,image.ub.bin偏移地址…

- 工程实践 - 《QPS百万级的有状态服务实践》05 - 持久化存储

本文属于专栏《构建工业级QPS百万级服务》 继续上篇《QPS百万级的有状态服务实践》04 - 服务一致性。目前我们的系统如图1。现在我们虽然已经尽量把相同用户的请求转发到相同的机器,并且在客户端做了适配。但是因为成本,更极端的情况下,服务依…

【Ubuntu】使用WSL安装Ubuntu

WSL 适用于 Linux 的 Windows 子系统 (WSL) 是 Windows 的一项功能,可用于在 Windows 计算机上运行 Linux 环境,而无需单独的虚拟机或双引导。 WSL 旨在为希望同时使用 Windows 和 Linux 的开发人员提供无缝高效的体验。安装 Linux 发行版时&#xff0c…

猫头虎分享已解决Bug || Error: Target container is not a DOM element (React) ‍

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

Kafka入门二——SpringBoot连接Kafka示例

实现 1.引入maven依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache…

Sqli-labs靶场第8关详解[Sqli-labs-less-8]

Sqli-labs-Less-8 前言&#xff1a; SQL注入的三个条件&#xff1a; ①参数可控&#xff1b;&#xff08;从参数输入就知道参数可控&#xff09; ②参数过滤不彻底导致恶意代码被执行&#xff1b;&#xff08;需要在测试过程中判断&#xff09; ③参数带入数据库执行。&#…

从源码学习单例模式

单例模式 单例模式是一种设计模式&#xff0c;常用于确保一个类只有一个实例&#xff0c;并提供一个全局访问点。这意味着无论在程序的哪个地方&#xff0c;只能创建一个该类的实例&#xff0c;而不会出现多个相同实例的情况。 在单例模式中&#xff0c;常用的实现方式包括懒汉…

Spring Boot与HikariCP:性能卓越的数据库连接池

点击下载《Spring Boot与HikariCP&#xff1a;性能卓越的数据库连接池》 1. 前言 本文将详细介绍Spring Boot中如何使用HikariCP作为数据库连接池&#xff0c;包括其工作原理、优势分析、配置步骤以及代码示例。通过本文&#xff0c;读者将能够轻松集成HikariCP到Spring Boot…

深度学习中数据的转换

原始&#xff08;文本、音频、图像、视频、传感器等&#xff09;数据被转化成结构化且适合机器学习算法或深度学习模型使用的格式。 原始数据转化为结构化且适合机器学习和深度学习模型使用的格式&#xff0c;通常需要经历以下类型的预处理和转换&#xff1a; 文本数据&#xf…

Java语言实现五子棋

目录 内容 题目 解题 代码 实现 内容 题目 五子棋 使用二维数组,实现五子棋功能. 1.使用二维数组存储五子棋棋盘 如下图 2.在控制台通过Scanner输入黑白棋坐标(例如:1,2 2,1格式 表示二维数组坐标),使用实心五角星和空心五角星表示黑白棋子. 如下图: 输入后重新输出…

Redis信创平替之TongRDS(东方通),麒麟系统安装步骤

我的系统: 银河麒麟桌面系统V10(SP1)兆芯版 1.先进入东方通申请使用 2.客服会发送一个TongRDS包与center.lic给你(我这里只拿到.tar.gz文件,没有网上的什么安装版) 3.上传全部文件到目录中 4.服务节点安装,并启动 tar -zxvf TongRDS-2.2.1.2_P3.Node.tar.gz cd pmemdb/bin/…

chatGPT 使用随想

一年前 chatGPT 刚出的时候&#xff0c;我就火速注册试用了。 因为自己就是 AI 行业的&#xff0c;所以想看看国际上最牛的 AI 到底发展到什么程度了. 自从一年前 chatGPT 火出圈之后&#xff0c;国际上的 AI 就一直被 OpenAI 这家公司引领潮流&#xff0c;一直到现在&#x…

探讨javascript中运算符优先级

如果阅读有疑问的话&#xff0c;欢迎评论或私信&#xff01;&#xff01; 本人会很热心的阐述自己的想法&#xff01;谢谢&#xff01;&#xff01;&#xff01; 文章目录 深入理解JavaScript运算符优先级运算符优先级概述示例演示示例1&#xff1a;加法和乘法运算符的优先级示…

VBA即用型代码手册:立即保护所有工作表Code及插入多工作表Code

我给VBA下的定义&#xff1a;VBA是个人小型自动化处理的有效工具。可以大大提高自己的劳动效率&#xff0c;而且可以提高数据的准确性。我这里专注VBA,将我多年的经验汇集在VBA系列九套教程中。 作为我的学员要利用我的积木编程思想&#xff0c;积木编程最重要的是积木如何搭建…