- Python 基础知识
- Python - 主页
- Python - 概述
- Python - 历史
- Python - 特性
- Python 与 C++
- Python——Hello World 程序
- Python - 应用领域
- Python解释器
- Python-环境设置
- Python-虚拟环境
- Python - 基本语法
- Python - 变量
- Python - 数据类型
- Python - 类型转换
- Python - Unicode 系统
- Python - 文字
- Python - 运算符
- Python - 运算符优先级
- Python - 算术运算符
- Python - 赋值运算符
- Python - 增强运算符
- Python - 比较运算符
- Python - 逻辑运算符
- Python - 位运算符
- Python - 会员运算符
- Python - 身份运算符
- Python - 注释
- Python - 用户输入
- Python - 数字
- Python - 布尔值
- Python 控制语句
- Python - 控制流
- Python - 决策
- Python - 如果有的话
- Python - 大小写匹配语句
- Python - for 循环
- Python - for-else 循环
- Python - While 循环
- Python-break语句
- Python-继续语句
- Python - pass 语句
- Python 函数和模块
- Python - 函数
- Python - 默认参数
- Python - 关键字参数
- Python - 仅关键字参数
- Python - 位置参数
- Python - 仅位置参数
- Python - 任意参数
- Python - 变量作用域
- Python - 函数注释
- Python - 模块
- Python - 内置函数
- Python 字符串
- Python-字符串
- Python - 字符串切片
- Python-修改字符串
- Python-字符串连接
- Python——字符串格式化
- Python - 转义字符
- Python - 字符串方法
- Python - 弦乐练习
- Python 列表
- Python - 列表
- Python - 访问列表项
- Python - 更改列表项
- Python - 添加列表项
- Python - 删除列表项
- Python - 循环列表
- Python - 列表理解
- Python - 列表排序
- Python - 复制列表
- Python - 连接列表
- Python - 列表方法
- Python - 列出练习
- Python 元组
- Python - 元组
- Python - 访问元组项
- Python - 更新元组
- Python - 解压元组
- Python - 循环元组
- Python - 连接元组
- Python - 元组方法
- Python - 元组练习
- Python 集
- Python - 集合
- Python - 访问设置项
- Python - 添加设置项
- Python - 删除设置项
- Python - 循环集
- Python - 连接集
- Python - 复制集
- Python - 集合运算符
- Python - 设置方法
- Python - 设置练习
- Python 字典
- Python - 字典
- Python - 访问字典项目
- Python - 更改字典项目
- Python - 添加字典项
- Python - 删除字典项
- Python - 字典查看对象
- Python - 循环字典
- Python - 复制字典
- Python - 嵌套字典
- Python - 字典方法
- Python - 字典练习
- Python 数组
- Python-数组
- Python - 访问数组项
- Python - 添加数组项
- Python - 删除数组项
- Python - 循环数组
- Python - 复制数组
- Python - 反转数组
- Python - 数组排序
- Python - 连接数组
- Python - 数组方法
- Python - 数组练习
- Python 文件处理
- Python - 文件处理
- Python-写入文件
- Python-读取文件
- Python - 重命名和删除文件
- Python - 目录
- Python - 文件方法
- Python - 操作系统文件/目录方法
- 面向对象编程
- Python - OOP 概念
- Python - 对象和类
- Python - 类属性
- Python - 类方法
- Python - 静态方法
- Python - 构造函数
- Python - 访问修饰符
- Python——继承
- Python——多态性
- Python - 方法重写
- Python - 方法重载
- Python - 动态绑定
- Python - 动态类型
- Python - 抽象
- Python-封装
- Python - 接口
- Python - 包
- Python - 内部类
- Python - 匿名类和对象
- Python-单例类
- Python - 包装类
- Python-枚举
- Python-反射
- Python 错误与异常
- Python - 语法错误
- Python - 异常
- Python - try- except 块
- Python - try-finally 块
- Python - 引发异常
- Python - 异常链
- Python - 嵌套 try 块
- Python - 用户定义的异常
- Python-日志记录
- Python-断言
- Python - 内置异常
- Python 多线程
- Python-多线程
- Python-线程生命周期
- Python - 创建线程
- Python - 启动线程
- Python - 连接线程
- Python - 命名线程
- Python-线程调度
- Python-线程池
- Python - 主线程
- Python-线程优先级
- Python - 守护线程
- Python - 同步线程
- Python同步
- Python-线程间通信
- Python-线程死锁
- Python - 中断线程
- Python 网络
- Python-网络
- Python-套接字编程
- Python-URL 处理
- Python - 泛型
- Python 杂项
- Python - 日期和时间
- Python - 数学
- Python - 迭代器
- Python - 生成器
- Python - 闭包
- Python - 装饰器
- Python - 递归
- Python - 正则表达式
- Python-PIP
- Python-数据库访问
- Python - 弱引用
- Python-序列化
- Python - 模板
- Python - 输出格式
- Python-性能测量
- Python-数据压缩
- Python - CGI 编程
- Python - XML 处理
- Python - 图形用户界面编程
- Python - 命令行参数
- Python - 文档字符串
- Python-JSON
- Python-发送电子邮件
- Python - 进一步扩展
- Python - 工具/实用程序
- Python - 图形用户界面
- Python 问题与解答
- Python - 编程示例
- Python - 快速指南
- Python - 有用的资源
- Python - 讨论
Python - 类型转换
在制造中,铸造是将液化或熔融金属倒入模具中并使其冷却以获得所需形状的过程。在编程中,转换是指将一种类型的对象转换为另一种类型的对象。在这里,我们将学习Python中的类型转换。
Python 类型转换
Python 中有不同的数据类型,例如数字、序列、映射等。可能存在这样的情况:您拥有一种类型的可用数据,但您想以另一种形式使用它。例如,用户输入了一个字符串,但您想将其用作数字。Python 的类型转换机制可以让你做到这一点。
Python 类型转换是将一种数据类型的文字转换为另一种数据类型的过程。Python 支持两种类型的转换 -隐式和显式。
Python 隐式转换
当任何语言编译器/解释器自动将一种类型的对象转换为另一种类型时,称为自动或隐式转换。Python 是一种强类型语言。它不允许不相关数据类型之间的自动类型转换。例如,字符串不能转换为任何数字类型。但是,整数可以转换为浮点数。其他语言(例如 JavaScript)是弱类型语言,其中整数被强制转换为字符串以进行连接。
请注意,每种数据类型的内存要求不同。例如, Python 中的整数对象占用 4 个字节的内存,而浮点对象由于其小数部分而需要 8 个字节。因此,Python 解释器不会自动将float转换为int,因为这会导致数据丢失。另一方面,通过将其小数部分设置为 0,可以轻松地将int转换为float 。
当对int和float操作数进行任何算术运算时,会发生隐式int到float转换。
假设我们有一个 、int和一个float变量
<<< a=10 # int object <<< b=10.5 # float object
为了执行加法,10 - 整数对象升级为 10.0。它是一个浮点数,但等同于它之前的数值。现在我们可以执行两个浮点数的加法。
<<< c=a+b <<< print (c) 20.5
在隐式类型转换中,具有较小字节大小的 Python 对象将被升级以匹配操作中其他对象的较大字节大小。例如,布尔对象首先升级为 int,然后升级为 float,然后再与浮点对象相加。在下面的示例中,我们尝试在浮点数中添加一个布尔对象,请注意,True 等于 1,False 等于 0。
a=True; b=10.5; c=a+b; print (c);
这将产生以下结果:
11.5
Python 显式转换
尽管自动或隐式转换仅限于int到float转换,但您可以使用 Python 的内置函数 int()、float() 和 str() 来执行显式转换,例如字符串到整数。
Python int() 函数
Python 的内置int()函数将整数文字转换为整数对象,将浮点数转换为整数,如果字符串本身具有有效的整数文字表示,则将字符串转换为整数。
使用int()以 int 对象作为参数相当于直接声明int对象。
<<< a = int(10) <<< a 10
与 - 相同
<<< a = 10 <<< a 10 <<< type(a) <class 'int>
如果int()函数的参数是浮点对象或浮点表达式,则它返回 int 对象。例如 -
<<< a = int(10.5) #converts a float object to int <<< a 10 <<< a = int(2*3.14) #expression results float, is converted to int <<< a 6 <<< type(a) <class 'int'>
如果将布尔对象作为参数给出,则 int() 函数还会返回整数1 。
<<< a=int(True) <<< a 1 <<< type(a) <class 'int'>
字符串到整数
int ()函数从字符串对象返回一个整数,前提是它包含有效的整数表示形式。
<<< a = int("100") <<< a 100 <<< type(a) <class 'int'> <<< a = ("10"+"01") <<< a = int("10"+"01") <<< a 1001 <<< type(a) <class 'int'>
但是,如果字符串包含非整数表示形式,Python 会引发 ValueError。
<<< a = int("10.5") Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: invalid literal for int() with base 10: '10.5' <<< a = int("Hello World") Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: invalid literal for int() with base 10: 'Hello World'
int ()函数还从二进制、八进制和十六进制字符串返回整数。为此,该函数需要一个基本参数,该参数必须分别为 2、8 或 16。该字符串应具有有效的二进制/八进制/十六进制表示形式。
二进制字符串到整数
该字符串应仅由 1 和 0 组成,基数应为 2。
<<< a = int("110011", 2) <<< a 51
二进制数 110011 的十进制等效值是 51。
八进制字符串到整数
该字符串只能包含 0 到 7 位数字,基数应为 8。
<<< a = int("20", 8) <<< a 16
八进制 20 的十进制等效值是 16。
十六进制字符串到整数
该字符串应仅包含十六进制符号,即 0-9 和 A、B、C、D、E 或 F。基数应为 16。
<<< a = int("2A9", 16) <<< a 681
十六进制 2A9 的十进制等效值是 681。您可以使用 Windows、Ubuntu 或智能手机中的计算器应用程序轻松验证这些转换。
以下是将数字、浮点数和字符串转换为整数数据类型的示例:
a = int(1) # a will be 1 b = int(2.2) # b will be 2 c = int("3") # c will be 3 print (a) print (b) print (c)
这会产生以下结果 -
1 2 3
Python float() 函数
float ()是 Python 中的内置函数。如果参数是浮点文字、整数或具有有效浮点表示的字符串,则它返回浮点对象。
使用 float() 并以 float 对象作为参数相当于直接声明 float 对象
<<< a = float(9.99) <<< a 9.99 <<< type(a) <class 'float'>
与 - 相同
<<< a = 9.99 <<< a 9.99 <<< type(a) <class 'float'>
如果float()函数的参数是整数,则返回值是浮点数,小数部分设置为 0。
<<< a = float(100) <<< a 100.0 <<< type(a) <class 'float'>
如果字符串包含有效的浮点数,float() 函数会从字符串返回 float 对象,否则会引发ValueError 。
<<< a = float("9.99") <<< a 9.99 <<< type(a) <class 'float'> <<< a = float("1,234.50") Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: could not convert string to float: '1,234.50'
这里出现 ValueError 的原因是字符串中存在逗号。
为了字符串到浮点转换的目的,浮点的科学表示法也被认为是有效的。
<<< a = float("1.00E4") <<< a 10000.0 <<< type(a) <class 'float'> <<< a = float("1.00E-4") <<< a 0.0001 <<< type(a) <class 'float'>
以下是将数字、浮点数和字符串转换为浮点数据类型的示例:
a = float(1) # a will be 1.0 b = float(2.2) # b will be 2.2 c = float("3.3") # c will be 3.3 print (a) print (b) print (c)
这会产生以下结果 -
1.0 2.2 3.3
Python str() 函数
我们看到了 Python 如何从相应的字符串表示中获取整数或浮点数。str ()函数的作用相反。它用引号 (') 括住整数或浮点对象以返回 str 对象。str ()函数返回任何 Python 对象的字符串表示形式。在本节中,我们将看到Python 中str()函数的不同示例。
str() 函数有三个参数。第一个必需参数(或参数)是我们想要其字符串表示形式的对象。其他两个运算符(编码和错误)是可选的。
我们将在 Python 控制台中执行 str() 函数,以轻松验证返回的对象是否是一个带有引号 (') 的字符串。
整数转字符串
您可以将任何整数转换为字符串,如下所示:
<<< a = str(10) <<< a '10' <<< type(a) <class 'str'>
浮点到字符串
str() 函数将具有浮点数表示法、以小数点分隔整数和小数部分的标准表示法以及科学表示法的浮点对象转换为字符串对象。
<<< a=str(11.10) <<< a '11.1' <<< type(a) <class 'str'> <<< a = str(2/5) <<< a '0.4' <<< type(a) <class 'str'>
在第二种情况下,除法表达式作为 str() 函数的参数给出。请注意,首先计算表达式,然后将结果转换为字符串。
使用 E 或 e 以及正幂或负幂的科学记数法中的浮点数通过 str() 函数转换为字符串。
<<< a=str(10E4) <<< a '100000.0' <<< type(a) <class 'str'> <<< a=str(1.23e-4) <<< a '0.000123' <<< type(a) <class 'str'>
当布尔常量作为参数输入时,它会被 (') 包围,因此 True 变为 'True'。List 和 Tuple 对象也可以作为 str() 函数的参数。结果字符串是由 (') 包围的列表/元组。
<<< a=str('True') <<< a 'True' <<< a=str([1,2,3]) <<< a '[1, 2, 3]' <<< a=str((1,2,3)) <<< a '(1, 2, 3)' <<< a=str({1:100, 2:200, 3:300}) <<< a '{1: 100, 2: 200, 3: 300}'
以下是将数字、浮点数和字符串转换为字符串数据类型的示例:
a = str(1) # a will be "1" b = str(2.2) # b will be "2.2" c = str("3.3") # c will be "3.3" print (a) print (b) print (c)
这会产生以下结果 -
1 2.2 3.3
序列类型的转换
List、Tuple 和 String 是 Python 的序列类型。它们是有序或索引的项目集合。
可以使用list()函数将字符串和元组转换为列表对象。类似地,tuple()函数将字符串或列表转换为元组。
我们将为这三种序列类型中的每一种选择一个对象并研究它们的相互转换。
<<< a=[1,2,3,4,5] # List Object <<< b=(1,2,3,4,5) # Tupple Object <<< c="Hello" # String Object ### list() separates each character in the string and builds the list <<< obj=list(c) <<< obj ['H', 'e', 'l', 'l', 'o'] ### The parentheses of tuple are replaced by square brackets <<< obj=list(b) <<< obj [1, 2, 3, 4, 5] ### tuple() separates each character from string and builds a tuple of characters <<< obj=tuple(c) <<< obj ('H', 'e', 'l', 'l', 'o') ### square brackets of list are replaced by parentheses. <<< obj=tuple(a) <<< obj (1, 2, 3, 4, 5) ### str() function puts the list and tuple inside the quote symbols. <<< obj=str(a) <<< obj '[1, 2, 3, 4, 5]' <<< obj=str(b) <<< obj '(1, 2, 3, 4, 5)'
因此,Python 的显式类型转换功能允许借助其内置函数将一种数据类型转换为另一种数据类型。
数据类型转换函数
有几个内置函数可以执行从一种数据类型到另一种数据类型的转换。这些函数返回一个表示转换值的新对象。
先生。 | 功能说明 |
---|---|
1 | int(x [,基数]) 将 x 转换为整数。如果 x 是字符串,则 base 指定基数。 |
2 |
长(x [,基数] ) 将 x 转换为长整数。如果 x 是字符串,则 base 指定基数。 |
3 |
浮动(x) 将 x 转换为浮点数。 |
4 |
复杂(真实[,图像]) 创建一个复数。 |
5 |
str(x) 将对象 x 转换为字符串表示形式。 |
6 |
代表(x) 将对象 x 转换为表达式字符串。 |
7 |
评估(字符串) 计算字符串并返回一个对象。 |
8 |
元组 将 s 转换为元组。 |
9 |
清单 将 s 转换为列表。 |
10 |
套) 将 s 转换为集合。 |
11 |
字典(d) 创建字典。d 必须是(键,值)元组序列。 |
12 |
冻结集 将 s 转换为冻结集。 |
13 |
chr(x) 将整数转换为字符。 |
14 |
联合国人权事务高级专员办事处(x) 将整数转换为 Unicode 字符。 |
15 |
阶数(x) 将单个字符转换为其整数值。 |
16 |
十六进制(x) 将整数转换为十六进制字符串。 |
17 号 |
八月(x) 将整数转换为八进制字符串。 |