a=[1,2,3]#,=为赋值符号不是等于,变量a
print(a)
#变量名要具有一定的意义
name=['xia','chuan','dong']
color=['white','black']
###变量命名规则:
#1字母、数字、下划线组成,第一个必须为字母
#2系统关键字不能用在变量名中,保留关键字,and,if,import,,,
#3变量名区分大小写
#
a=[1,2,3,4,5]
b=a
print(a[0]==1)
a[0]='1'
print(a)
print(b)
#
type=1
type(1)#TypeError: 'int' object is not callable
print(type)#1
#值类型(int,str,tuple,)不可变、引用类型(list,set,dict,)可变
a=1#a指向1
b=a#b指向1
a=3#a指向新数据3
print(a,b)#3 1
#
a=[1,2,3]#a指向[1,2,3]
b=a#b指向[1,2,3]
a[0]='1'#原列表做了改变,a依然指向原列表,b也指向原列表
#???
a='xia'
print(id(a))
a=a+'chuandong'
print(a)
print(id(a))
a[0]='d'#TypeError: 'str' object does not support item assignment
#列表list的可变与元组tuple的不可变
a=[1,2,3]#list
print(id(a))
a[0]='1'
print(id(a))#内存地址不会变
#
b=(1,2,3)
b[0]='1'#TypeError: 'tuple' object does not support item assignment
#
a=[1,2,3]
a.append(4)
print(a)#[1, 2, 3, 4]
#
b=(1,2,3)
b.append(4)#AttributeError: 'tuple' object has no attribute 'append'
#列表元组的可变与不可变都有其特点和优势
#多维
a=(1,2,3,[1,2,['a','b','c']])
a[0]#1
a[0]=2#TypeError: 'tuple' object does not support item assignment
a[3][2][1]#'b'
a[3][2][1]='e'
a[3][2][1]#'e'