python类型注解,多态详解

目录

1.类型注解

1.变量的类型注解

2.函数(方法)的类型注解 

3.union类型 

2.多态

抽象类


1.类型注解

1.变量的类型注解

 

 

 

#基础数据类型注解
import random

v1 : int = 10
v2 : str = "aaa"
v3 : bool = True

#类对象类型注解
class student:
    pass
stu : student = student()

#基础容器类型注解
mylist : list = [1,2,3]
mytuple : tuple = (1,2,3)
mydict : dict = {"abc" : 123}

#容器类型详细注解
mylist : list[int] = [1,2,3]
mytuple : tuple[int] = (1,2,3)
mydict : dict[str,int] = {"abc" : 123}

#在注释中进行类型注解
v4 = random.randint(1,10) # type: int
v5 = json.loads("{'name' : 'zhangsan'}") # type: dict

 

 

2.函数(方法)的类型注解 

 


def func(x : int,y : int) -> int:
    return x + y

a = 5
b = 10
print(func(a,b))

 

3.union类型 

from typing import Union

mylist : list[Union[int,str]] = ["aaa",123]

def func(x : Union[str,int]) -> Union[str,int]
    pass

func()

 

 

2.多态

 

class animal:
    def speak(self):
        pass

class dog(animal):
    def speak(self):
        print("汪汪汪")

class cat(animal):
    def speak(self):
        print("喵喵喵")

def makenoise(a):
    a.speak()

cat = cat()
dog = dog()

makenoise(cat)
makenoise(dog)

 

抽象类

使用抽象类好比是使用一个顶层设计

比如要泡一杯茶,要先烧水,倒水入杯中,再加茶叶

不同的茶就是水可能不同,茶叶可能不同,烧制的水温不同等 

 

 

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

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

相关文章

基于springboot+vue的公寓报修管理系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

奇舞周刊第521期:“一切非 Rust 项目均为非法”

