数据转换
负责转换数据类型的函数一共有3种:str() 、 int() 和float() 。
下面,我们先来学习一下,能帮我们解决刚才的代码Bug,就是str() 函数,它可以让其他类型的数据转换成str类型。
str()
函数
str()
函数能将数据转换成其字符串类型,不管这个数据是int类型还是float类型,只要放到括号里。这个数据就能摇身一变,成为字符串类型。
下面,请你看看是如何运用str()
函数解决报错,完成数据拼接的。
who = '我'
action = '要在'
destination = '美团外卖上'
how = '点'
number = 10
what = '套炸鸡'
print(who + action + destination + how + str(number) + what)
复制代码
是不是挺简单的?我们只需通过str(number)
一个步骤,便可以将整数类型的【10】转化为字符串类型的【10】,成功完成数据拼接。
下面成功打印出结果10是2和5的倍数。
magic = "倍数"
action = "是"
unit_and = "和"
uint = "的"
number1 = 10
number2 = 2
number3 = 5
print(str(number1)+action+str(number2)+unit_and+str(number3)+unit+magic)
复制代码
整数转换字符串类型的方法是不是很方便?那如果我告诉你,还有一种转换成字符串的方法,而且这种方法你已经学会了呢?
print("10"+action+"2"+unit_and+"5"+unit+magic)
复制代码
下面,请你来实际运行一下,看能否出现两个一样的内容:
magic = "倍数"
action = "是"
unit_and = "和"
uint = "的"
number1 = 10
number2 = 2
number3 = 5
print(str(number1)+action+str(number2)+unit_and+str(number3)+unit+magic)
print("10"+action+"2"+unit_and+"5"+unit+magic)
复制代码
你看,我们是不是用两种不同的写法:str()
函数和引号,输出了同一种结果?
可是,为什么引号内我们使用的是数字,而不是变量名number呢?这是因为,当我们使用引号时,引号里的东西,都会被强制转换为字符串格式。
所以,如果我们把变量名number放进引号里后,被强制转换为字符串的,将是变量名number,而不是变量名代表的数字10。
可能有人会在心里吐槽:既然引号用着这么麻烦,那我直接用str() 呗~你看这多省事。
其实,我并不是单单地在教你编程方法,而是想传达给你一种编程思维——条条大路通罗马。
代码的世界千变万化,同一个结果可能有千百万种答案,如果我们只心安理得地,局限在一种思维模式下。那这个思维定势一定会阻挡你的进步,阻止你成为真·大佬。
所以,我希望你能尽情创新,尝试不同的选择,就像老祖宗说的:胆大心细,绝对没错。
总结
str()
函数能将数据转换成其字符串类型,不管这个数据是int类型还是float类型,只要放到括号里。这个数据就能摇身一变,成为字符串类型。