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

news/2024/11/16 14:28:32/文章来源:https://www.cnblogs.com/FreakEmbedded/p/18327811

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

image

摘要:

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

原文链接:

FreakStudio的博客

往期推荐:

学嵌入式的你,还不会面向对象??!

全网最适合入门的面向对象编程教程: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实现-异常的捕获与处理

更多精彩内容可看:

给你的 Python 加加速:一文速通 Python 并行计算

一文搞懂 CM3 单片机调试原理

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

电子计算机类比赛的“武林秘籍”

一个MicroPython的开源项目集锦:awesome-micropython,包含各个方面的Micropython工具库

文档和代码获取:

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

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("输入的是整数类型")

image

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

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

相关文章

[数据结构] 堆与堆排序

本文介绍了堆这种数据结构的性质,以及堆排序算法,最后介绍了堆的相关应用场景。这篇文章使用 JavaScript 语言进行相关代码的编写。数据结构——堆 heap 基本概念与性质 堆是一颗完全二叉树,根据父子节点之间值的大小关系可以分为:大根堆:每一个节点的值 大于或等于 其子节…

详解 Hough 变换(基本原理与直线检测)

Hough 变换原理与应用前言: 详细介绍了 Hough 变换的基本思想、基本原理和应用等。其中大多都是自己的理解,难免有偏差,仅供参考。文章目录Hough 变换原理与应用1. 基本概述1.1 一些基本问题 1.2 以例子说明1.2.1 例子1:直线 y = k x + b y = kx + by=kx+b​​​​​​​ 到…

致远AnalyticsCloud分析云任意文件读取漏洞复现

产品界面图:FOFA:"AnalyticsCloud分析云"GET请求payload即可读取文件内容paylaod: /.%252e/.%252e/c:/windows/win.ini/a/.%252e/.%252e/.%252e/.%252e/.%252e/.%252e/.%252e/.%252e/.%252e/.%252e/.%252e/.%252e/.%252e/.%252e/.%252e/.%252e/.%252e/.%252e/.%252…

分形之城 - 题解

分形之城时间限制:C/C++ 1000MS,其他语言 2000MS 内存限制:C/C++ 256MB,其他语言 512MB描述 城市的规划在城市建设中是个大问题。 不幸的是,很多城市在开始建设的时候并没有很好的规划,城市规模扩大之后规划不合理的问题就开始显现。 而这座名为 Fractal 的城市设想了这样…

开天辟地,环境安装(cangjie篇)

cangjie,尝鲜日记需求:安装好环境,输出hello world(程序员金字招牌,哈哈~)开整!1 下载SDK 由于官方关闭了开放下载入口,需要走申请、审核机制。然后gitcode平台,下载安装。我们这里就不方便提供下载地址了。目前,我安装的0.53.4b版本。如图:下载步骤就不赘述了,下一…

pycharm远程调试一直卡着(正在收集数据),查看变量时一直显示collecting data并报错Timeout waiting for response且看不到任何内容

1. 问题描述如题,在用PyCharm进行Python代码调试查看具体变量时,会随机遇到一直显示collecting data,到最后报错Timeout waiting for response,在界面中看不到变量内部的内容,如下图所示:2. 解决办法在PyCharm,打开Setting界面,在如下设置项中勾选“Gevent compatible”…

python错题记录:布尔运算与逻辑值检测

一 前言 环境:python 3.10 win10 二 布尔运算与逻辑值检测 1 案例 案例1如上,在布尔运算时,有些时候代码只会运算前面的一部分,剩下的部分根本不会运算。以前在练习算法代码时,就利用这个规则来减少代码的工作量 案例2如上,之前好长一段时间,上面的布尔运算总是让我感…

霍夫(Hough)直线变换(直线检测)

0 原理霍夫变换在检测各种形状的的技术中非常流行,如果你要检测的形状可以用数学表达式写出,你就可以是使用霍夫变换检测它。及时要检测的形状存在一点破坏或者扭曲也可以使用。我们下面就看看如何使用霍夫变换检测直线。 首先将一条直线用一个点表示,这样用一个点表示直线上…

使用浏览器开发人员工具抓取Windows聚焦桌面壁纸

最近发现Windows聚焦桌面壁纸质量都挺高的,比如下图,无奈图片不给保存。所有只有想办法把他爬下来。没有这个功能的可以在桌面右击鼠标,选择个性化,背景,Windows聚焦这样桌面上就出现一个图标右击这个图标,出现一个弹窗,选择“了解详情”就打开一个网页,我们按F12打开开…

编程语言之泛型困境

困境泛型不可能三角 泛型困境的本质是,关于泛型,你想要缓慢的程序员、缓慢的编译器和臃肿的二进制文件,还是缓慢的执行时间。简单来说就是:要么苦了程序员,要么苦了编绎器,要么降低运行时效率。 不同语言对泛型的考量 以C、C++和Java为例,它们在泛型的设计上有着不同考量…

CMake学习(一)

CMake学习(一) 1、简介CMake是一个强大的软件构建系统,可以用简单的语句来描述所有平台的安装(编译过程) 可以编译源代码、制作程序库、产生适配器(wrapper)、还可以用任意的顺序建构执行档https://cmake.org/2、构建基础项目 最基础的 CMake 项目是由单个源代码文件构建的…

[rCore学习笔记 018]实现特权级的切换

写在前面 本随笔是非常菜的菜鸡写的。如有问题请及时提出。 可以联系:1160712160@qq.com GitHhub:https://github.com/WindDevil (目前啥也没有 本节内容 因为risc-v存在硬件特权级机制,我们又要实现一个可以使得应用程序工作在用户级,使得操作系统工作在特权级.原因是要保证…