负责转换数据类型的函数一共有3种:str()int()float()

str()函数

str()函数能将数据转换成其字符串类型,不管这个数据是中文、数字、标点还是火星文,只要放到括号里。这个数据就能摇身一变,成为字符串类型。




python 将int数据写入文件_int转换为cstring


是不是挺简单的?我们只需通过str(number)一个步骤,便可以将整数类型的【153】转化为字符串类型的【153】,成功完成数据拼接。


python 将int数据写入文件_astype强制转换不管用_02


整数转换字符串类型的方法是不是很方便?那如果我告诉你,还有一种转换成字符串的方法,而且这种方法你已经学会了呢?

那就是借用【引号】的帮助,比方说153=1x1x1+5x5x5+3x3x3是个水仙花数这个结果,我也可以写成下面这样:


python 将int数据写入文件_int转换为cstring_03


你看,我们是不是用两种不同的写法:str()函数和引号,输出了同一种结果?

可是,为什么引号内我们使用的是数字,而不是变量名number呢?这是因为,当我们使用引号时,引号里的东西,都会被强制转换为字符串格式。

所以,如果我们把变量名number放进引号里后,被强制转换为字符串的,将是变量名number,而不是变量名代表的数字10000

可能有人会在心里吐槽:既然引号用着这么麻烦,那我直接用str()呗~你看这多省事。

其实,我并不是单单地在教你编程方法,而是想传达给你一种编程思维——条条大路通罗马。

代码的世界千变万化,同一个结果可能有千百万种答案,如果我们只心安理得地,局限在一种思维模式下。那这个思维定势一定会阻挡你的进步,阻止你成为真·大佬。


python 将int数据写入文件_astype强制转换不管用_04


下面,我们来小结一下str()函数部分的知识点。


python 将int数据写入文件_astype强制转换不管用_05


既然整数类型能转换为字符串,那字符串类型能转换为整数吗?

那必须的。

int()函数

将数据转换为整数类型的方法也很简单,就是int()函数。其使用方法同str()一样,将你需要转换的内容放在括号里就行,像这样:int(转换的内容)。

下面我们来试验一下,请补全代码,计算出number1number2这两个变量的和。【要点提示:1. int()函数转换数据类型;2. 运算符+计算;3. print()函数】


python 将int数据写入文件_int转换为cstring_06


不过对于int()函数的使用,大家要注意一点:只有符合整数规范的字符串类数据,才能被int()强制转换。

别看它虽然只有一句话,但它其实带有三层含义:首先,整数形式的字符串比如'6'和'1',可以被int()函数强制转换。

其次,文字形式,比如中文、火星文或者标点符号,不可以被int()函数强制转换。

最后,小数形式的字符串,由于Python的语法规则,也不能使用int()函数强制转换。

比方说下列代码,如果点击运行,程序会报错【ValueError:invalid literal for int() with base 10: '3.8'】(值异常:浮点类型字符串无法使用int()强制转换)。


python 将int数据写入文件_astype强制转换不管用_07


这是不是意味着,浮点数不能转换成整数类型了?

不,虽然浮点形式的字符串,不能使用int()函数。但浮点数是可以被int()函数强制转换的。

下面,请你先观察下方代码框中的代码,然后点击运行按钮。


python 将int数据写入文件_astype强制转换不管用_08


上方的代码串,就是一条将浮点数3.8强制转换的语句。但是,为什么输出的结果是3呢?

你看,int()函数的本质是将数据转换为整数。所以对于浮点数,int()函数会做取整处理。但是,同我们平时对小数四舍五入的处理方法不同,int()函数会直接抹零,直接输出整数部分。

最后,我们来小结一下int()函数的知识点。


python 将int数据写入文件_int转换为cstring_09


可是,如果遇到这种情况:字符串就是小数形式,比如'3.8'这种。我不想让它变为整数3,想让它保持小数形式的3.8,那我要怎么做呢?

这就涉及到了我们这关最后一个知识点——float()函数。

float()函数

首先float()函数的使用,也是将需要转换的数据放在括号里,像这样:float(数据)。

其次,float()函数也可以将整数字符串转换为浮点类型。但同时,如果括号里面的数据是字符串类型,那这个数据一定得是数字形式。

那么,经过之前str()int()操练,float()函数是不是好懂了一些?

下面,我们来打段代码练练手。请补齐代码,将下列所有变量,转换为浮点类型,并打印出结果。【要点提示:print(float(数据))】


python 将int数据写入文件_int转换为cstring_10


到现在为止,你已经知道了转换数据类型的方法了。下面,我们通过一张图小结一下这三个函数。


python 将int数据写入文件_int转换为cstring_11


python 将int数据写入文件_astype强制转换不管用_12


以上这些,也仅仅是开始,以后你将学习更为复杂的代码及命令,掌握更多的与计算机沟通的技巧。