本篇将会介绍如何使用Python中的内置函数将数字型变量与字符串变量进行相互转换。
文章目录
- 1. 字符串转数字
- 2. 数字转字符串
在上篇中写如下代码会报错
In [12]: num1=input("请输入num1")
请输入num1345
In [13]: print(num1*10)
345345345345345345345345345345
In [14]: print(num1+100)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[14], line 1
----> 1 print(num1+100)
TypeError: can only concatenate str (not "int") to str
以上的原因是:
- input能够返回的变量类型,其实是字符串类型的
- num1是一个字符串
- 只有数字型的数据,才支持数字有关的加减乘除等运算
上述的num1
需要从字符串转换为数字才能与100进行相加。
1. 字符串转数字
可以使用内置函数int,将字符串类型的变量,转为数字类型:
In [1]: int("500")
Out[1]: 500
In [2]: int("500") + 1000
Out[2]: 1500
修改相关代码:
num1 = input("Input an number")
num1 = int(num1)
print(num1 + 1000)
运行结果:
int还可以转换其他进制的字符串为数字,只需要多传递一个参数,表示进制即可:
In [3]: num2 = int("0x20",16)
In [4]: print(num2)
32
In [5]: num2 = int("0o123",8)
In [6]: print(num2)
83
2. 数字转字符串
在Python中,提供内置函数str,可以将数字转换为字符串:
In [7]: num1 = 112233
In [8]: mystr = str(num1)
In [9]: print(num1)
112233
In [10]: print(mystr)
112233
In [11]: num1+ "hello"
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[11], line 1
----> 1 num1+ "hello"
TypeError: unsupported operand type(s) for +: 'int' and 'str'
In [12]: mystr + "hello"
Out[12]: '112233hello'
3.学习视频地址:数字与字符串之间的转换