数字类型包括整型(int),浮点型(float),布尔型(bool),复数型(complex)。整型只能存储整数,浮点型可以存储整数和小数,布尔型输出的为True或False,True的值为1,False的值为0,复数用z=complex(a,b)的形式创建z=a+bi的复数,real(z)返回实部,imag(z)返回虚部。
字符串(string)的表现形式是用一对单或双引号括起。
列表(list)是一系列有序的元素,用一对中括号[ ]括起,元素之间用逗号隔开,元素类型不限,可以是数字字符串,元组字典集合,甚至是列表。
元组(tuple)是一系列有序数据,用一对小括号( )括起,数据间用逗号隔开,定义单个数据的元组末尾要加逗号(x , ),数据类型不限。
字典(dit)是一种映射类型,用大括号{}括起或用dict定义,其中元素以键值对形式{key:value}出现,键和值一一对应,键值对之间用逗号分隔,键(key)必须是不可变类型(数字、字符串、元组)且不可重复。
集合(set)是无序不重复序列,用{}或set()函数创建,后者可创建空集合。
数字,字符串,元组是不可变类型;列表,字典,集合是可变类型。
python
import copy
#数字类型
int=2;float=0.12;bool=True;complex=complex(1,2)
int_copy=copy.copy(int);float_copy=copy.copy(float);
bool_copy=copy.copy(bool);complex_copy=copy.copy(complex);
int_id=id(int);int_copy_id=id(int_copy)
float_id=id(float);float_copy_id=id(float_copy)
bool_id=id(bool);bool_copy_id=id(bool_copy)
complex_id=id(complex);complex_copy_id=id(complex_copy)
print("int="+str(int),"int_id="+str(int_id),"int_copy="+str(int_copy),"int_copy_id="+str(int_copy_id))
print("float="+str(float),"float_id="+str(float_id),"float_copy="+str(float_copy),"float_copy_id="+str(float_copy_id))
print("bool="+str(bool),"bool_id="+str(bool_id),"bool_copy="+str(bool_copy),"bool_copy_id="+str(bool_copy_id))
print("complex="+str(complex),"complex_id="+str(complex_id),"complex_copy="+str(complex_copy),"complex_copy_id="+str(complex_copy_id))
if((int_id==int_copy_id)&(float_id==float_copy_id)&(bool_id==bool_copy_id)&(complex_id==complex_copy_id)):
print("int,float,bool,complex是不变类型")
#字符串类型
string='123456';string_copy=copy.copy(string)
string_id=id(string);string_copy_id=id(string_copy)
print("string="+str(string),"string_id="+str(string_id),"string_copy="+str(string_copy),"string_copy_id="+str(string_copy_id))
if(string_id==string_copy_id):
print("string是不变类型")
#列表类型
list=[1,2,3,4,5,6];list_copy=copy.copy(list)
list_id=id(list);list_copy_id=id(list_copy)
print("list="+str(list),"list_id="+str(list_id),"list_copy="+str(list_copy),"list_copy_id="+str(list_copy_id))
if(list_id==list_copy_id):
print("list是不变类型")
else:
print("list是可变类型")
#元组类型
tuple=(1,2,3,4,5,6);tuple_copy=copy.copy(tuple);
tuple_id=id(tuple);tuple_copy_id=id(tuple_copy)
print("tuple="+str(tuple),"tuple_id="+str(tuple_id),"tuple_copy="+str(tuple_copy),"tuple_copy_id="+str(tuple_copy_id))
if(tuple_id==tuple_copy_id):
print("tuple是不变类型")
else:
print("tuple是可变类型")
#字典类型
dit= {'a':1,2:'b'};dit_copy=copy.copy(dit)
dit_id=id(dit);dit_copy_id=id(dit_copy)
print("dit="+str(dit),"dit_id="+str(tuple_id),"dit_copy="+str(dit_copy),"dit_copy_id="+str(dit_copy_id))
if(dit_id==dit_copy_id):
print("dit是不变类型")
else:
print("dit是可变类型")
#集合类型
set= {1,'a',2,'b'};set_copy=copy.copy(set)
set_id=id(set);set_copy_id=id(set_copy)
print("set="+str(set),"set_id="+str(set_id),"set_copy="+str(set_copy),"set_copy_id="+str(set_copy_id))
if(set_id==set_copy_id):
print("set是不变类型")
else:
print("set是可变类型")
python
int=2 int_id=140716377819608 int_copy=2 int_copy_id=140716377819608
float=0.12 float_id=2474589989968 float_copy=0.12 float_copy_id=2474589989968
bool=True bool_id=140716377023936 bool_copy=True bool_copy_id=140716377023936
complex=(1+2j) complex_id=2474589985072 complex_copy=(1+2j) complex_copy_id=2474589985072
int,float,bool,complex是不变类型
string=123456 string_id=2474592233936 string_copy=123456 string_copy_id=2474592233936
string是不变类型
list=[1, 2, 3, 4, 5, 6] list_id=2474590591104 list_copy=[1, 2, 3, 4, 5, 6] list_copy_id=2474590589184
list是可变类型
tuple=(1, 2, 3, 4, 5, 6) tuple_id=2474590072032 tuple_copy=(1, 2, 3, 4, 5, 6) tuple_copy_id=2474590072032
tuple是不变类型
dit={'a': 1, 2: 'b'} dit_id=2474590072032 dit_copy={'a': 1, 2: 'b'} dit_copy_id=2474592337344
dit是可变类型
set={1, 2, 'a', 'b'} set_id=2474591768352 set_copy={1, 2, 'a', 'b'} set_copy_id=2474591772608
set是可变类型
Process finished with exit code 0