从零开始的python学习生活2
接上封装
class Phone:__volt=0.5def __keepsinglecore(self):print("让cpu以单核运行")def if5G(self):if self.__volt>=1:print("5G通话已开启")else:self.__keepsinglecore()print("电量不足,无法使用5G通话,已经设置为单核运行来省电")phone=Phone()
phone.if5G()
私有的成员变量和方法我们外部是无法使用的,但是内部的其他成员方法是可以使用的

练习题

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

继承


我们虽然新开发了面部识别功能,但是我们还是会继承之前已经有的功能


class Phone:id=Noneproducer="可是雪"def call_by_4g(self):print("4g通话")class Phone2024(Phone):face_id="10001"def call_by_5g(self):print("2024年新功能,5g通话")phone=Phone2024()
phone.call_by_5g()
phone.call_by_4g()
print(phone.producer)

继承的类的方法和变量都可以用


下面代码里面说了pass
我们这个类已经继承了很多类了,不需要再添加别的东西了,所以我们就可以直接写一个pass
class Phone:id=Noneproducer="可是雪"def call_by_4g(self):print("4g通话")class Phone2024(Phone):face_id="10001"def call_by_5g(self):print("2024年新功能,5g通话")phone=Phone2024()
phone.call_by_5g()
phone.call_by_4g()
print(phone.producer)class NFC:nfc_type="第五代"producer="可是雪"def read_card(self):print("NFC读卡")def write_card(self):print("NFC写卡")class RemoteControl:rc_type="红外遥控"def control(self):print("红外遥控开启了")class MyPhone(Phone2024,NFC,RemoteControl):pass
phone=MyPhone()
phone.call_by_4g()
phone.call_by_5g()
phone.read_card()
phone.write_card()
phone.control()
这里面能很清楚的看见,我们直接继承了Phone2024的,但是我们依旧可以使用phone里面的功能,也就是继承具有连续性

假如里面有多个属性,比如调用producer,class Phone里面也有,类NFC里面也有,此时谁比较靠左边就是谁
复写父类

我继承过来的属性和方法我都不满意,我就直接改
class Phone:id=Noneproducer="可是雪"def call_by_5g(self):print("5g通话")class MyPhone(Phone):producer = "不是雪"def call_by_5g(self):print("开启单核模式,确保省电")print("使用5g网络进行通话")print("关闭单核模式,确保性能")phone=MyPhone()
phone.call_by_5g()
print(phone.producer)

子类把父类覆盖掉
下面:
假如我已经把父类里面的东西复写掉了,但是我还想用父类的某些变量和方法,那么我可以使用下面两种方法

class Phone:id=Noneproducer="可是雪"def call_by_5g(self):print("5g通话")class MyPhone(Phone):producer = "不是雪"def call_by_5g(self):print("开启单核模式,确保省电")# print("使用5g网络进行通话")# 方式一print(f"父类的厂商是{Phone.producer}")Phone.call_by_5g(self)# 方式二print(f"父类的厂商是{super().producer}")super().call_by_5g()print("关闭单核模式,确保性能")phone=MyPhone()
phone.call_by_5g()
print(phone.producer)
应该比较喜欢super方法,方法一忘记传self还会报错
变量的类型注解





import json
import randomvar_1:int=10
var_2:str="hello"
var_3:bool=True
class Student:pass
stu:Student=Student()my_list:list[int]=[1,2,3,4]
my_tuple:tuple[int,str,bool]=(1,"itheima",True)
my_set:set[str,int]={"hahaha",4}
my_dict:dict={"a":1,"b":2}var_1=random.randint(1,10) #type:int
var_2=json.loads({"name":"zhangsan"}) #type:dict[str,str]
没逝,我以后大概率不干这行,这种备注感觉不进公司没啥用
函数和方法类型注解


# 对形参进行类型注解
def add(x:int, y:int):return x + y
# 对返回值进行类型注解
def func(data:list) ->list:return dataprint(func(1))
print(add(1,2))

