随笔:
# 可变类型:
# 列表(可以存放多个值,可以按索引取值,是有序的),
# 字典(字典里面是KEY:VALUE类型,key必须是不可变类型,不能按索引取值 因为它们是无序的,按KEY取值),
# 集合(集合里面的元素必须是不可变类型)
#不可变类型:
# 数字,
# 字符串,
# 元组(可以存放多个值,可以按索引取值,是有序的,但是不能改变值,更多的用来做查询),
# 布尔
# 集合:集合里面的 元素必须都是不可变类型,并且不能存在重复的元素,无序的,不能按索引取值
移除空白:strip name.strip()
切分:split name.split()
长度:len print(len.('good'))
切片:切出子字符串 msg='hello world'
print(msg[1,3])
starswith
endswith :
name='alex_SB'
print(name.endswith('SB'))
print(name.startswith('alex'))
replace:
name='alex say :i have one tesla,my name is alex'
print(name.replace('alex','SB',1))
SB say :i have one tesla,my name is alex
#format的三种玩法
res='{} {} {}'.format('egon',18,'male')
res='{1} {0} {1}'.format('egon',18,'male')
res='{name} {age} {sex}'.format(sex='male',name='egon',age=18)
#lower,upper
name='egon'
print(name.lower())
print(name.upper())
#is数字系列
#在python3中
num1=b'4' #bytes
num2=u'4' #unicode,python3中无需加u就是unicode
num3='四' #中文数字
num4='Ⅳ' #罗马数字
#isdigt:bytes,unicode
print(num1.isdigit()) #True
print(num2.isdigit()) #True
print(num3.isdigit()) #False
print(num4.isdigit()) #False
#isdecimal:uncicode
#bytes类型无isdecimal方法
print(num2.isdecimal()) #True
print(num3.isdecimal()) #False
print(num4.isdecimal()) #False
#isnumberic:unicode,中文数字,罗马数字
#bytes类型无isnumberic方法
print(num2.isnumeric()) #True
print(num3.isnumeric()) #True
print(num4.isnumeric()) #True
#三者不能判断浮点数
num5='4.3'
print(num5.isdigit())
print(num5.isdecimal())
print(num5.isnumeric())
'''
总结:
最常用的是isdigit,可以判断bytes和unicode类型,这也是最常见的数字应用场景
如果要判断中文数字或罗马数字,则需要用到isnumeric
'''
# 数据类型总结
# 数字
# 字符串
# 列表
# 元组
# 字典
#
# 按照存值个数:
# 1个:数字,字符串
# 多个:列表,元组,字典
#
# 按照可变不可变:
# 可变:列表,字典
# 不可变:数字,字符串,元组
#
# 按照访问方式:
# 直接访问:数字
# 索引:字符串,列表,元组==》序列类型seq
# 映射:字典
#
# 实现打印商品详细信息,用户输入商品名和购买个数,则将商品名,价格,购买个数加入购
# 物列表,如果输入为空或其他非法输入则要求用户重新输入
# msg_dic={
# 'apple':10,
# 'tesla':100000,
# 'mac':3000,
# 'lenovo':30000,
# 'chicken':10,
# }
#
#
# goods=[]
# while 1 :
# for k in msg_dic :
# print('NAME: {name} PRICE: {price}'.format(name=k,price=msg_dic[k]))
# #print('name: %s' 'price: %s%'%k,msg_dic[k]))
#
# name=input('请输入商品名: ').strip()
# if len(name)==0 or name not in msg_dic :continue
#
#
# while 1 :
# count=input('plz input count').strip()
# if count.isdigit() :break
# goods.append((name,msg_dic[name],int(count)))
# print(goods)
# #
# for i in range(1,10):
# for l in range(1,i+1):
# print('%s*%s=%s'%(i,l,i*l),end=(' '))
# print('')
# 有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
#
# 即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}
#
# l=[11,22,33,44,55,66,77,88,99,90]
# d={'k1':[],'k2':[]}
# for i in l :
# if i>66 :
# d['k1'].append(i)
# else :
# d['k2'].append(i)
# print(d)
info_dic={'name':'egon','age':18,'sex':'male'}
# print('name' in info_dic)
# print('name' in info_dic.keys())
# print('egon' in info_dic.values())
# print(('name','egon') in info_dic.items())
# print(info_dic.pop('name',None))
# print(info_dic.keys())
# print(info_dic.values())
# print(info_dic.items())
# print('========>')
# for k in info_dic.keys():
# print(k)
# for k,v in info_dic.items(): #k,v=('name', 'egon')
# print(k,v)
#
# print('name' in info_dic)
info_dic={'name':'egon','age':18,'sex':'male'}
info_dic.update({'a':1,'name':'Egon'})
print(info_dic)
# 可变类型:
# 列表(可以存放多个值,可以按索引取值,是有序的),
# 字典(字典里面是KEY:VALUE类型,key必须是不可变类型,不能按索引取值 因为它们是无序的,按KEY取值),
# 集合(集合里面的元素必须是不可变类型)
#不可变类型:
# 数字,
# 字符串,
# 元组(可以存放多个值,可以按索引取值,是有序的,但是不能改变值,更多的用来做查询),
# 布尔
# 集合:集合里面的 元素必须都是不可变类型,并且不能存在重复的元素,无序的,不能按索引取值