文章目录
学习目标:
1.知道什么是数据类型;
2.数据类型有哪些;
3.会用type()查看变量的数据类型。
学习内容:
一、 什么是数据类型
1.定义:数据类型用来指定数据存储时所需内存空间大小和所允许的操作的一种系统方法。
2.python变量的类型:python中变量不需要声明,但每个变量在使用前都必需为其赋值,变量的类型就是其所指向内存的对象的类型。
3.python标准数据类型(六个),其中 Number 数字型又细分为(int、bool、float、complex)注:python3 中将原python2的 Long (长整型)统一到了 int (整型)。个人理解:python中列表,就等同于其他语言中的数组。
二、查看变量类型(type())
在python中,可能通过内置函数 type() 函数查看指定对象的数据类型。
函数语法:type(对象或对象名)
num1 = 10 #定义一个整型变量
num2 = True #定义一个布尔型变量
num3 = 3.14159 #定义一个浮点型变量
num4 = 1 + 2j #定义一个复数变量
str = "Hello" #定义一个字符串变量
test_tuple = ('abcd', 18, 3.125) #定义一个元组变量
test_list = ['张三', '李四', '王五'] #定义一个列表变量
test_set = set('abcdef') #定义一个集合变量
test_dic = {'姓名': '张三', '年龄': 25, '职业': '律师'} #定义字典变量
#打印各个变量的类型
print(type(num1)); print(type(num2))
print(type(num3)); print(type(num4))
print(type(str))
print(type(test_tuple))
print(type(test_list))
print(type(test_set))
print(type(test_dic))
print(type(-3.5+0J)) #查看一个复数的数据类型
程序输出结果依次为:<class 'int'>、<class 'bool'>、<class 'float'>、<class 'complex'>、<class 'str'>、<class 'tuple'>、<class 'list'>、<class 'set'>、<class 'dict'>、<class 'complex'>
三、查看数据地址(id())
在学习中发现一个有趣的现象,查看两个相同值的变量地址时,他们的内存地址完全相同,经查看一些资料显示“对于一些小的整数和短字符串对象,Python解释器为了优化内存使用,会对它们进行缓存和重用,这意味着对于相同的小整数和短字符串,id() 返回的结果可能是相同的。”,再列出测试方法,不知什么情况下才会不同。
在python中,可能通过内置函数id()查看指定数据的地址。
函数语法:id(对象或对象名)
num1 = 10 #值为10的整数变量
num2 = 10
num3 = 3.1415926535897932384626 #定义一个自认为比较长的浮点数
chr = '这是一段用于测试的文字,主要测试变量引用内存和实际数据内存是否一致'
print(id(num1), end='不换行,')
print(id(10),end='不换行,')
print('变量num2的内存地址%d' %id(num2))
print(id(num3), end='不换行,')
print(id(3.1415926535897932384626))
print(id(chr), end='不换行,')
print(id('这是一段用于测试的文字,主要测试变量引用内存和实际数据内存是否一致'))
程序运行结果:可以发现同值变量num1和num2地址相同,长浮点数、长字符串的地址也相同。
8791137733392不换行,8791137733392不换行,变量num2的内存地址8791137733392
1487232不换行,1487232
4308256不换行,4308256
要点回顾
1.pyhon标准数据类型共6个,能区分可变类型、不可变类型;
2.数字型可细分为整数、浮点数、复数和布型(其他语言将布尔型单独作为一种数据类型);
3.ype()函数查看对象类型时,显示值分别对应哪个数据类型。
拓展练习
先自己分析,再上机演示以下代码运行结果。
num1 = 0
num2 = 0.0
print(type(num1))
print(type(num2))
print(type(num1 + num2))