全网最适合入门的面向对象编程教程:25 类和对象的 Python 实现-Python 判断输入数据类型

news2024/11/20 10:46:37

全网最适合入门的面向对象编程教程:25 类和对象的 Python 实现-Python 判断输入数据类型

image

摘要:

本文主要介绍了在使用 Python 面向对象编程时,如何使用 type 函数、isinstance 函数和正则表达式三种方法判断用户输入数据类型,并对相关语法进行介绍。

原文链接:

FreakStudio的博客

往期推荐:

可能是全网最适合入门的面向对象编程教程:Python实现-嵌入式爱好者必看!

全网最适合入门的面向对象编程教程:00 面向对象设计方法导论

全网最适合入门的面向对象编程教程:01 面向对象编程的基本概念

全网最适合入门的面向对象编程教程:02 类和对象的Python实现-使用Python创建类

全网最适合入门的面向对象编程教程:03 类和对象的Python实现-为自定义类添加属性

全网最适合入门的面向对象编程教程:04 类和对象的 Python 实现-为自定义类添加方法

全网最适合入门的面向对象编程教程:05 类和对象的Python实现-PyCharm代码标签

全网最适合入门的面向对象编程教程:06 类和对象的 Python 实现-自定义类的数据封装

全网最适合入门的面向对象编程教程:07 类和对象的Python实现-类型注解

全网最适合入门的面向对象编程教程:08 类和对象的 Python 实现-@property 装饰器

全网最适合入门的面向对象编程教程:09 类和对象的Python实现-类之间的关系

全网最适合入门的面向对象编程教程:10 类和对象的Python实现-类的继承和里氏替换原则

全网最适合入门的面向对象编程教程:11 类和对象的Python实现-子类调用父类方法

全网最适合入门的面向对象编程教程:12 类和对象的 Python 实现-Python 使用 logging 模块输出程序运行日志

全网最适合入门的面向对象编程教程:13 类和对象的 Python 实现-可视化阅读代码神器 Sourcetrail 的安装使用

全网最适合入门的面向对象编程教程:14 类和对象的Python实现-类的静态方法和类方法

全网最适合入门的面向对象编程教程:15 类和对象的Python实现-__slots__魔法方法

全网最适合入门的面向对象编程教程:16 类和对象的Python实现-多态、方法重写与开闭原则

全网最适合入门的面向对象编程教程:17 类和对象的Python实现-鸭子类型与“file-like object“

全网最适合入门的面向对象编程教程:18 类和对象的Python实现-多重继承与PyQtGraph串口数据绘制曲线图

全网最适合入门的面向对象编程教程:19 类和对象的 Python 实现-使用 PyCharm 自动生成文件注释和函数注释

全网最适合入门的面向对象编程教程:20 类和对象的 Python 实现-组合关系的实现与 CSV 文件保存

全网最适合入门的面向对象编程教程:21 类和对象的 Python 实现-多文件的组织:模块 module 和包 package

全网最适合入门的面向对象编程教程:22 类和对象的Python实现-异常和语法错误

全网最适合入门的面向对象编程教程:23 类和对象的 Python 实现-抛出异常

全网最适合入门的面向对象编程教程:24 类和对象的Python实现-异常的捕获与处理:try/except语句、文件读写示例、Exception引用

更多精彩内容可看:

CM3调试系统简析

肝了半个月,嵌入式技术栈大汇总出炉

比赛获奖的武林秘籍:09 一文速通计算机设计大赛,比赛人必看的获奖秘籍

比赛获奖的武林秘籍:08 一文速通光电设计大赛,电子人必看

比赛获奖的武林秘籍:07 一文速通电子设计大赛,电子人必看的获奖秘籍!

比赛获奖的武林秘籍:06 5 分钟速通比赛路演答辩,国奖选手的血泪经验!

比赛获奖的武林秘籍:05 电子计算机类比赛国奖队伍技术如何分工和学习内容

比赛获奖的武林秘籍:04 电子类比赛嵌入式开发快速必看的上手指南

比赛获奖的武林秘籍:03 好的创意选取-获得国奖的最必要前提

比赛获奖的武林秘籍:02 国奖秘籍-大学生电子计算机类竞赛快速上手的流程,小白必看

比赛获奖的武林秘籍:01 如何看待当代大学生竞赛中“卷”“祖传老项目”“找关系”的现象?

