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

带你快速学习Python数据类型转换

图片

1.数据类型转换原因

  • 在 Python 中不同的数据类型在进行运算时,运算规则不一样,所有需要进行数据类型转换

2.其他数据类型转换为整型

  • int(x, base=10) 函数

  • 第一个参数:x 表示要转换的数据

  • 第二个参数:base 表示的时进制数,默认值是10,base表示将前面的参数 x 当做几进制进行转换

age = input('请输你的年龄:')
print(age)# 需求:将 age 变量的值 加 10
# 报错:TypeError: can only concatenate str (not "int") to str,原因 input() 函数接收的参数类型是字符串
# print(age + 10)
# 在 python 中,字符串类型和数字类型不能直接进行数学运算
print(type(age))
print(type(int(age)))
print(int(age) + 10)
  • int() 函数中,base 参数的介绍

str1 = "12"
print(int(str1))
# 表示将字符串 "12" 转换为整型,并且以十进制显示
print(int(str1, base=10))
# 表示将字符串 "12" 转换为整型,并且以十六进制显示
print(int(str1, base=16))

3.其他数据类型转换为字符串

  • str(x) 函数:将其他数据类型转换为字符串

  • 参数:x 表示要转换的数据

num = 12
num1 = 87
print(num + num1)
print(type(num))
print(type(num1)) # 输出结果为:99
  • 在 python 中的字符串类型,使用 + 表示将字符串进行拼接

num = 12
num1 = 87
str1 = str(num)
str2 = str(num1)
print(type(str1))
print(type(str2))
print(str1 + str2) # 输出结果为:1287

4.其他数据类型转换为浮点型

  • float(x) 函数:将其他数据类型转换为浮点型

  • 参数:x 表示要转换的数据

float1 = "12.34"
print(type(float1))
# 报错:TypeError: can only concatenate str (not "int") to str
# print(float1 + 10)
float2 = float(float1)
print(type(float2))
print(float2 + 10) # 输出结果为:22.34# 报错:ValueError: could not convert string to float: 'hello123'
float3 = "hello123"
print(float(float3))

5.其他数据类型转换为布尔型

  • bool(x) 函数:将其他数据类型转换为布尔类型,如果没有参数,返回 False

  • 参数:x 表示要转换的数据

  • Python 中的布尔类型主要有两个:True 和 False

  • 在 Python 中定义的整型、浮点型、字符串、列表、元组、字典和集合,只要不是空都返回 True

num1 = 100
float1 = 9.54
str1 = "hello"
list1 = [23, 54, 53, 'apple']
tuple1 = (12, 43, 56, 74, 'pig')
dict1 = {'name':'tfos', 'age':12}
set1 = {12, 43, 45.4}print(bool(num1)) # True
print(bool(float1)) # True
print(bool(str1)) # True
print(bool(list1)) # True
print(bool(tuple1)) # True
print(bool(dict1)) # True
print(bool(set1)) # True
  • 在 Python 中,0、0.0、空字符串、空列表、空元组、空字典、空集合、None这些数据类型转换为 bool 类型全部为 False

num2 = 0
float2 = 0.0
str2 = ""
list2 = []
tuple2 = ()
dict2 = {}
set2 = set()
none1 = None
str3 = " " # 当字符串中有空格,表示该字符串不是空字符串print(bool(num2)) # False
print(bool(float2)) # False
print(bool(str2)) # False
print(bool(list2)) # False
print(bool(tuple2)) # False
print(bool(dict2)) # False
print(bool(set2)) # False
print(bool(none1)) # False
print(bool(str3)) # True
  • 隐式类型转换:主要是用于 if、if...else等条件表达式中

print(3 > 2) # True
print(98 < 89) # Falseif 3 > 2:print('hello world!')if 98 < 89:print('dog')

相关文章:

  • 《PCI Express体系结构导读》随记 —— 第I篇 第3章 PCI总线的数据交换(8)
  • Linux Driver | 设备树开发之初识设备树
  • Android14 InputManager-ANR原理
  • 华清远见作业第四十一天——Qt(第三天)
  • Redis高性能原理
  • 掌握Docker:让你的应用轻松部署和管理
  • 使用openai-whisper实现语音转文字
  • 外汇天眼:外汇交易不可不知的8大风险!
  • 欧放ER-2024年1月 AI论文速递
  • Draw.io绘制UML图教程
  • vue3新特性-defineOptions和defineModel
  • 2024 Sora来了!“手机Agent智能体”也来了!
  • MyBatis Plus:自定义typeHandler类型处理器
  • Autodesk CAD如何建立图层方框?
  • Python学习笔记——PySide6设计GUI应用之UI与逻辑分离
  • 【391天】每日项目总结系列128(2018.03.03)
  • es6(二):字符串的扩展
  • markdown编辑器简评
  • VUE es6技巧写法(持续更新中~~~)
  • 阿里云购买磁盘后挂载
  • 关于springcloud Gateway中的限流
  • 前端js -- this指向总结。
  • 巧用 TypeScript (一)
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 新书推荐|Windows黑客编程技术详解
  • 一个项目push到多个远程Git仓库
  • 移动端唤起键盘时取消position:fixed定位
  • 赢得Docker挑战最佳实践
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • 正则学习笔记
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • $.ajax()参数及用法
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (31)对象的克隆
  • (四)TensorRT | 基于 GPU 端的 Python 推理
  • (万字长文)Spring的核心知识尽揽其中
  • (学习日记)2024.02.29:UCOSIII第二节
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • (转载)hibernate缓存
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • .NET 常见的偏门问题
  • .NET 程序如何获取图片的宽高(框架自带多种方法的不同性能)
  • .net 提取注释生成API文档 帮助文档
  • .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
  • .NET下ASPX编程的几个小问题
  • .sh文件怎么运行_创建优化的Go镜像文件以及踩过的坑
  • /run/containerd/containerd.sock connect: connection refused
  • [ C++ ] template 模板进阶 (特化,分离编译)
  • [2]十道算法题【Java实现】
  • [2018/11/18] Java数据结构(2) 简单排序 冒泡排序 选择排序 插入排序
  • [android] 看博客学习hashCode()和equals()
  • [Angularjs]asp.net mvc+angularjs+web api单页应用