Python数据类型补充1
Posted WUWANLEI
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python数据类型补充1相关的知识,希望对你有一定的参考价值。
一、可变和不可变类型
可变类型: 值变了,但是id没有变,证明没有生成新的值而是在改变原值,原值是可变类型
不可变类型:值变了,id也跟着变,证明是生成了新的值而不是在改变原值,原值是不可变
# x=10 # print(id(x)) # x=11 # print(id(x)) y=[‘a‘,‘b‘,‘c‘] print(id(y)) y[0]=‘A‘ print(y) print(id(y))
二、数字类型
# 其他进制=>十进制 # 十进制: 0-9 # 11 = 1*10^1 + 1*10^0 # 二进制: 0 1 # 11 = 1*2^1 + 1*2^0 # 八进制: 0-7 # 11 = 1*8^1+1*8^0 # 十六进制:0-9 A-F # 11 = 1*16^1+1*16^0 # 十进制=>其他进制 print(bin(13)) # 十进制=>二进制 ob1101
print(oct(13)) # 十进制=>八进制 Oo15
print(hex(13)) # 十进制=>十六进制 Oxd
三、字符串
# 可以将任意类型转换成字符串 # str(1) # str(1.3) # x=str([1,2,3]) # print(x,type(x))
常用操作+内置的方法
优先掌握的操作:
1、按索引取值(正向取+反向取) :只能取 msg=‘hello world‘ # print(msg[0]) # print(msg[5]) # print(msg[len(msg)-1]) # print(msg[-1]) # msg[0]=‘H‘
2、切片(顾头不顾尾,步长): 想要从一个大字符串中切出一个小字符串 # msg=‘hello world‘ # print(msg[0:5]) # print(msg) # print(msg[0:5:2])
3、长度len # msg=‘你好啊a‘ # print(len(msg))
4、成员运算in和not in msg=‘yangyuanhu 老师是一个非常虎的老师‘ # print(‘yangyuanhu‘ in msg) # print(‘虎‘ not in msg) # print(not ‘虎‘ in msg)
5、移除字符串左右两边的字符strip:默认去空格 # pwd=‘ 1 23 ‘ # res=pwd.strip(‘ ‘) # print(res) # pwd=input(‘>>: ‘).strip() #pwd=‘123‘ # # if pwd == ‘123‘: # print(‘密码输入正确‘) # pwd=‘******12*3****‘ # print(pwd.strip(‘*‘))
6、切分split:针对有规律字符串按照某个字符切成列表 # info=‘yyhdsb|18|female‘ # li=info.split(‘|‘,1) #只按照第一个分隔符切 # print(li)
7、循环 # msg=‘hello‘ # # for item in msg: # print(item)
Conclusion:
存一个值 有序 不可变(1、可变:值变,id不变。可变==不可hash 2、不可变:值变,id就变。不可变==可hash) s1=‘hello‘ print(id(s1)) s1=‘world‘ print(id(s1)) 需要掌握的操作(****) 1、strip,lstrip,rstrip print(‘****egon***‘.strip(‘*‘)) print(‘****egon***‘.lstrip(‘*‘)) print(‘****egon***‘.rstrip(‘*‘)) 2、lower,upper print(‘AAAbbbb‘.lower()) print(‘AAAbbbb‘.upper()) 3、startswith,endswith print(‘alex is sb‘.startswith(‘alex‘)) print(‘alex is sb‘.endswith(‘sb‘)) 4、format的三种玩法 print(‘my name is %s my age is %s‘ %(‘egon‘,18)) print(‘my name is %s my age is %s‘ %(18,‘egon‘)) print(‘my name is {name} my age is {age} ‘.format(age=18,name=‘egon‘)) print(‘my name is {} my age is {} ‘.format(18,‘egon‘)) print(‘my name is {0} my age is {1} ‘.format(18,‘egon‘)) print(‘my name is {1} my age is {0} ‘.format(18,‘egon‘)) 5、split,rsplit msg=‘a:b:c:d:e‘ print(msg.split(‘:‘,1)) print(msg.rsplit(‘:‘,1)) 6、join msg=‘a:b:c:d:e‘ list1=msg.split(‘:‘) msg1=‘:‘.join(list1) print(msg1) info=‘egon:123:male‘ list1=info.split(‘:‘) print(list1) print(‘:‘.join(list1)) 7、replace msg=‘alex is alex alex is hahahaha‘ print(msg.replace(‘alex‘,‘SB‘,1)) 8、isdigit print(‘123‘.isdigit()) # 只能判断纯数字的字符串 print(‘12.3‘.isdigit()) age_of_db=30 inp_age=input(‘>>>: ‘).strip() if inp_age.isdigit(): inp_age=int(inp_age) if inp_age > age_of_db: print(‘too big‘) elif inp_age < age_of_db: print(‘too small‘) else: print(‘you got it‘) 其他操作1、find,rfind,index,rindex,count msg=‘hello worldaa‘ print(msg.index(‘wo‘)) print(msg.index(‘wo‘,0,3)) print(msg.find(‘wo‘,0,3)) print(msg.find(‘xxxxxxx‘)) print(msg.index(‘xxxxxxx‘)) print(msg.count(‘l‘)) 2、center,ljust,rjust,zfill name=input(‘>>: ‘).strip() print(‘egon‘.center(50,‘=‘)) print((‘%s‘ %name).center(50,‘-‘)) print(‘egon‘.ljust(50,‘=‘)) print(‘egon‘.rjust(50,‘=‘)) print(‘egon‘.zfill(50)) 3、expandtabs print(‘hello world‘.expandtabs(5)) 4、captalize,swapcase,title print(‘hello world‘.capitalize()) print(‘Hello world‘.swapcase()) print(‘Hello world‘.title()) 5、is数字系列 num1=b‘4‘ #bytes num2=u‘4‘ #unicode,python3中无需加u就是unicode num3=‘四‘ #中文数字 num4=‘Ⅳ‘ #罗马数字 isdigit: bytes,str print(num1.isdigit()) print(num2.isdigit()) print(num3.isdigit()) print(num4.isdigit()) isdecimal:str print(num2.isdecimal()) print(num3.isdecimal()) print(num4.isdecimal()) isnumberic:str,中文罗马 print(num2.isnumeric()) print(num3.isnumeric()) print(num4.isnumeric()) 6、is其他 print(‘aaasdfaA‘.isalpha()) # 纯字母组成的字符串 print(‘aaasdfaA123‘.isalnum()) # 字母或数字组成 print(‘aaasdfaA‘.isalnum()) # 字母或数字组成
以上是关于Python数据类型补充1的主要内容,如果未能解决你的问题,请参考以下文章