python基础之数据类型

python数据类型

在编程中,数据类型是一个重要的概念。

变量可以存储不同类型的数据,并且不同类型可以执行不同的操作。

在这些类别中,Python 默认拥有以下内置数据类型:

数据类型 python内置函数
文本类型:
str
数值类型:
int, float, complex
序列类型:
dict
映射类型:
set, frozenset
布尔类型:
bool
二进制类型:
bytes, bytearray, memoryview

可以通过type()方法来获取任何对象的数据类型

a = 1
print(type(a))

python的标准数据类型有七个:整型、字符串、列表、元组、集合、字典、布尔值

可变类型和不可变类型区别

  • 可变数据类型:当该数据类型对应的变量的值发生了变化时,如果它对应的内存地址不发生改变,那么这个数据类型就是 可变数据类型。

  • 不可变数据类型:当该数据类型对应的变量的值发生了变化时,如果它对应的内存地址发生了改变,那么这个数据类型就是 不可变数据类型。

总结:可变数据类型更改值后,内存地址不发生改变。不可变数据类型更改值后,内存地址发生改变。python查看内存地址方法:id()

pthon标准的数据类型中
可变数据类型:list(列表)、dict(字典)、set(集合,不常用)
不可变数据类型:数值类型(int、float、bool)、string(字符串)、tuple(元组)

代码举例说明:

# 数值数据类型
# 集合数据类型
set_data = {1, 'd', '34', '1', 1}
print(id(set_data), type(set_data))
 
set_data.add('djx')    # 添加元素
print(id(set_data), type(set_data))
 
# 结果
84993488 <class 'set'>
84993488 <class 'set'>

总结:对应类型的数据被修改后,内存地址无变化的即为可变类型,有变化的即为不可变类型,即对应类型的数据,内部发生变化后,内存地址无变化为可变类型,有变化为不可变类型

知识点:当两个变量的值为不可变类型时,且值相同时,内存地址指向同一个,当两个变量的值为可变类型,且值相同时,内存地址指向两个不同的地址

'''
不可变类型
'''
#数值
a = 1999
b = 1999
print(id(a),id(b))
print(a is b ) #比较内存地址是否相同
print(a == b) #比较值是否相同

#字符串类型
a = '测试'
b = '测试'
print(id(a),id(b))
print(a is b ) #比较内存地址是否相同
print(a == b) #比较值是否相同

#元组
a = (1,2,3)
b = (1,2,3)
print(id(a),id(b))
print(a is b ) #比较内存地址是否相同
print(a == b) #比较值是否相同
'''可变类型'''
#列表
a = [1,2,3]
b = [1,2,3]
print(id(a),id(b))
print(a is b ) #比较内存地址是否相同
print(a == b) #比较值是否相同

#字典
a = {'name':'测试','age':18}
b = {'name':'测试','age':18}
print(id(a),id(b))
print(a is b ) #比较内存地址是否相同
print(a == b) #比较值是否相同

#集合
a = {'ces',1}
b = {'ces',1}
print(id(a),id(b))
print(a is b ) #比较内存地址是否相同
print(a == b) #比较值是否相同
posted @ 2021-05-12 18:29  happy-winds  阅读(79)  评论(0编辑  收藏  举报