比赛获奖的武林秘籍:00 学科竞赛-工科类大学生绕不开的话题,你了解多少?

文档和代码获取:

可访问如下链接进行对文档下载:

https://github.com/leezisheng/Doc

image

本文档主要介绍如何使用 Python 进行面向对象编程,需要读者对 Python 语法和单片机开发具有基本了解。相比其他讲解 Python 面向对象编程的博客或书籍而言,本文档更加详细、侧重于嵌入式上位机应用,以上位机和下位机的常见串口数据收发、数据处理、动态图绘制等为应用实例,同时使用 Sourcetrail 代码软件对代码进行可视化阅读便于读者理解。

相关示例代码获取链接如下:https://github.com/leezisheng/Python-OOP-Demo

正文

我们可以使用 type 函数、isinstance 函数和正则表达式三种方法判断用户输入数据类型:

使用 type()函数来判断数据类型

在 Python 中,我们可以使用内置函数 type()来判断一个变量的数据类型。type()函数会返回一个表示数据类型的对象,我们可以通过比较这个对象与目标类型来判断变量的类型。例如:

_# 判断输入端口号是否为str类型_
if type(port) is not str:

使用 isinstance()函数来判断数据类型

除了 type()函数外,Python 还提供了另一个常用的函数 isinstance()来判断变量的类型。isinstance()函数可以判断一个变量是否属于某个特定的类型或其子类型。它的语法格式为:isinstance(object, classinfo),其中 object 是要判断的对象,classinfo 可以是类型对象或类型元组。例如:

_# 判断输入端口号是否为str类型_
if isinstance(port, str):

使用正则表达式来判断数据类型

正则表达式是一个强大的工具,可以用于匹配和提取字符串中的各种模式。我们可以使用正则表达式来判断用户输入的数据是否符合某个特定的格式,从而推断出数据的类型。例如:

if re.match(r'^[0-9]+$', user_input):
    print("输入的是整数类型")

在这里插入图片描述

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

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

相关文章

PWA(渐进式网页应用)方式实现TodoList桌面应用

参考: https://cloud.tencent.com/developer/article/2322236 todlist网页参考: https://blog.csdn.net/weixin_42357472/article/details/140657576 实现在线网页当成app应用: 一个 PWA 应用首先是一个网页, 是通过 Web 技术编写出的一个网…

如何全面提升架构设计的质量?

当我们从可扩展、高可用、高性能等角度设计出来架构的时候,我们如何优化架构呢?就需要从成本、安全、测试等角度进行优化。 如何设计更好的架构 - 步骤 成本 低成本复杂度本质 低成本手段和应用 低成本的主要应用场景 安全 安全性复杂度本质 架构安全…

大语言模型系列-Transformer:深入探索与未来展望

大家好,我是一名测试开发工程师,已经开源一套【自动化测试框架】和【测试管理平台】,欢迎大家联系我,一起【分享测试知识,交流测试技术】 Transformer模型自其问世以来,便迅速在自然语言处理领域崭露头角&a…

2024年【危险化学品生产单位安全生产管理人员】最新解析及危险化学品生产单位安全生产管理人员考试总结

题库来源:安全生产模拟考试一点通公众号小程序 危险化学品生产单位安全生产管理人员最新解析参考答案及危险化学品生产单位安全生产管理人员考试试题解析是安全生产模拟考试一点通题库老师及危险化学品生产单位安全生产管理人员操作证已考过的学员汇总,…

mysql基本数据类型(整型)

一、 常见面试题 整型都有哪些基础类型,各占几个字节 tinyint, smallint, mediumint, int, bigint: 1 2 3 4 8 int(n) 是什么意思,什么时候用到 指定显示位宽,需配合 zerofill 使用(不够位宽则在前面补0),…

Could not find a version that satisfies the requirement

Could not find a version that satisfies the requirement 目录 Could not find a version that satisfies the requirement 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰,2…

MATLAB被360误杀的解决方案

前面被误杀,今天又被误杀。 前面误杀结果是缺少文件,重装MATLAB也不行。 结果重装了操作系统。 这次,看到了提示额外小心。 当时备份了“病毒”文件,结果备份的也被杀了。 解铃还须系铃人 在360安全卫士里面恢复,步骤…

线性代数|机器学习-P27用于深度学习的神经网络结构

