Python的数据类型

# python 的数据类型提供默认的6个标准数据类型:
 # 1.数值类型Number;2.字符(串)类型String;3.列表类型List;4.元组类型Tuple;5.字典类型Dict;6.集合类型Set# 一、数字类型分为:整型、浮点型、布尔型、复数、
 # 1、数字
 #     2 是一个整数的例子。长整数不过是大一些的整数。
 #     3.23和52.3E-4 是浮点数的例子。E标记表示10的幂。在这里,52.3E-4 表示52.3 * 10 - 4。
 #     (-5 + 4j)和(2.3 - 4.6j) 是复数的例子,其中 - 5, 4 为实数,j为虚数,数学中表示复数是什么?。###  int(整型):整型包含正整数,0,负整数
 #   在32位机器上,整数的位数为32位,取值范围为 - 2 ** 31~2 ** 31 - 1,即 - 2147483648~2147483647
 #   在64位系统上,整数的位数为64位,取值范围为 - 2 ** 63~2 ** 63 - 1,即 - 9223372036854775808~9223372036854775807
 # 整型有4 种方式:
 #     二进制:  变量 = 0b + 二进制数 (注意是零)
 #     十进制:  变量 = (0 ~ 9 的数)
 #     八进制:  变量 = 0 + (0 ~ 7 的数)
 #     十六进制: 变量= 0x + (0 ~ f 的数)
 # 例1
 val = 250   #十进制数
 print(val)
 print(id(val))  #打印这个变量的id 标识
 print(type(val))  #打印这个变量的数据类型
 # 例2
 var = 0b10010  # 二进制
 print(var)     #运行出来为十进制,因为计算机里面保存的都为十进制数
 # 例3
 a = 0x13AF
 print(a)    #运行出来为十进制数5039
 ###  long(长整型)
 #   跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
 #   注意,自从Python2.2 起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。###  float(浮点型)
    浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64 位),其中52位表示底,11 位表示指数,剩下的一位表示符号。
 # 浮点型有2种方式:
 #      小数方式:变量 = 3.1412
 #      科学计数法:变量 = 314e2###  complex(复数)
 #   复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
 # 注:Python中存在小数字池:-5 ~ 257
 # 表达方式: 变量 = 实数 + 虚数
 var = 3 + 2j
 # 特定功能: 变量 = complex(实数,虚数)
 var = complex(5,3)
 # 注意:在python中,虚数单位不是i,而是用j 表示,因为工程应用中使用的j### 布尔值
 #   真或假
 #   1 或 0# 二、字符串
 # 声明一个字符串类型有三种:
 #     单引号: 变量 = '内容'   # 内容中包含大量双引号时适合使用单引号声明
 #     双引号: 变量 = “内容”  # 内容中包含大量单引号时适合使用双引号声明
 #     三引号: 变量 = ''' 内容 '''  或者  变量 = """ 内容 """
 # 万恶的字符串拼接:
 #   python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,就需要再次开辟空间,万恶的 + 号每出现一次就会在内存中重新开辟一块空间。
 # 字符串格式化输出
 name = "cheng"
 print("i am %s " % name)
 # 输出: i am cheng
 # PS: 字符串是 % s; 整数 % d; 浮点数 % f# 字符串常用功能:
 # 移除空白
 # 分割
 # 长度
 # 索引
 # 切片# 三、列表:中括号
 #     列表就是一些列数据的顺序组合,并且组合之后可修改
 # 创建列表:   格式:变量 = [值,值,值....]
 name_list = ['cheng', 'seven', 'eric']
 # 或
 name_list = list(['cheng', 'seven', 'eric'])
 # 基本操作:
 # 索引
 # 切片
 # 追加
 # 删除
 # 长度
 # 切片
 # 循环
 # 包含# 四、元组(不可变列表): 小括号
 #     元组即一些列数据的顺序组合,并且组合之后不可修改
 # 创建元组:  格式: 变量 = (值,值,值......)
 ages = (11, 22, 33, 44, 55)
 # 或
 ages = tuple((11, 22, 33, 44, 55))# 五、字典(无序): 大括号
 #     字典就是具有键值映射关系的一组无序数据组合,可修改。
 # 创建字典: 格式: 变量 = {键:值,键:值,......}
 person = {"name": "mr.wu", 'age': 18}
 # 或
 person = dict({"name": "mr.wu", 'age': 18})
 # 常用操作:
 # 索引
 # 新增
 # 删除
 # 键、值、键值对
 # 循环
 # 长度# 六、集合: 大括号
 # 集合就是一组特定数据的无序组合,所有数据不会重复。
 # 格式: 变量 = { 值,值,值...}# 七、数据类型的转换
 # int()
 # 1)数字整型转化之后,还是原来的样子
 # 2)浮点类型转化之后,舍去小数部分
 # 3)布尔值转化之后,true为1,false为0
 # 4)字符串转化,仅纯整型字符串可转
 # 5)复数不可转# float()
 # 1)数字整型转化之后,后面加.0
 # 2)浮点类型转化之后,还是本身
 # 3)布尔值转化之后,true为1.0,false为0.0
 # 4)字符串转化,纯整型字符串和纯浮点型字符串可转换,其他都不可以# complex()
 # 1)数字整型转化之后,变成(整型+0j)
 # 2)浮点类型转化之后,变成(浮点型+0j)
 # 3)布尔值转化之后,true为(1+0j),false为(0j)
 # 4)字符串转化,纯整型字符串和纯浮点型字符串可转换,其他都不可以
 # 5)复数无需转换# bool():是将其它类型转化为布尔值
 # 如果转化为布尔值 false 的情况
 # 1) 整型       0
 # 2)浮点型     0.0
 # 3)复数       0+0j
 # 4)布尔       false
 # 5) 字符串     ' '空字符串
 # 6)列表       [ ] 空列表
 # 7) 元组      ( )空元组
 # 8)字典       { } 空字典
 # 9)集合        set()空集合# str( ) :所有转换均改变为字符串类型,表示方式依旧不变
 # list( ):将其他类型转化为列表类型,在python中有5种可迭代序列,可互相转换,分别是:字符串、列表、元组、字典、集合
 # 注意:1)字符串转换时,每个字符变成列表中的一个值;
 #       2)字典类型转换时,仅将字典的键部分转换成列表,忽略值部分;
 #例4:
 var = ('张三','李四','王老五')
 newvar = list(var)
 print(newvar)  # 打印的结果是['张三', '李四', '王老五']# tuple( ):将其他类型转化为元组类型
 # 注意:1)字符串转换时,每个字符变成元组中的一个值;
 #       2)字典类型转换时,仅将字典的键部分转换成元组,忽略值部分;
 var = {'张三','李四','王老五'}
 newvar = tuple(var)
 print(newvar)  # 打印的结果是('张三', '李四', '王老五')# set( ):将其他类型转化为集合
 # 注意:1)字符串转换时,每个字符变成集合中的一个值;
 #       2)字典类型转换时,仅将字典的键部分转换成集合,忽略值部分;
 var = ['张三','李四','王老五']
 newvar = list(var)
 print(newvar)  # 打印的结果是{ '张三', '李四', '王老五'}# dict( ):将其他类型转化为字典
 # 注意:将其他类型转化为字典时,需按指定的格式才可转化;(列表和元组的组合也可以),例如:
 [['cat','黑猫'],['mouse','一只耳']]
 [('cat','黑猫'),('mouse','一只耳')]