Python基础-02(数据类型的转换)

数据类型转换

  • 前言
  • 一、转换为整形(int)
    • 1.str -> int
    • 2.float -> int
    • 3.bool -> int
    • 4.数据类型转换为int时的注意事项
  • 二、转换为浮点数(float)
    • 1.int -> float
    • 2.str -> float
    • 3.注意事项
  • 三、转换为字符串(str)
    • 1.int -> str
    • 2.float -> str
    • 3.bool -> str
  • 四、转换为布尔类型(bool)
    • 1.int -> bool
    • 2.float -> bool
    • 3.str -> bool
    • 4.list -> bool
    • 5.tuple -> bool
    • 6.dict -> bool
  • 五、总结(可以直接看总结,然后不明白再去看具体的例子)


前言

本章大致了解主要的四种数据类型(int、float、string、Boolean)的强制转换


一、转换为整形(int)

b = 1
# 了解一下 python中数字(不加引号)默认的数据类型是int类型
print(type(b))  # <class 'int'>

1.str -> int

b = 1
b1 = str(b)
print(type(b1))  # <class 'str'>

2.float -> int

# float -> int
b2 = 1.83
b2 = int(b2)
print(type(b2))  # <class 'int'>
# 将float类型转换为int类型时,取整数部分(注意:不是四舍五入)
print(b2)  # 1

3.bool -> int

# bool -> int
b4 = True
b5 = Falseb4 = int(b4)
b5 = int(b5)
print(b4, b5)  # 1 0
# 可以得知 布尔类型转换为int时 True为1 False为0

4.数据类型转换为int时的注意事项

'''
例:
a = '1.23' 此时变量a为字符串
a = int(a) 将字符串转换为整形
print(a)  报错 float转int是取前面的整数部分,而str转int毫无逻辑可言,小数点无法解析为数字# str转数字(int、float等) 必须要符合数字内容的逻辑 以str转int为例 其中不可以有字母和非法字符
'''

二、转换为浮点数(float)

1.int -> float

b3 = float(b2)
print(type(b3))  # <class 'float'>
print(b3)  # 1.0

2.str -> float

c1 = '1.11'
c1 = float(c1)
print(c1)  # 1.11
print(type(c1))  # <class 'float'>

3.注意事项

'''
还是那句话,和上面str转int一个道理,如果str里面的内容不符合float转换的逻辑
就是出现一些非法字符什么的(str转float可以有小数点,但是str转int不可以)
'''

三、转换为字符串(str)

