从零开始的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

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用F1C200S从零制作掌机之debian文件系统完善NES

一、模拟器源码 源码:https://files.cnblogs.com/files/twzy/arm-NES-linux-master.zip 二、文件系统 文件系统:debian bullseye 使用builtroot2018构建的文件系统,使用InfoNES模拟器存在bug,搞不定,所以放弃&…

[Qt] Qt Creator中,新建QT文件时选择界面模版下的各选项

在Qt Creator中,新建文件时选择界面模版下的各选项具有特定的意义,这些选项主要帮助开发者根据项目需求快速生成不同类型的文件。以下是对这些选项的详细解释: 0. Qt Item Model 意义:列表模型是Qt中用于表示和操作数据的强大抽…

Spring Boot:连接MySQL错误Public Key Retrieval is not allowed

环境: MySQL版本:8.0.17 SpringBoot版本:2.5.15 解决 解决方式很简单,在数据库配置连接字符串spring.datasource.url末尾添加&allowPublicKeyRetrievaltrue即可,如下图: 重新启动,恢复正常…

了解光耦合器:实际应用和有效使用

光耦合器,也称为光隔离器,是电子电路中必不可少的组件,旨在利用光波在隔离电路之间传输电信号。该技术在增强电路安全性、降低噪音和电气隔离方面具有关键优势,在从工业控制系统到消费电子产品的各种应用中都具有不可估量的价值。…

初中生物知识点总结(人教版)

第一章 认识生物 一、 生物的特征: 1. 生物的生活需要营养 2. 生物能进行呼吸 3. 生物能排出身体内产生的废物 4. 生物能对外界的刺激做出反应 5. 生物能生长和繁殖 除病毒以外,生物都是由细胞构…

SpringBoot整合XXL_JOB示例

XXL-JOB 是一个分布式任务调度平台,主要用于管理和执行定时任务。它适用于各种场景,例如定时任务、批处理任务、分布式任务等。XXL-JOB 提供了丰富的功能,使得任务调度变得简单、高效和可靠。以下是 XXL-JOB 的一些主要功能和特点&#xff1a…

myeclipse开发ssm框架项目图书管理系统 mysql数据库web计算机毕业设计项目

摘 要 随着计算机的广泛应用,其逐步成为现代化的标志。图书馆的信息量也会越来越大,因此需要对图书信息、借书信息、还书信息等进行管理,及时了解各个环节中信息的变更,要对因此而产生的单据进行及时的处理,为了提高高…

Dify 与 Xinference 最佳组合 GPU 环境部署全流程

背景介绍 在前一篇文章 RAG 项目对比 之后,确定 Dify 目前最合适的 RAG 框架。本次就尝试在本地 GPU 设备上部署 Dify 服务。 Dify 是将模型的加载独立出去的,因此需要选择合适的模型加载框架。调研一番之后选择了 Xinference,理由如下&…

搞不清啊?伦敦金与上海金区别是?

进入黄金市场的朋友,有可能会被各式各样的黄金交易品种带得眼花缭乱,其实各品种虽然都以黄金作为投资标的物,但是也是各有不同的,下面我们就来比较一下相似的投资品种——伦敦金和上海金。 首先在比较之前,我们要搞清楚…

SpringBoot新手快速入门系列教程十一:基于Docker Compose部署一个最简单分布式服务项目

如果您还对于Docker或者Docker Compose不甚了解,可以劳烦移步到我之前的教程: SpringBoot新手快速入门系列教程九:基于docker容器,部署一个简单的项目 SpringBoot新手快速入门系列教程十:基于Docker Compose&#xf…

(Windows环境)FFMPEG编译,包含编译x264以及x265

本文使用 MSYS2 来编译 ffmpeg 一、安装MSYS2 MSYS2 是 Windows 下的一组编译套件,它可以在 Windows 系统中模拟 Linux 下的编译环境,如使用 shell 运行命令、使用 pacman 安装软件包、使用 gcc (MinGW) 编译代码等。 MSYS2 的安装也非常省心&#x…

揭秘GPT-4o:未来智能的曙光

引言 近年来,人工智能(AI)的发展突飞猛进,尤其是自然语言处理(NLP)领域的进步,更是引人注目。在这一背景下,OpenAI发布的GPT系列模型成为了焦点。本文将详细探讨最新的模型GPT-4o&a…

浅析Nginx技术:开源高性能Web服务器与反向代理

什么是Nginx? Nginx是一款轻量级、高性能的HTTP和反向代理服务器,也可以用作邮件代理服务器。它最初由俄罗斯的程序员Igor Sysoev在2004年开发,并于2004年首次公开发布。Nginx的主要优势在于其非阻塞的事件驱动架构,能够处理大量并…

【多GPU训练方法】

一、数据并行 这是最常用的方法。整个模型复制到每个GPU上。训练数据被均匀分割,每个GPU处理一部分数据。所有GPU上的梯度被收集并求平均。通常使用NCCL(NVIDIA Collective Communications Library)等通信库实现。参数更新 使用同步后的梯度…

01MFC建立单个文件类型——画线

文章目录 选择模式初始化文件作用解析各初始化文件解析 类导向创建鼠标按键按下抬起操作函数添加一个变量记录起始位置注意事项代码实现效果图 虚实/颜色线 选择模式 初始化文件作用解析 运行: 各初始化文件解析 MFC(Microsoft Foundation Classes&am…

爬虫-浏览器自动化

什么是selenium selenium是浏览器自动化测试框架,原本用于网页测试。但到了爬虫领域,它又成为了爬虫的好帮手。有了 selenium,我们便不再需要判断网页数据加载的方式,只要让 selenium 自动控制浏览器,就像有双无形的手…

数据结构--堆,堆排序

1.树概念及结构 1.1树的概念 树是一种 非线性 的数据结构,它是由 n ( n>0 )个有限结点组成一个具有层次关系的集合。 把它叫做树是因 为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的 。 有一个 特殊的结…

判断链表中是否有环(力扣141.环形链表)

这道题要用到快慢指针。 先解释一下什么是快慢指针。 快慢指针有两个指针,走得慢的是慢指针,走得快的是快指针。 在这道题,我们规定慢指针一次走一步,快指针一次走2步。 如果该链表有环,快慢指针最终会在环中相遇&a…

通过vagrant与VirtualBox 创建虚拟机

1.下载vagrant与VirtualBox【windows版本案例】 1.1 vagrant 下载地址 【按需下载】 https://developer.hashicorp.com/vagrant/install?product_intentvagranthttps://developer.hashicorp.com/vagrant/install?product_intentvagrant 1.2 VirtualBox 下载地址 【按需下载…

人员定位系统可以用于哪些岗位?作用是什么?

人员定位系统是目前用于保证人身安全或是监管等方面十分适合且高端的技术,对于在环境相对复杂、危险,或是人员较多,管理比较吃力的企业单位来说,这套系统绝对是不可或缺的好帮手,发挥的作用和实用性也是相当高的。 一、…