Python教程之类型转换详解

作者:海拥 时间:2021-03-23 02:48:17 

Python 定义了类型转换函数以将一种数据类型直接转换为另一种数据类型,这在日常和竞争性编程中很有用。本文旨在提供有关某些转换函数的信息。

Python中有两种类型转换:

  • 隐式类型转换

  • 显式类型转换

让我们详细讨论它们。

隐式类型转换

在 Python 中数据类型的隐式类型转换中,Python 解释器会自动将一种数据类型转换为另一种数据类型,而无需任何用户参与。要更清楚地了解该主题,请参阅以下示例。

例子:

x = 10

print("x is of type:",type(x))

y = 10.6
print("y is of type:",type(y))

z = x + y

print(z)
print("z is of type:",type(z))

输出:

x is of type: <class 'int'>
y is of type: <class 'float'>
20.6
z is of type: <class 'float'>

正如我们所见,&ldquo;z&rdquo;的数据类型自动更改为&ldquo;float&rdquo;类型,而一个变量 x 是整数类型,而另一个变量 y 是浮点类型。浮点值没有被转换为整数的原因是由于类型提升允许通过将数据转换为更广泛的数据类型来执行操作而不会丢失任何信息。这是python中隐式类型转换的一个简单案例。

显式类型转换

在 Python 中的显式类型转换中,数据类型由用户根据需要手动更改。使用显式类型转换,存在数据丢失的风险,因为我们强制在某些特定数据类型中更改表达式。下面解释了各种形式的显式类型转换:

1. int(a, base)

此函数将任何数据类型转换为整数。如果数据类型是字符串, 'Base' 指定字符串的基数。

2. float()

该函数用于将任何数据类型转换为浮点数

# 使用 int()、float() 演示类型转换的 Python 代码

# 初始化字符串
s = "10010"

# 打印字符串转换为 int base 2
c = int(s,2)
print ("After converting to integer base 2 : ", end="")
print (c)

# 打印字符串转换为浮点数
e = float(s)
print ("After converting to float : ", end="")
print (e)

输出:

After converting to integer base 2 : 18
After converting to float : 10010.0

3. ord() : 该函数用于将字符转换为整数。

4. hex(): 这个函数是将整数转换为十六进制字符串

5. oct() : 这个函数是将整数转换为八进制字符串

# 使用 ord()、hex()、oct() 演示类型转换的 Python 代码

# 初始化整数
s = '4'

# 打印字符转换为整数
c = ord(s)
print ("After converting character to integer : ",end="")
print (c)

# 打印整数转换为十六进制字符串
c = hex(56)
print ("After converting 56 to hexadecimal string : ",end="")
print (c)

# 打印整数转换为八进制字符串
c = oct(56)
print ("After converting 56 to octal string : ",end="")
print (c)

输出:

After converting character to integer : 52
After converting 56 to hexadecimal string : 0x38
After converting 56 to octal string : 0o70

6. tuple() : 该函数用于转换为元组

7. set() : 该函数返回转换为 set 后的类型

8. list(): 该函数用于将任何数据类型转换为列表类型

# 使用 tuple()、set()、list() 演示类型转换的 Python 代码

# 初始化字符串
s = 'geeks'

# 打印字符串转换为元组
c = tuple(s)
print ("After converting string to tuple : ",end="")
print (c)

# 打印字符串转换为设置
c = set(s)
print ("After converting string to set : ",end="")
print (c)

# 打印字符串转换为列表
c = list(s)
print ("After converting string to list : ",end="")
print (c)

输出:

After converting string to tuple : ('g', 'e', 'e', 'k', 's')
After converting string to set : {'k', 'e', 's', 'g'}
After converting string to list : ['g', 'e', 'e', 'k', 's']

9. dict() : 该函数用于将顺序为 (key,value) 的元组转换为字典

10. str() : 用于将整数转换为字符串。

11. complex(real,imag) : 此函数将实数转换为复数(real,imag)。

# 使用 dict()、complex()、str() 演示类型转换的 Python 代码

# 初始化整数
a = 1
b = 2

# 初始化元组
tup = (('a', 1) ,('f', 2), ('g', 3))

# 打印整数转换为复数
c = complex(1,2)
print ("After converting integer to complex number : ",end="")
print (c)

# 打印整数转换为字符串
c = str(a)
print ("After converting integer to string : ",end="")
print (c)

# 打印元组转换为表达式字典
c = dict(tup)
print ("After converting tuple to dictionary : ",end="")
print (c)

输出:

After converting integer to complex number : (1+2j)
After converting integer to string : 1
After converting tuple to dictionary : {'a': 1, 'f': 2, 'g': 3}

12. chr(number): 该函数将数字转换为对应的ASCII字符。

# 将 ASCII 值转换为字符
a = chr(76)
b = chr(77)

print(a)
print(b)

输出:

LM 
_

来源:https://juejin.cn/post/7132711544546131982

标签:Python,类型,转换
0
投稿

猜你喜欢

  • asp当中判断函数一览

    2010-05-27 12:15:00
  • asp文章干扰码实现方法

    2007-08-19 18:07:00
  • 状态机的概念和在Python下使用状态机的教程

    2023-03-24 14:06:11
  • asp如何在读取Excel文件时创建列表的下拉菜单?

    2010-06-18 19:59:00
  • 获取 Textarea 的光标位置

    2010-11-30 21:33:00
  • sqlserver 脚本和批处理指令小结

    2012-05-22 18:56:55
  • Go语言Elasticsearch数据清理工具思路详解

    2023-08-07 06:29:49
  • Access中的模糊查询

    2007-11-18 14:57:00
  • 再读《你是一个职业的页面重构工作者吗?》

    2009-02-11 12:22:00
  • 使用HTML和MSXML6.0 创建一个超轻量级XPATH测试程序

    2009-04-24 12:38:00
  • python中如何使用insert函数

    2023-08-02 17:04:43
  • 原创一个AJAX类

    2008-07-24 13:29:00
  • PHP数据类型之布尔型的介绍

    2023-11-14 21:56:00
  • [翻译]标记语言和样式手册 Chapter 12 CSS布局

    2008-02-13 14:19:00
  • Windows下安装python MySQLdb遇到的问题及解决方法

    2022-07-20 13:22:36
  • ajax框架:ExtJs简介

    2008-09-02 16:51:00
  • 用JavaScript判断字符串长度

    2009-10-29 12:15:00
  • MySQL数据库root权限丢失解决方案

    2008-07-13 13:59:00
  • 选择一个优秀正文字体的15个技巧

    2008-03-20 13:36:00
  • ASP如何跳出本次进入下一次循环

    2008-10-23 13:46:00
  • asp之家 网络编程 m.aspxhome.com