从零开始的python学习生活2

news2024/9/20 18:33:27

接上封装

class Phone:
    __volt=0.5

    def __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=False

    def __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=None
    producer="可是雪"

    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=None
    producer="可是雪"

    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=None
    producer="可是雪"

    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=None
    producer="可是雪"

    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 random

var_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 data

print(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):
        # 制冷
        pass
    def hot_wind(self):
        # 制热
        pass
    def swing_l_r(self):
        # 左右摆风
        pass

class 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.coloradmin.cn/o/1916596.html

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

相关文章

【NLP学习笔记】transformers中的tokenizer切词时是否返回token_type_ids

结论 先说结论: 是否返回token_type_ids,可以在切词时通过 return_token_type_idsTrue/False指定,指定了True就肯定会返回,指定False,不一定就不返回。 分析 Doc地址 https://huggingface.co/docs/transformers/main…

MATLAB | 如何使用MATLAB优雅的推公式,全网最全MATLAB符号表达式使用教程

HEY, 各位这次是真的好久不见,本期推送来教大家如何使用MATLAB推公式并使用推出来的结果。 本文说白了就是讲符号表达式这个东西咋用,所使用最重要的函数就是syms,在开始前,首先要保证自己的MATLAB安装了Symbolic Mat…

【Pytorch】RNN for Image Classification

文章目录 1 RNN 的定义2 RNN 输入 input, h_03 RNN 输出 output, h_n4 多层5 小试牛刀 学习参考来自 pytorch中nn.RNN()总结RNN for Image Classification(RNN图片分类–MNIST数据集)pytorch使用-nn.RNN 1 RNN 的定义 nn.RNN(input_size, hidden_size, num_layers1, nonlinea…

特斯拉的人形机器人最新展示,穿戴遥操作示教的机器人学习!

在机器人领域,特斯拉的人形机器人一直备受关注。2021 年,在「特斯拉 AI 日」上,马斯克发布了特斯拉的通用机器人计划,并用图片展示了人形机器人 Tesla Bot 的大致形态。但当时的 Tesla Bot 只是个概念,动作展示部分是由…

C++基础学习笔记

1.命名空间(namespace) 1.什么是命名空间&命名空间的作用 1.在C/C中,变量、函数、类都是大量存在的,这些变量等的名称将都存在于全局作用域中,就会导致很多的命名冲突等。使用命名空间的目的就是对标识符的名称进行本地化,以…

springboot中通过jwt令牌校验以及前端token请求头进行登录拦截实战

前言 大家从b站大学学习的项目侧重点好像都在基础功能的实现上,反而一个项目最根本的登录拦截请求接口都不会写,怎么拦截?为什么拦截?只知道用户登录时我后端会返回一个token,这个token是怎么生成的,我把它…

YOLOv10改进 | Conv篇 | 全新的SOATA轻量化下采样操作ADown(参数量下降百分之二十,附手撕结构图)

一、本文介绍 本文给大家带来的改进机制是利用2024/02/21号最新发布的YOLOv9其中提出的ADown模块来改进我们的Conv模块,其中YOLOv9针对于这个模块并没有介绍,只是在其项目文件中用到了,我将其整理出来用于我们的YOLOv10的项目,经…

【大模型】微调实战—使用 ORPO 微调 Llama 3

ORPO 是一种新颖微调(fine-tuning)技术,它将传统的监督微调(supervised fine-tuning)和偏好对齐(preference alignment)阶段合并为一个过程。这减少了训练所需的计算资源和时间。此外&#xff0…

【计算机毕业设计】012基于微信小程序的科创微应用平台

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

华为ensp实现防火墙的区域管理与用户认证

实验环境 基于该总公司内网,实现图片所在要求 后文配置请以本图为准 接口配置与网卡配置 1、创建vlan 2、防火墙g0/0/0与云页面登录 登录admin,密码Admin123,自行更改新密码 更改g0/0/0口ip,敲下命令service-manage all permit 网卡配置…

彩虹小插画:成都亚恒丰创教育科技有限公司

彩虹小插画:色彩斑斓的梦幻世界 在繁忙的生活节奏中,总有一抹温柔的色彩能悄然触动心弦,那就是彩虹小插画带来的梦幻与宁静。彩虹,这一自然界的奇迹,被艺术家们巧妙地融入小巧精致的插画之中,不仅捕捉了瞬…

3D线上展示技术如何应用到汽车营销中?有哪些优势?

传统的汽车销售主要是通过实体店面展示汽车,但这样的展示方式成本高昂,而且还有空间限制。近年来,随着互联网的不断发展,线上看车逐渐成为当下年轻消费群体的看车新选择,并且线上看车正在从2D平面转向3D立体体验。 一、…

three完全开源扩展案例01-三角形渐变

演示地址 import * as THREE from three import { OrbitControls } from three/examples/jsm/controls/OrbitControls.jsconst box document.getElementById(box)const scene new THREE.Scene()const camera new THREE.PerspectiveCamera(75, box.clientWidth / box.client…

VirtualBox NAT网络模式

设置网络模式 右键网络设置 查看此时IP SSH连接 端口转发设置 ssh连接 samba文件共享 虚拟机上samba服务启动运行了,但由于windows无法连接虚拟机IP,即samba访问的入口堵了,无法像访问本地磁盘一样通过samba通道访问虚拟机 替代方案——多…

自定义在线活动报名表单小程序源码系统 源代码+搭建部署教程 可二次定制开发

系统概述 在数字化时代,线上活动成为连接用户与组织的重要桥梁。为了高效地管理活动报名流程,一款灵活、易用的在线活动报名表单小程序显得尤为重要。本文旨在为开发者提供一套全面的解决方案,包括自定义在线活动报名表单小程序的源代码分析…

YOLOv10改进 | 损失函数篇 | SlideLoss、FocalLoss、VFLoss分类损失函数助力细节涨点(全网最全)

一、本文介绍 本文给大家带来的是分类损失 SlideLoss、VFLoss、FocalLoss损失函数,我们之前看那的那些IoU都是边界框回归损失,和本文的修改内容并不冲突,所以大家可以知道损失函数分为两种一种是分类损失另一种是边界框回归损失,…

推荐算法——MRR

定义: MRR计算的是第一个正确答案的排名的倒数,并对所有查询取平均值。它衡量了模型在排序结果中快速找到正确答案的能力。 其中: Q 是查询的总数。ranki​ 是第 i 个查询中第一个正确答案的排名(位置)。如果第一个正…

jdk中自带的并发类

1、seamplore 信号量 countDownLaunch:等待所有线程都完成,主线程在执行 CyclicBarrirer 内存屏障 exchanger 线程之间交换数据 phaser 阶段协同器 阻塞队列

C语言 | Leetcode C语言题解之第227题基本计算题II

题目&#xff1a; 题解&#xff1a; int calculate(char* s) {int n strlen(s);int stk[n], top 0;char preSign ;int num 0;for (int i 0; i < n; i) {if (isdigit(s[i])) {num num * 10 (int)(s[i] - 0);}if (!isdigit(s[i]) && s[i] ! || i n - 1) {s…

Apache Dubbo与Nacos整合过程

Dubbo服务发现 Dubbo 提供的是一种 Client-Based 的服务发现机制&#xff0c;依赖第三方注册中心组件来协调服务发现过程&#xff0c;支持常用的注册中心如 Nacos、Consul、Zookeeper 等。 以下是 Dubbo 服务发现机制的基本工作原理图&#xff1a; 服务发现包含提供者、消费者…