Python基础(一)
#第一个程序
print('SigAi')
#python 输入程序
name = input('please enter a name')
print(name)
#list 是可变有序集合
#list之可变
L = list(['a','b','c'])
print(L)
L.append('def')
print(L)
a = L.pop() #从列表的最后一个位置删除元素,并将那个元素返回来
print(L)
print('a=',a)
L1 = list([1,2,3]) #两个list可以直接进行相加操作,相当于把两个list拼接起来
L2 = L + L1
print(L2)
L3 = 2 * L2 #对list进行乘操作,相当于对list进行复制
print(L3)
#list之有序 之集合
nlist = list([1,2,3])
print(nlist)
print(nlist[0]) #注意python中list索引号是从0开始
print(nlist[2])
print(nlist[-1])
#print(nlist[-4]) #倒序选元素的时候是从-1开始
len(nlist)
nlist.append(4)
print(nlist)
#tuple 初始化之后不可修改的list就是tuple
T = ('a','b','c')
print(T)
#T.append('d') #tuple 是不可变的,所以不可以往里面添加元素
#tuple 括号的歧义
T1 = (1) #当tuple中只有一个元素的时候需要加上逗号,否则并不是tuple类型
print(T1)
print(type(T1))
T2 = (1,)
print(T2)
#tuple之可变当tuple中含有数组的时候,可以单独对tuple中的数组添加或者减少元素,也就是说tuple并不是一直都不可以变的
T = ('a',[1,2,3])
print(T)
#print(T(1)) #注意tuple在索引的时候不是用括号,是用中括号
print(T[1])
T[1].append(4)
print(T)
# dict python中的key-value形式的数据结构,查找速度快
# 空间换时间思想,消耗的内存大,但是操作速度快,在dict中存的数据没有顺序
D = {'a':1, 'b':2, 3: 3}
print(D)
print(D['a']) #注意dict索引的时候也是用的中括号,圆括号一般是对函数进行操作
print('a' in D)
print('c' in D) #判断一个键是否在dict中,返回值为bool类型
print(D.keys()) #获取字典中的所有键
print(D.get('a')) #获取字典中对应的值
print(D.get('c')) #用get获取字典中不存在的键的值,会返回一个none,这也可以用来判断一个键是否在某个字典中
print(D.pop(3)) # 删除字典中的某个元素,并将其值返回
print(D)
D['L'] = 'abc' # 往字典中添加元素
print(D)
D[1] = 123
print(D)
# set dict中key的集合 (set 是类似于dict中的字典集合,也是hashable)
# 由于dict中的key是hashable,也就是key是唯一的,因此set中无重复的key
L = [1,2,3,'s'] # 注意set和list看起来很像,但是对于list中的所有的元素智能有一种类型,set中可以有多种类型
print(type(L))
s = set(L)
print(L)
s.add('ruyi') # 向集合中添加元素
print(s)
s.remove(1) # 集合中删除元素
print(s)
#s.add([1,2]) # list是可变类型,不能进行hash
# 入门小坑
#可变类型与不可变类型
a = 'ajsd'
print(id(a))
a = 'sadklaj'
print(id(a))
L = ['a','b','c']
print(id(L))
L.append('d')
print(id(L))
#可变对象与不可变对象,必须搞清楚是改变了对象本身还是中间的一个结果
#变量有类型,对象无类型
#对象是内存中存储数据的实体,变量是对象的指针
L1 = ['a','c','b']
print(L1)
L1.sort()
print(L1)
b = 'nihao'
print(b.replace('n','N'))
print(b)
# python中的引用与拷贝
a = [1,2,3]
b = a[:] #复制a 的内容并指向新的地址
print(id(a) == id(b))
print(b)
print(a.pop())
print(a)
print(b)