当前位置: 首页 > ops >正文

2-3.Python 编码基础 - 类型检测与类型转换

一、类型检测

1、基本介绍
编号函数说明
1type()返回检测对象的类型
2isinstance()判断一个检测对象是否是一个已知的类型
2、演示
  1. type 函数
x = 5print(type(x))y = "Hello"print(type(y))
# 输出结果<class 'int'>
<class 'str'>
  1. isinstance 函数
x = 5print(isinstance(x, int))
print(isinstance(x, str))y = "Hello"print(isinstance(y, int))
print(isinstance(y, str))
# 输出结果True
False
False
True

二、类型转换

1、基本介绍
  • 不同的类型之间,在特定的情况下可以相互转换,例如,字符串转数字、数字转字符串等,Python 提供了内置函数来实现这种转换
编号函数说明
1str()将任何类型转换为字符串
2int()将字符串或浮点数转换为整数
3float()将字符串或整数转换为浮点数
4bool()将任何类型转换为布尔值
2、演示
  1. str(),将任何类型转换为字符串
str1 = str(123)print(type(str1), str1)str2 = str(123.456)print(type(str2), str2)str3 = str(True)print(type(str3), str3)
# 输出结果<class 'int'> 10
<class 'float'> 1.23
<class 'str'> 123
<class 'str'> 123.456
<class 'str'> True
  1. int(),将字符串或浮点数转换为整数
int_num1 = int("10")print(type(int_num1), int_num1)int_num2 = int(1.23)print(type(int_num2), int_num2)
# 输出结果<class 'int'> 10
<class 'int'> 1
  1. float(),将字符串或整数转换为浮点数
float_num1 = float("10")print(type(float_num1), float_num1)float_num2 = float("10.5")print(type(float_num2), float_num2)float_num3 = float(1)print(type(float_num3), float_num3)
# 输出结果<class 'float'> 10.0
<class 'float'> 10.5
<class 'float'> 1.0
  1. bool(),将任何类型转换为布尔值
b1 = bool(1)print(type(b1), b1)b2 = bool(0)print(type(b2), b2)b3 = bool(1.0)print(type(b3), b3)b4 = bool(0.0)print(type(b4), b4)b5 = bool("Hello World")print(type(b5), b5)b6 = bool("")print(type(b6), b6)
# 输出结果<class 'bool'> True
<class 'bool'> False
<class 'bool'> True
<class 'bool'> False
<class 'bool'> True
<class 'bool'> False
3、类型转换排雷
  1. 字符串必须是纯数字字符串才可以转换成数字(整数、浮点数)
num = int("10a")
# 输出结果ValueError: invalid literal for int() with base 10: '10a'
num = float("10.a")
# 输出结果ValueError: could not convert string to float: '10.a'
  1. int() 不能将浮点数字符串转换成整数
num = int("10.1")
# 输出结果ValueError: invalid literal for int() with base 10: '10.1'
http://www.xdnf.cn/news/18459.html

相关文章:

  • 集成电路学习:什么是SVM支持向量机
  • AI 大模型 “进化史”:从参数竞赛到场景落地,技术突破藏着哪些逻辑?
  • Unreal Engine UFloatingPawnMovement
  • 【ECharts】2. ECharts 性能优化
  • kafka的rebalance机制是什么
  • CentOS 10安装Ollama
  • 12-Linux系统用户管理及基础权限
  • 机试备考笔记 18/31
  • Nginx(一)认识Nginx
  • Eino 开源框架全景解析 - 以“大模型应用的搭积木指南”方式理解(一)
  • Azure TTS Importer:一键导入,将微软TTS语音接入你的阅读软件!
  • LeetCode 3195.包含所有 1 的最小矩形面积 I:简单题-求长方形四个范围
  • 【ElasticSearch】IK分词器安装,配置修改,支持新增词组,中文常用mapping使用案例
  • 微前端qiankun框架,子页面图标样式错乱问题,显示为X
  • 人脸识别驱动的工厂人体属性检测与预警机制
  • Conmi的正确答案——Ubuntu24.04禁用任何休眠
  • huggingface离线下载模型使用方法
  • CAN总线工具学习:DBC解析、设备扫描与报文监控
  • Logstash——性能、可靠性与扩展性架构
  • JAVA后端开发——API状态字段设计规范与实践
  • Claude Code接入Serena mcp
  • Elasticsearch Rails 集成(elasticsearch-model / ActiveRecord)
  • [激光原理与应用-317]:光学设计 - Solidworks - 零件、装配体、工程图
  • 浅拷贝,深拷贝
  • 【生成树+环】题解:P3907 环的异或_图论_环_异或_搜索_算法竞赛_C++
  • 【C++】多态(详解)
  • 单片机---------WIFI模块
  • 智能二维码QR\刷IC卡\人脸AI识别梯控系统功能设计需基于模块化架构,整合物联网、生物识别、权限控制等技术,以下是多奥分层次的系统设计框架
  • openEuler系统中home文件夹下huawei、HwHiAiUser、lost+found 文件夹的区别和作用
  • Linux:网络层IP协议