文章目录 1. 概述2. 参数定义3. CNN 网络 1. 概述 – 1. 卷积神经网络 CNNs – 2. 连续型线性分段函数 F – 3. 损失函数 – 4. 链式法则计算反向传播算法梯度 ∇ F g r a d F \nabla F \mathrm{grad}\; F ∇FgradF 2. 参数定义 我们定义每个样本有m维度特征,有…

java找不到符号解决办法

一、java找不到符号 如果你的代码里没有报错,明明是存在的。但是java报错找不到符号。如下所示, 二、解决步骤 1.清除编码工具缓存 本人用的idea, eclipse清除缓存方式有需要的可以百度一下! 2.如果是mavne项目的 先clean 再…

流媒体服务器一:使用成熟的流媒体SRS 搭建 RTMP流媒体服务器

1 安装和测试srs流媒体服务器 服务器:SRS(Simple RTMP Server,⽀持RTMP、HTTP-FLV,HLS) 推流端:ffmpeg OBS 拉流端:ffplay VLC srs播放器 1.1 安装srs流媒体服务器 官网 SRS (Simple Realtime Server) | SRS 码…

大模型算法面试题(十四)

本系列收纳各种大模型面试题及答案。 1、微调后的模型出现能力劣化,灾难性遗忘是怎么回事 微调后的模型出现能力劣化,灾难性遗忘(Catastrophic Forgetting)是一个在机器学习领域,尤其是在深度学习和大模型应用中频繁出…

【SpringBoot】6 全局异常捕获

介绍 在项目开发中,如果每个 Controller 都增加 try catch 方法去捕获异常及处理,就会导致代码变得很繁琐、效率低下,而大部分异常是不能直接向外抛出,需要有个统一的显示处理方法,因此需要加上全局异常捕获统一获取并…

深度学习中常用损失函数介绍

选择正确的损失函数对于训练机器学习模型非常重要。不同的损失函数适用于不同类型的问题。本文将总结一些常见的损失函数,并附有易于理解的解释、用法和示例 均方误差损失(MSE) loss_fn nn.MSELoss()py均方误差(Mean Squared Error,简称 MSE…

Navidrome音乐服务器 + 音流APP = 释放你的手机空间

20240727 By wdhuag 目录 前言: 参考: Navidrome音乐服务器 Demo试用: 支持多平台: 下载: 修改配置: 设置用NSSM成服务启动: 服务器本地访问网址: 音流 歌词封面API&am…

Golang | Leetcode Golang题解之第292题Nim游戏

题目: 题解: func canWinNim(n int) bool {return n%4 ! 0 }

网站打包封装成app,提高用户体验和商业价值

网站打包封装成app的优势 随着移动互联网的普及,用户对移动应用的需求越来越高。网站打包封装成app可以满足用户的需求,提高用户体验和商业价值。 我的朋友是一名电商平台的运营负责人,他曾经告诉我,他们的网站流量主要来自移动…

vite + xlsx + xlsx-style 导出 Excel

如下 npm i 依赖 npm i xlsxnpm i xlsx-style-vite1、简单的使用:.vue文件中使用 const dataSource ref([]) // 数据源const columns [{title: 用户名,key: userName,width: 120,},{title: 用户组,key: userGroup,width: 120,},{title: 状态,key: enable,width: …

MySQL 视图与事务

文章目录 视图事务事物的四大特性(ACID)事务的开启和结束事物隔离级别现象脏读不可重复度幻读 隔离级别读未提交(READ UNCOMMITTED)读提交 (READ COMMITTED)可重复读 (REPECTABLE READ)串行化 (SERIALIZABLE) 查看与设置事务隔离级别重复读的…

【前端 13】Vue快速入门

Vue快速入门 在现代Web开发中,尽管通过HTML、CSS和JavaScript我们能够构建出美观且功能丰富的页面,但随着项目规模的增大,这种传统的开发方式在效率上逐渐显得力不从心。为了提高开发效率,前端开发者们引入了多种框架和库&#x…

Python酷库之旅-第三方库Pandas(050)

目录 一、用法精讲 181、pandas.Series.var方法 181-1、语法 181-2、参数 181-3、功能 181-4、返回值 181-5、说明 181-6、用法 181-6-1、数据准备 181-6-2、代码示例 181-6-3、结果输出 182、pandas.Series.kurtosis方法 182-1、语法 182-2、参数 182-3、功能 …