Union联合类型注解

不是一一对应,只需要把后面出现的类型都列举出来就行
多态


class Animal:def speak(self):pass
class Dog(Animal):def speak(self):print("汪汪汪")
class Cat(Animal):def speak(self):print("喵喵喵")# 用注解
def make_noise(animal:Animal):animal.speak()
# 不用注解
# def make_noise(Animal):
# animal = Animal()
# animal.speak()
dag=Dog()
cat=Cat()
make_noise(cat)
make_noise(dag)



class AC:def cool_wind(self):# 制冷passdef hot_wind(self):# 制热passdef swing_l_r(self):# 左右摆风passclass meidi(AC):def cool_wind(self):print("美的空调制冷")def hot_wind(self):print("美的空调制热")def swing_l_r(self):print("美的空调左右摆风")class geli(AC):def cool_wind(self):print("格力空调制冷")def hot_wind(self):print("格力空调制热")def swing_l_r(self):print("格力空调左右摆风")meidi = meidi()
meidi.cool_wind()
geli = geli()
geli.cool_wind()

类似于我给一个猜想,但是让其他人去做
数据分析综合案例
我有畏难心理,我先害怕了
果然,都明白但是自己就是不会敲,占个位
明儿在写
SQL

相关文章:
从零开始的python学习生活2
接上封装 class Phone:__volt0.5def __keepsinglecore(self):print("让cpu以单核运行")def if5G(self):if self.__volt>1:print("5G通话已开启")else:self.__keepsinglecore()print("电量不足,无法使用5G通话,已经设置为单…...
【并发编程】进程 线程 协程
进程(Process)、线程(Thread)和协程(Coroutine)构成了计算机科学中实现任务并发执行的三种核心抽象机制。通常,为了提高程序的执行效率,开发者会根据应用场景和性能需求,…...
Vue的生命周期函数有哪些?详细说明
Vue.js 的生命周期函数包括以下几个阶段,每个阶段都有相应的钩子函数可以用来在特定时机执行自定义的逻辑。这些生命周期钩子函数使得我们可以在组件的不同阶段进行操作,从而管理组件的状态和行为。 1. beforeCreate: - 描述:…...
大语言模型应用--AI工程化落地
文章目录 大语言模型概述什么是大语言模型什么是机器学习什么是深度学习 理解大语言模型历史沿革关键 AIGC系统AI工程化项目的落地落地的方法Prompt工程(第一阶段)RAG检索(第二阶段)训练特定功能模型(第三阶段…...
我会什么开发技能
java我会什么? 一、并发编程 1、并发编程:jdk中的courren包只能够类实现(seamplore,CountDownLaunch,Pharse,CycliBarrier,CompletableFuture),AQS的原理,线…...
Run LoongArch64 Alpine VM on x86_64
一、Build from source(build on x86_64) Obtain the latest libvirt, virt-manager, and qemu source code, compile and install them. 1.1 Build libvirt from source sudo apt-get update sudo apt-get install augeas-tools bash-completion debhelper-compat dh-apparm…...
4层负载均衡和7层负载均衡
四层负载均衡(Layer 4 Load Balancing)指的是在网络传输层(TCP/IP模型中的第四层)进行负载均衡的技术。四层负载均衡通常使用IP地址、端口号和协议等信息来将网络流量分配到多个服务器上。它主要关心网络层的信息,不涉…...
前端Vue组件化实践:打造仿京东天猫商品属性选择器组件
在前端开发领域,随着业务需求的日益复杂和技术的不断进步,传统的整体式应用开发模式已逐渐显得捉襟见肘。面对日益庞大的系统,每次微小的功能修改或增加都可能导致整个逻辑结构的重构,形成牵一发而动全身的困境。为了解决这一问题…...
智慧城市3d数据可视化系统提升信息汇报的时效和精准度
在信息大爆炸的时代,数据的力量无可估量。而如何将这些数据以直观、高效的方式呈现出来,成为了一个亟待解决的问题。为此,我们推出了全新的3D可视化数据大屏系统,让数据“跃然屏上”,助力您洞察先机,决胜千…...
Git 详解(原理、使用)
git 快速上手请看这篇博客 Git 快速上手 1. 什么是 Git Git 是目前最主流的一个版本控制器,并且是分布式版本控制系统,可以控制电脑上所有格式的文档 版本控制器:记录每次修改以及版本迭代的管理系统 对于文本文件,可以记录每次…...
android11为开机动画添加铃声(语音)
一、碰到的问题 1、第一次开机无铃声 2、开机时铃声和动画不同步,开头的铃声会丢失 3、开机时铃声/动画不能完全播放完 二、解决 以下为添加的patch /开机铃声不同步,语音第一段无声 diff --git a/media/libmediaplayerservice/MediaPlayerService…...
使用 Akshare 下载国内的期货(主力连续)、股票和指数的历史行情数据
本文介绍如何使用 akshare 下载国内期货、股票和指数的历史行情数据。 Akshare 是一个丰富的金融数据查询的 Python 库,提供了大量的金融数据接口。本文将详细介绍如何使用 Akshare 下载期货、股票和指数数据,并提供完整的代码示例,以求大家…...
【React】Google 账号之个性化一键登录按钮功能
“使用 Google 帐号登录”功能可快速管理网站上的用户身份验证。用户登录 Google 账号、表示同意,并安全地与平台共享其个人基础资料信息。 官方文档:链接 一、获取 Google API 客户端 ID 打开 Google API 控制台 中的凭据页面 创建或选择 Google API 项…...
MySQL已经连接对应数据库,但mapper中表名仍报错
如图所示,已经连接对应数据库但还要在其中选择,表多了一个个选会很麻烦 此时找到下图界面 选中对应数据库应用,项目中所有mapper就能找到对应表啦...
CentOS 7:停止更新后如何下载软件?
引言 CentOS 7 是一个广受欢迎的 Linux 发行版,它为企业和开发者提供了一个稳定、安全、且免费的操作系统环境。然而,随着时间的推移,CentOS 7 的官方支持已经进入了维护阶段,这意味着它将不再收到常规的更新和新功能,…...
MySQL GROUP_CONCAT 函数详解与实战应用
提示:在需要将多个值组合成一个列表时,GROUP_CONCAT() 函数为 MySQL 提供了一种强大的方式来处理数据 文章目录 前言什么是 GROUP_CONCAT()基本语法 示例使用 GROUP_CONCAT()去除重复值排序结果 前言 提示:这里可以添加本文要记录的大概内容…...
MATLAB Gazebo联合仿真
准备仿真环境:在Gazebo中设置仿真场景,包括机器人模型、环境布局、传感器和执行器等。编写MATLAB脚本:在MATLAB中编写控制算法和数据处理脚本,用于接收Gazebo中的传感器数据,并生成控制命令。建立通信:通过…...
Vue3 pdf.js将二进制文件流转成pdf预览
好久没写东西,19年之前写过一篇Vue2将pdf二进制文件流转换成pdf文件,如果Vue2换成Vue3了,顺带来一篇文章,pdf.js这个东西用来解决内网pdf预览,是个不错的选择。 首先去pdfjs官网,下载需要的文件 然后将下载…...
【机器学习】逻辑回归的原理、应用与扩展
文章目录 一、逻辑回归概述二、Sigmoid函数与损失函数2.1 Sigmoid函数2.2 损失函数 三、多分类逻辑回归与优化方法3.1 多分类逻辑回归3.2 优化方法 四、特征离散化 一、逻辑回归概述 逻辑回归是一种常用于分类问题的算法。大家熟悉的线性回归一般形式为 Y a X b \mathbf{Y}…...
Ubuntu22.04系统装好后左上角下划线闪烁不开机(N卡)
折腾了半天以为是ubuntu的系统和硬件不匹配, 最后发现的确有点关系, 就是显卡驱动的问题 解决办法: 1. 进入到safty模式下, 然后配好网络环境 2. 移除所有的驱动相关的包, sudo apt-get remove --purge nvidia* 3.…...
如何用MediaCrawler实现7大平台数据采集与追踪:从零到一的完整实战指南
如何用MediaCrawler实现7大平台数据采集与追踪:从零到一的完整实战指南 【免费下载链接】MediaCrawler 小红书笔记 | 评论爬虫、抖音视频 | 评论爬虫、快手视频 | 评论爬虫、B 站视频 | 评论爬虫、微博帖子 | 评论爬虫、百度贴吧帖子 &#x…...
3步掌握StreamCap:开源直播录制工具的终极使用指南
3步掌握StreamCap:开源直播录制工具的终极使用指南 【免费下载链接】StreamCap Multi-Platform Live Stream Automatic Recording Tool | 多平台直播流自动录制客户端 基于FFmpeg 支持监控/定时/转码 项目地址: https://gitcode.com/gh_mirrors/st/StreamCap …...
Word文档怎么导出为图片?Word如何高效转换图片?2026实测转换方法
在日常工作中,我们经常需要将Word文档转换为图片格式。无论是为了方便分享、创建演示内容,还是为了保护文档格式,将Word导出为图片都是一个常见的需求。本文将详细介绍Word文档导出为图片的多种方法,帮助你根据不同场景选择最适合…...
机械工程论文降AI工具免费推荐:2026年机械工程毕业论文降AI知网维普亲测4.8元达标完整指南
机械工程论文降AI工具免费推荐:2026年机械工程毕业论文降AI知网维普亲测4.8元达标完整指南 帮室友处理过机械工程论文降AI,前前后后试了四款工具,最后固定在嘎嘎降AI(www.aigcleaner.com)。 4.8元,达标率…...
Downkyi完全指南:三步掌握B站视频下载的10个高效技巧
Downkyi完全指南:三步掌握B站视频下载的10个高效技巧 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等&#x…...
【2026年华为暑期实习(AI)-5月20日-第二题- LLM 多源语料分级清洗预算分配】(题目+思路+JavaC++Python解析+在线测试)
题目内容 某 L L M LLM LLM 预训练团队从 N N N 个数据源收集语料,每个数据源 i i...
短剧进军韩国:外卡收单+本地钱包,Antom助你打通“付费最后一公里”
韩国短剧市场正以惊人的速度崛起。2024年,韩国短剧市场规模已达4.9亿美元,全球排名第4,预计未来将突破15亿美元。中国出海平台如DramaBox、ShortMax、ReelShort等早已抢先布局,在下载榜和收入榜上占据大半江山。然而,流…...
Android BroadcastReceiver 深度解析:原理、实践与面试指南
引言 在 Android 开发中,BroadcastReceiver 是一个核心组件,用于处理系统级事件或应用内通信。它允许应用程序响应来自系统或其他应用的广播消息,如设备开机、网络状态变化或自定义事件。BroadcastReceiver 基于事件驱动的模型,帮助开发者实现松耦合的架构,提升应用的响应…...
我的MIPS五段流水CPU踩坑实录:从Load-Use Hazard到数据前递的完整调试过程
我的MIPS五段流水CPU踩坑实录:从Load-Use Hazard到数据前递的完整调试过程 1. 当流水线遇上数据冒险:一个FPGA初学者的崩溃瞬间 那是一个凌晨三点,我的Verilog仿真波形图上突然出现了一个诡异的数值——寄存器R9被意外写入了0。作为计算机体系…...
UMI 采集技术落地应用 核数聚助力人形机器人快速迭代
在具身智能从实验室走向产业落地的关键期,数据饥渴已成为行业公认的核心瓶颈。传统真机遥操作采集成本高、效率低、泛化性差,仿真数据又存在物理真实性不足的问题。此时,UMI(Universal Manipulation Interface,通用操作…...
