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

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.dtcms.com/a/344732.html

相关文章:

  • Vue 实现可拖拽分割布局(支持左右、上下拖拽调整)
  • Java 学习笔记(基础篇7)
  • 2025年游戏盾SDK动态加密技术全景解析:从防御破解到重塑游戏安全基石
  • CSM5110 5V/1A降压芯片 SOT23-5封装 可替代RY3408 带OVP保护
  • vim的使用
  • 牛客面经1 滴滴社招-002
  • JAVA国际版多商户运营版商城系统源码多商户社交电商系统源码支持Android+IOS+H5
  • 哈希和字符串哈希
  • STM32 外设驱动模块七:红外反射式光电模块
  • Centos 8 管理防火墙
  • 安装Tailscale
  • Maven初识到应用
  • 【AI应用】向量数据库Milvus详细命令
  • Jenkins + SonarQube 从原理到实战四:Jenkins 与 Gerrit 集成并实现自动任务
  • Linux爆音问题解决方法(隔一会会有奇怪噪音)
  • Go 基础解析
  • 逛越南本地菜市场学英语
  • 异质结3.0时代的降本提效革命:捷造科技设备技术创新与产业拐点分析
  • DSPy框架:从提示工程到声明式编程的革命性转变
  • go 常见面试题
  • 番茄(西红柿)叶片病害检测数据集:12k+图像,10类,yolo标注
  • RAG中稠密向量和稀疏向量
  • 基于抗辐照性能的ASP4644S电源芯片特性分析与多领域应用验证
  • show-overflow-tooltip使用当内容过多不展示...
  • 国密双证书双向认证实践
  • 浅拷贝,深拷贝
  • SkyWalking高效线程上下文管理机制:确保调用链中traceId来自同一个请求
  • 图像指针:高效处理像素数据的核心工具
  • 贪吃蛇--C++实战项目(零基础)
  • 直播间聊天室直播录播消息发送自动对话点赞H5开源