python中的数据类型转换

今天想要写的是python中比较简单但是又相对重要的数据类型之间的互相转换。所谓数据类型转换其实很简单,生活中就有很多的例子,比如:15+2.2=17.2,看着好像只是一次普通的数学运算,但是却存在了一次数据类型之间的转换。“15”在数据类型中被称为整型,“2.2”在数据类型中则被称之为浮点型,那么在我们的程序中整型是没办法直接和浮点型的数据进行运算操作,这时候我们可爱的python就偷偷的将“15”转化成了“15.0”的浮点型数据,这样浮点型数据之间就可以做到运算等相关的操作,这就是我们首先要说的自动数据类型转换。

首先我们要知道的是数据类型转换分为自动数据类型转换(隐式数据类型转换)和强制数据类型转换(显式数据类型转换)两种。接下来第一个首当其冲要被拿来开刀的就是自动数据类型转换。

所谓自动数据类型转换很简单啊,字面意思,系统自己偷偷地把数据进行合适的转换。那么自动数据类型转换的特点呐,分为以下三点:

1.自动数据类型转换由程序自动执行,不需要人工干预

2.自动数据类型转换多发生在运算和判断过程中

3.自动数据类型转换会向着更加精确的类型转换

下面我们来举个“栗子”简单的看一下:

intvar = 15

floatvar = 2.2

#运算时整数15转化成了浮点数15.0

result = intvar + floatvar

print(result)

亦或者是在判断的时候:

if 0 :

  print(“我们都爱小饼饼,我喊小饼饼,你们说爱~”)

  print(“小饼饼~”)

  print(“爱~”)

这就是自动数据类型转换的部分,那么接下来就介绍一下我们的重头戏吧,下面有请强制数据类型转换登场,?(^?^*)      (我将会以各种“栗子”的方式来介绍下面的所有类型)

1.int() 强制将其他数据类型转换为整型:

(1).浮点数可以转化为整型  --> 去掉小数的部分

(2).整型 --> 额。。。整型就是整型啦,不需要再进行转换了

(3).布尔值:True --> 1  False --> 0

(4).复数:额,因为是虚拟的不存在的,所以无法进行强转

(5).字符串:只有纯整数的字符串才可以转化为整型,其他的统统都不可以,即使你大爷是“马爸爸”也不行哦

(6).那么剩下的列表、元组、字典、集合也一样很抱歉,你们长得太丑,int并不喜欢你们,所以也不会给你们进行强转

2.float() 强制将其他数据类型转化为浮点型

(1).整数转换为浮点数 --> 在整数的末尾添加“.0”即可

(2).浮点数就是浮点数啦,不需要再转换了

(3).布尔值 True --> 1.0   False --> 2.0

(4).复数还是老问题,没法进行转换

(5).字符串:纯整型或者纯浮点型字符串才可以转换,其他的统统不可以

(6).列表、元组、字典、集合不仅不招int的待见,就连float都嫌弃他们,真可怜0.0

3.bool() 将其他数据类型转换为布尔值

接下来的转化为布尔值False的情况,其他的都是True:

(1).整型的 0

(2).浮点型的 0.0(注意,这是零点零,不是我发的表情= =)

(3).布尔值的 False

(4).复数的 0j 或者是 0+0j

(5).字符串的空字符串 ‘ ’

(6).列表中的空列表 [ ]

(7).元组的空元组 ( )

(8).字典中的空字典 { }

(9).集合中的空集合 set( )

4.complex() 将其他数据类型转换为复数

(1).整型 --> 整数部分 + 0j

(2).浮点型 --> 浮点数部分 + 0j

(3).布尔值 --> True ==> 1 + 0j   False ==> 0 + 0j

(4).复数:额还是老样子,复数就是复数,不需要再转换了

(5).字符串:纯整型和纯浮点型字符串可以转化为复数,只需要在最后加上“0j”即可

(6).哎,列表、元组、字典、集合依旧无法转换

5.str() 将其他数据类型转化为字符串

str在所有的强制数据类型转换中应该属于老好人一样的存在,因为所有类型的值都是可以直接转换为字符串类型,值保持不变(也可以理解为在所有数据的两侧加了字符串的引号而已)

6.list() 将其他数据转化为列表

(1).字符串:将字符串中的每个字符变成列表中的多个值(元素)

(2).元组:直接改变数据类型,括号由()变成 [ ] 即可

(3).集合:转化为列表的时候顺序是随机的(因为集合本身就是无序的数据)

(4).字典:转换为列表的时候顺序同样是随机的,仅仅会将字典的键取出来组成列表

7.tuple() 将其他数据类型转换为元组

(1).字符串:将字符串中的每个字符变成列表中的多个值(元素)

(2).列表:直接改变数据类型,括号由 [ ] 变成()

(3).集合:转化为元组的时候顺序是随机的(还是因为集合本身是一堆无序的数据)

(4).字典:转换为元组的时候顺序也是随机的,仅仅将字典的键取出来组成元组

