负责转换数据类型的函数一共有3种:str()、int()和float()。
str()函数
str()函数能将数据转换成其字符串类型,不管这个数据是中文、数字、标点还是火星文,只要放到括号里。这个数据就能摇身一变,成为字符串类型。
是不是挺简单的?我们只需通过str(number)一个步骤,便可以将整数类型的【153】转化为字符串类型的【153】,成功完成数据拼接。
整数转换字符串类型的方法是不是很方便?那如果我告诉你,还有一种转换成字符串的方法,而且这种方法你已经学会了呢?
那就是借用【引号】的帮助,比方说153=1x1x1+5x5x5+3x3x3是个水仙花数这个结果,我也可以写成下面这样:
你看,我们是不是用两种不同的写法:str()函数和引号,输出了同一种结果?
可是,为什么引号内我们使用的是数字,而不是变量名number呢?这是因为,当我们使用引号时,引号里的东西,都会被强制转换为字符串格式。
所以,如果我们把变量名number放进引号里后,被强制转换为字符串的,将是变量名number,而不是变量名代表的数字10000。
可能有人会在心里吐槽:既然引号用着这么麻烦,那我直接用str()呗~你看这多省事。
其实,我并不是单单地在教你编程方法,而是想传达给你一种编程思维——条条大路通罗马。
代码的世界千变万化,同一个结果可能有千百万种答案,如果我们只心安理得地,局限在一种思维模式下。那这个思维定势一定会阻挡你的进步,阻止你成为真·大佬。
下面,我们来小结一下str()函数部分的知识点。
既然整数类型能转换为字符串,那字符串类型能转换为整数吗?
那必须的。
int()函数
将数据转换为整数类型的方法也很简单,就是int()函数。其使用方法同str()一样,将你需要转换的内容放在括号里就行,像这样:int(转换的内容)。
下面我们来试验一下,请补全代码,计算出number1和number2这两个变量的和。【要点提示:1. int()函数转换数据类型;2. 运算符+计算;3. print()函数】
不过对于int()函数的使用,大家要注意一点:只有符合整数规范的字符串类数据,才能被int()强制转换。
别看它虽然只有一句话,但它其实带有三层含义:首先,整数形式的字符串比如'6'和'1',可以被int()函数强制转换。
其次,文字形式,比如中文、火星文或者标点符号,不可以被int()函数强制转换。
最后,小数形式的字符串,由于Python的语法规则,也不能使用int()函数强制转换。
比方说下列代码,如果点击运行,程序会报错【ValueError:invalid literal for int() with base 10: '3.8'】(值异常:浮点类型字符串无法使用int()强制转换)。
这是不是意味着,浮点数不能转换成整数类型了?
不,虽然浮点形式的字符串,不能使用int()函数。但浮点数是可以被int()函数强制转换的。
下面,请你先观察下方代码框中的代码,然后点击运行按钮。
上方的代码串,就是一条将浮点数3.8强制转换的语句。但是,为什么输出的结果是3呢?
你看,int()函数的本质是将数据转换为整数。所以对于浮点数,int()函数会做取整处理。但是,同我们平时对小数四舍五入的处理方法不同,int()函数会直接抹零,直接输出整数部分。
最后,我们来小结一下int()函数的知识点。
可是,如果遇到这种情况:字符串就是小数形式,比如'3.8'这种。我不想让它变为整数3,想让它保持小数形式的3.8,那我要怎么做呢?
这就涉及到了我们这关最后一个知识点——float()函数。
float()函数
首先float()函数的使用,也是将需要转换的数据放在括号里,像这样:float(数据)。
其次,float()函数也可以将整数和字符串转换为浮点类型。但同时,如果括号里面的数据是字符串类型,那这个数据一定得是数字形式。
那么,经过之前str()和int()操练,float()函数是不是好懂了一些?
下面,我们来打段代码练练手。请补齐代码,将下列所有变量,转换为浮点类型,并打印出结果。【要点提示:print(float(数据))】
到现在为止,你已经知道了转换数据类型的方法了。下面,我们通过一张图小结一下这三个函数。
以上这些,也仅仅是开始,以后你将学习更为复杂的代码及命令,掌握更多的与计算机沟通的技巧。