奇舞推荐 ■ ■ ■ 拜登:“一切非 Rust 项目均为非法” 科技巨头要为Coding安全负责。这并不是拜登政府对内存安全语言的首次提倡。“程序员编写代码并非没有后果,他们的⼯作⽅式于国家利益而言至关重要。”白宫国家网络总监办公室(ONCD&…

6020一拖二快充线:手机充电的革命性创新

在快节奏的现代生活中,手机已不仅仅是一个通讯工具,更是我们工作、学习和娱乐的得力助手。然而,手机的电量问题一直是困扰着我们的难题。为了解决这个问题,市场上出现了一种名为“一拖二快充线”的充电设备,它不仅具备…

用JavaScript动态提取视频中的文字

现阶段整个社会短视频,中视频为王,文字传播虽然被弱化,但在业务中还是有一定的传播价值,今天就来讲一讲如何使用js动态提取视频中的字幕。 先来看看效果: 屏幕录制2024-02-29 15.40.18 一,tesseract.js介…

SpringMVC 学习(十一)之数据校验

目录 1 数据校验介绍 2 普通校验 3 分组校验 4 参考文档 1 数据校验介绍 在实际的项目中,一般会有两种校验数据的方式:客户端校验和服务端校验 客户端校验:这种校验一般是在前端页面使用 JS 代码进行校验,主要是验证输入数据…

Zookeeper3:客户端命令

文章目录 客户端命令连接服务端Zookeeper客户端内置命令 ls - 节点信息 客户端命令 连接服务端Zookeeper //客户端连接服务端zookeeper 默认连的本机2181端口的zookeeper cd /opt/module/zookeeper-3.9.1/bin && sh zkCli.sh//客户端连接远程服务端zookeeper cd /op…

详细了解C++中的namespace命名空间

键盘敲烂,月薪过万,同学们,加油呀! 目录 键盘敲烂,月薪过万,同学们,加油呀! 一、命名空间的理解 二、::作用域运算符 三、命名空间(namespace&…

Vulnhub靶机:Bellatrix

一、介绍 运行环境:Virtualbox 攻击机:kali(10.0.2.4) 靶机:Bellatrix(10.0.2.9) 目标:获取靶机root权限和flag 靶机下载地址:https://www.vulnhub.com/entry/hogwa…

【C++】const成员

个人主页 : zxctscl 如有转载请先通知 文章目录 1. 前言2. const成员3. 取地址及const取地址操作符重载 1. 前言 在之前已经已经分享过了关于 【C】类和对象之常引用与运算符重载,这次分享的有关const的内容,话不多说,正文开始。…

spring-security 项目实战(一)个人健康档案

spring-security 项目实战(一)个人健康档案 项目说明项目地址框架信息 代码分析配置类解析默认登录页登录接口执行逻辑登录认证成功之后重定向到main页面过程未登录之前访问 /main生成默认登录页点击登录 登录之后访问 /main执行流程清空认证信息 项目来…

Leetcoder Day27| 贪心算法part01

语言:Java/Go 理论 贪心的本质是选择每一阶段的局部最优,从而达到全局最优。 什么时候用贪心?可以用局部最优退出全局最优,并且想不到反例到情况 贪心的一般解题步骤 将问题分解为若干个子问题找出适合的贪心策略求解每一个子…

数据类型和变量

1.数据类型 在Java中数据类型主要分为两类:基本数据类型和引用数据类型。 基本数据类型有四类八种: 1. 四类:整型、浮点型、字符型以及布尔型 2.八种: 整形是分为如上四种 byte short int long 浮点型分为 float 和double …

【Java EE】线程安全的集合类

目录 🌴多线程环境使用 ArrayList🎍多线程环境使⽤队列🍀多线程环境使⽤哈希表🌸 Hashtable🌸ConcurrentHashMap ⭕相关面试题🔥其他常⻅问题 原来的集合类, 大部分都不是线程安全的. Vector, Stack, HashT…

Java---文件,流✨❤️

文章目录 1.遍历文件夹2.遍历子文件夹3.练习流4.以字节流的形式读取文件内容5.以字节流的形式向文件写入数据顶折纠问6 .写入数据到文件 1.遍历文件夹 一般说来操作系统都会安装在C盘,所以会有一个 C:\WINDOWS目录。 遍历这个目录下所有的文件(不用遍历子目录) 找出…

全栈入门,前后端入门--springboot3+vue3制作一个后台管理项目

一:前言 1:因为本人也是全栈初学者,现在主职是公司前端,鉴于当前行业形式,单单只掌握一门语言已经不再吃香,甚至有点危险,35岁危机极大可能提前。作为00后要始终保持危机意识,不至于…

[C++]使用纯opencv去部署yolov9的onnx模型

【介绍】 部署 YOLOv9 ONNX 模型在 OpenCV 的 C 环境中涉及一系列步骤。以下是一个简化的部署方案概述,以及相关的文案。 部署方案概述: 模型准备:首先,你需要确保你有 YOLOv9 的 ONNX 模型文件。这个文件包含了模型的结构和权…

opencv生成一张图片

opencv也可以创造出一张照片&#xff0c;下面就是创造一张照片&#xff0c;并存放到项目文件夹下的示例 #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> #include <iostream> #include <vector> using namespace cv…

sql注入之sqli-labs-less-2 数值型报错注入

输入?id1 进行试探,第二关数值型&#xff0c;没有字符串的单引号&#xff0c;所以输入单引号报错&#xff0c; 经试探?id1 order by 5 -- 如果是错误的数值&#xff0c;显示如下&#xff1a; 正确 的为&#xff1a; ?id1 order by 3 -- 进行注入查看回显点&#xff1a; …

个体工商户营业执照怎么在网上年检?

第一步PC端登录国家企业信用信息公示系统&#xff01; 第二步点企业信息填报&#xff01; 第三步选择省份&#xff01; 第四步登陆方式&#xff01; 第五步点左上角年度报告填写&#xff01; 第六步下滑浏览点确认&#xff01; 第七步按照实际情况填写&#xff01; 第八步…

Linux笔记--文件权限

一、相关概念 Linux最优秀的地方之一就在于多人多任务环境。为了让各个使用者有较为保密的文件数据&#xff0c;文件的权限管理尤为重要。 ●文件的可存取身份: owner:文件拥有者 group:文件所属用户组 others:其他人 ●文件权限: r: read&#xff0c;读 文件:是否能查看文件内…