8.set() 将其他数据类型转换为集合

特点:所有转化的结果顺序随机;所有重复数据只会保留一份

(1).字符串:字符串中的每个值转化为集合中的值(去重)

(2).列表:列表中的每个值转化为集合中的值(去重)

(3).字典:将字典的所有键组成集合即可

9.dict() 将其他数据类型转换为字典

时间: 2024-10-08 17:44:40

python中的数据类型转换的相关文章

Python中的数据类型转换举例及脚本统计服务器内存实例

统计系统剩余的内存 In [1]: s1 = 'abc' In [2]: help(s1.startswith) Help on built-in function startswith: startswith(...) S.startswith(prefix[, start[, end]]) -> bool Return True if S starts with the specified prefix, False otherwise. With optional start, test

js中的数据类型转换(找相应的值小案例)

js中数据类型转换是一个很频繁会用到的一部分,那么在实际案例中会出现各种的数据类型,想要满足某些条件,那还必须要不同类型的数据进行转换,今天就通过一个小例子,来找出相对应的数据类型. 先看一个一个数组,数组里的内容很复杂,包含了所有的数据类型,然后我们通过不同的条件找到相对应的内容: var arr = [ '100px', 'abc'-6, [], -98765, 34, -2, 0, '300', , function(){alert(1);}, null, document, [], tr

Python(5)_Python中的数据类型转换

自动类型转换 # 自动类型转换,隐式转换 # 不需要人工干预 # 自动类型转换多发生在运算或者是判断过程当中 intval = 123 floatval = 11.1 result = intval*floatval print(result) #if 语句 if True: print(123) 强制类型转换 # 强制类型转换,显示转换 intval =100 floatval = 91.1 result = intval + int(floatval) # 这个哥们被强了!!!哈哈,被包起来

JavaScript中的数据类型转换

本文中提到的“原始值”指的是undefined,null,Boolean,string和number. 本文中的对象是native对象,宿主对象(浏览器定义的对象)按照各自的算法转换. JavaScript中共有六种数据类型,Undefined.Null.Boolean.Number.String和Object. 关于类型转换,JavaScript很有趣的一点是,它会根据他期待的数据类型自动进行类型转换.也就是说,即便你不给他他想要的,他也会自己动手把你给的变成他想要的. 那么这里就有两个问题,

C#中的数据类型转换

数据类型在一定的条件下是可以相互转换的,如将int型数据转换成double型数据.C#允许使用两种转换方式:隐式转换和显式转换. 1.隐式转换 隐式转换:从类型A到类型B的转换可以在所有情况下进行,执行转换的规则非常简单,可以让编译器执行转换. 隐式转换不需要做任何工作,也不需要另外编写代码.如将int型数据转换成double型数据: int a = 10; double b = a;//隐式转换 隐式转换规则是:任何类型A,只要其取值范围完全包含在类型B的取值范围内,就可以隐式转换为类型B.基

WPF中在XAML中实现数据类型转换的两种方法

熟悉数据绑定的朋友都知道,当我们在Model中获取一个对象的数据,常常需要对其进行数据转换后显示在UI界面上,比如你用bool类型存储了一个人的性别,但是在界面上却需要经过转化后显示为男或女: 今天又把数据绑定部分又看了一下,在这里就算是做个总结吧! 方法一:当我们定义一个类,该类中又有该类类型的一个属性,那么如果我们只是在XAML中使用简单的数据绑定的话,程序就会出现问题,究其原因就是程序无法正确对该类的对象的类类型的属性无法正确转化,所以我们需要自定义一个转换类,该类继承TypeConver

Python中把数据存入csv文件

with open("可乐数据.csv","a",encoding="gbk") as fp: fp.write("%s,%s,%s,%s"%(result[0],result[1],name.split("%")[1],result[2])+"\n") 这里的csv文件如果在Python解释器中打开的话是乱码的,把文件复制出来用excel打开就正常了. 原文地址:https://www

Object-C 中各数据类型转换 NSData转NSString,Byte,UIImage

1,NSData 与 NSString NSData --> NSString NSString *aString = [[NSString alloc] initWithData:adata encoding:NSUTF8StringEncoding]; NSString --> NSData NSString *aString = @"1234"; NSData *aData = [aString dataUsingEncoding: NSUTF8StringEncod

python中的数据写入与添加数据写入

很多情况下,大家可能会遇到相同情况,就是现在有一些数据需要保存在某个文件里面,但是后续会不断更新添加新的数据,例如在爬虫的时候,一页一页爬取数据的时候,当然可以将所有页数据先合并到一起,再保存起来,但是也可以通过下文这种方式,输出一页的数据就保存一次,好像有点麻烦哈,但是如果是其他情况的话,可能就会便捷一点,例如数据更新不是很快这种情况等等. 1.引入模块 1 import os #获取当前工作路径 2 import pandas as pd #将数据保存至相应文件中 2.将数据保存至制定文件下