'''
为什么要转换成字符串?
将数据类型转换为字符串大都是用来 拼接 因为字符串只能和字符串进行拼接
'''
name = 'jwel:'
age = 23
print(name + age) #报错'''
print(name + age) 此时报错 因为字符串无法和整形变量直接拼接在一起
所以要将其他类型转换为str类型才可以进行拼接
'''

1.int -> str

age = str(age)
print(name + age)  # jwel:23

2.float -> str

height = 183.5
height = str(height)
print(name + height)  # jwel:183.5

3.bool -> str

result = True
result = str(result)
print(result)  # True

四、转换为布尔类型(bool)

'''
为什么要转换成字符串?
将数据类型转换为字符串大都是用来 拼接 因为字符串只能和字符串进行拼接
'''
name = 'jwel:'
age = 23
print(name + age) #报错'''
print(name + age) 此时报错 因为字符串无法和整形变量直接拼接在一起
所以要将其他类型转换为str类型才可以进行拼接
'''

1.int -> bool

i = 1
i = bool(i)
print(i)  # Truei1 = 2
i1 = bool(i1)
print(i1)  # Truei2 = -1
i2 = bool(i2)
print(i2)  # Truei0 = 0
i0 = bool(i0)
print(i0)  # False'''
由以上案例可以得出结论 若对非0整数进行布尔转换,结果为True,反之为False
'''

2.float -> bool

f = 1.23
f = bool(f)
print(f)  # Truef1 = -0.23
f1 = bool(f1)
print(f1)  # Truef0 = 0
f0 = bool(f0)
print(f0)  # False'''
由以上案例可以得出结论 若对非0.0浮点数进行布尔转换,结果为True,反之为False
'''

3.str -> bool

# 只要字符串中有内容,那么强制转换为bool类型时都为True,反之为False(有空格也算有字符)
s = "加油加油"
s = bool(s)
print(s)  # Trues1 = ""
s1 = bool(s1)
print(s1)  # False

4.list -> bool

# 只要列表中有元素(数据),那么强制转换为bool类型时,返回True;反之为False
lt = ['a', 'b', 'c']
lt = bool(lt)
print(lt)  # Truelt0 = []  # 这里一个元素都没有就是 奥义真·空 列表空 返回False
lt0 = bool(lt0)
print(lt0)  # False'''
注意啊!列表中拥有元素就不算空,元素的内容为空是元素的事情,但是依然是一个元素(存在),列表不为空
'''
lt1 = ['']  # 元素空不代表列表空
lt1 = bool(lt1)
print(lt1)  # True

5.tuple -> bool

# 只要元组中有元素(数据),那么强制转换为bool类型时,返回True;反之为False
tp = (1, 2, 3)
tp = bool(tp)
print(tp)  # Truetp0 = ()  # 空元组
tp0 = bool(tp0)
print(tp0)  # False

6.dict -> bool

# 只要字典中有内容(键值对),那么强制转换为bool类型时,返回True;反之为False
dc = {"name": "paul"}
dc = bool(dc)
print(dc)  # Truedc0 = {}
dc0 = bool(dc0)
print(dc0)  # False

五、总结(可以直接看总结,然后不明白再去看具体的例子)

'''
大致总结一下 转换为bool类型的规律int 和 float 的规律
int非0整数均为True;0为False
float非0.0浮点数均为True;0.0为Flasestr
字符串内容非空即为True;反之为Falselist、tuple、dict
里面有内容就为True
没有内容 空的时候为False
'''

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

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

相关文章

题目 1807: [编程基础]输入输出练习之格式控制

题目描述 依旧是输入三个整数&#xff0c;要求按照占8个字符的宽度&#xff0c;并且靠左对齐输出 输入格式 一行三个整数&#xff0c;空格分开 输出格式 输出它们按格式输出的效果&#xff0c;占一行 样例输入 123456789 -1 10 样例输出% 123456789-1 10 这里…

Zookeeper之手写一个分布式锁

前言 我之前写了一篇快速上手ZK的文章&#xff1a;https://blog.csdn.net/qq_38974073/article/details/135293106 本篇最要是进一步加深学习ZK&#xff0c;算是一次简单的实践&#xff0c;巩固学习成果。 设计一个分布式锁 对锁的基本要求 可重入&#xff1a;允许同一个应…

跟小德学C++之配置文件(形式)

嗨&#xff0c;大家好&#xff0c;我是出生在达纳苏斯的一名德鲁伊&#xff0c;我是要立志成为海贼王&#xff0c;啊不&#xff0c;是立志成为科学家的德鲁伊。最近&#xff0c;我发现我们所处的世界是一个虚拟的世界&#xff0c;并由此开始&#xff0c;我展开了对我们这个世界…

WPF 基础入门(简介)

简介 WPF&#xff08;Windows Presentation Foundation&#xff09;是微软推出的基于Windows 的用户界面框架&#xff0c;属于.NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架&#xff0c;真正做到了分离界面设计人员与开发人员的工作&#xff1b;同时它提供了…

如何在Vue.js中使用$emit进行组件通信

Vue.js是一个渐进式JavaScript框架&#xff0c;它以其简洁的数据绑定和组件系统而闻名。在构建具有多个组件层次的Vue应用时&#xff0c;组件间的通信成为一个关键的话题。Vue提供了一种名为$emit的方法&#xff0c;允许子组件向父组件发送消息。本文将详细介绍如何在Vue中使用…

命令模式-举例

开关和电灯之间并不存在直接耦合关系&#xff0c;在命令模式中&#xff0c;发送者与接收者之间引入了新的命令对象&#xff0c;将发送者的请求封装在命令对象中&#xff0c;再通过命令对象来调用接收者的方法。 命令模式的主要缺点如下&#xff1a; 使用命令模式可能会导致某…

Android MVVM 写法

前言 Model&#xff1a;负责数据逻辑 View&#xff1a;负责视图逻辑 ViewModel&#xff1a;负责业务逻辑 持有关系&#xff1a; 1、ViewModel 持有 View 2、ViewModel 持有 Model 3、Model 持有 ViewModel 辅助工具&#xff1a;DataBinding 执行流程&#xff1a;View &g…

视频监控EasyCVR如何通过设置sei接口,实现在webrtc视频流中添加画框和文字?

安防视频监控系统基于视频综合管理平台EasyCVR视频系统&#xff0c;采用了开放式的网络结构&#xff0c;可以提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘阵列存储、视频集中存储、云存储等丰富的视频能力&#xff0c;具备权限管…

传奇私服教程,新手小白速速下载!

传奇私服教程&#xff0c;新手小白速速下载&#xff01; 第二十课-封玩家账号登陆-封玩家机器码登陆.zip 第十九课-快速搭建FTP服务器教程配套工具.zip 第十八课-绿盟GOM1108引擎登陆器配置防劫持列表教... 第十七课-最新访问网站自动弹出加群教程.zip 修复沙城捐献不了或者捐献…

Flutter BottomSheet 拖动分两段展示

第一段 第二段 实现思路 通过 GestureDetector 的 Drag 方法&#xff0c;动态改变Dialog的高度&#xff0c;通过设置一个最大高度和最小高度分成两层进行展示 实现 常用的展示BottomSheet的方法为 showModalBottomSheet /// 设置最高最好以高度的比例进行设置&#xff0c;方…

FPGA设计时序约束十四、Set_External_Delay

一、序言 在时序约束中对clock的约束还存在一种特殊的延时约束set external delay。set external delay如字面含义&#xff0c;设置外部的时延值&#xff0c;但这个外部时延主要是指反馈时延&#xff0c;即信号从FPGA的output端口输出后经过外部电路回到输入端口的时延值。 二…

Linux:线程优先级设置

目录 一、背景二、调整普通线程的优先级通过系统命令通过Linux C代码 三、调整实时线程的优先级通过系统命令通过Linux C代码 四、参考资料&#xff08;建议一定要阅读&#xff09; 在操作系统中&#xff0c;线程优先级决定了线程在 CPU 调度时的重要性。较高优先级的线程会在竞…

服务器被黑了,记录一下

前两天刚开的新的服务&#xff0c;立马被黑&#xff0c;哈哈。有懂这个是什么黑组织吗&#xff0c;哈哈 All your data is backed up. You must pay 0.017 BTC to 1KdmpErgS3isFf8FrLaTfGHLQPKNsv839G In 48 hours, your data will be publicly disclosed and deleted. (more i…

STL——函数对象

目录 1.函数对象 1.1函数对象概念 1.2函数对象使用 2.谓词 2.1谓词概念 2.2一元谓词 2.3二元谓词 3.内建函数对象 3.1内建函数对象意义 3.2算数仿函数 3.3关系仿函数 3.4逻辑仿函数 1.函数对象 1.1函数对象概念 概念&#xff1a; 重载函数调用操作符的类&#x…

C_11微机原理练习题答案

一、单项选择题(本大题共 15 小题,每小题 3分,共45分。在每小题给出的四个备选项中,选出一个正确的答案。) .EXE 文件产生在(D)之后。A.汇编 B. 编辑 C.用软件转换 D.连接 2,十进制-61的8位二进制原码是(D)A. 00101111 B. 00111101 C. 10101111 D. 10111101 某机存储器…

GEE错误——‘xxx‘ did not match any bands.

这里我们在进行影像展示的时候会出现下面的错误,主要的原因是我们虽然进行了波段运算,但是依旧无法加载,主要原因是我们没有将计算过后的波段信息进行添加到我们的一个多波段影像,这里我们首先来看看代码出现的错误提示。当然这里只是给出了主要的问题,其实在进行波段运算…

Visual Basic入门指南(一)

Visual Basic入门指南 Visual Basic是一种由微软公司开发的简单、易学的编程语言。它被广泛应用于Windows应用程序的开发&#xff0c;并且有着强大的可视化编程能力。本文将介绍Visual Basic的基础知识和常用技巧&#xff0c;帮助读者快速入门。 环境准备 随便找一个软件安装…

Android系列-LayoutInflater 几个 inflate方法的区别

&#xff08;来自chatgpt的回答&#xff09; LayoutInflater 提供了多个 inflate 方法&#xff0c;用于将 XML 布局文件解析为相应的视图对象。这些方法的主要区别在于参数的组合和用途。以下是常见的几个 inflate 方法及其区别&#xff1a; 1.inflate(int resource, ViewGro…

java在线票务系统(选座)Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java servlet 在线票务系统&#xff08;选座&#xff09;管理系统是一套完善的java web信息管理系统 系统采用serlvetdaobean&#xff08;mvc模式)&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要…

PowerShell Instal 一键部署TeamCity

前言 TeamCity 是一个通用的 CI/CD 软件平台,可实现灵活的工作流程、协作和开发实践。允许在您的 DevOps 流程中成功实现持续集成、持续交付和持续部署。 系统支持 Centos7,8,9/Redhat7,8,9及复刻系列系统支持 Windows 10,11,2012,2016,2019,2022高版本建议使用9系列系统…