python数据类型
Posted arthur7
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python数据类型相关的知识,希望对你有一定的参考价值。
数据类型
int数字类型:
bit_length():
计算数字二进制位数i = 2 print(i.bit_length()) 值为2 二进制00000010 i = 5 print(i.bit_length()) 值为3 二进制00000101
bool布尔值:
int ----->bool
只要是0 ----》False 非0就是True
i = 3 b = bool(i) print(b)
bool----> int
True 1 False 0 i = int(True) print(i) 值为1
ps:
while True:
pass
while 1: 效率高
pass
str --->bool
s = "" -----> False 非空字符串都是True s = "0" -----> True
s
if s:
print(‘你输入的为空,请重新输入‘)
else:
pass
字符串
索引与切片
对字符串的任何操作都会形成一个新的字符串,跟以前的没关系
s = ‘ABCDLSESRF‘
#索引
s1 = s[0] print(s1) A s2 = s[2] print(s2) C s3 = s[-1] print(s3) F s4 = s[-2] print(s4) R
切片 :
顾头不顾尾,尾需要加1
s = ‘ABCDLSESRF‘ s5 = s[0:4] print(s5) #ABCD
s6 = s[0:-1] print(s6) #ABCDLSESR
s7 = s[:] #s7和s8效果一样,取完后边什么都不写 s8 = s[0:] print(s7,s8) #ABCDLSESRF ABCDLSESRF
s9 = s[0:0] #空
步长:
s = ‘ABCDLSESRF‘ # s[首:尾:步长] s10 = s[0:5:2] #隔两个取一次 print(s10) #ACL s11 = s[4:0:-1] print(s11) #LDCB s12 = s[3::-1] print(s12) #DCBA s13 = s[3::-2] print(s13) #DB
倒着取
s = ‘ABCDLSESRF‘ s13 = s[-5:-1] #表示从-5到-1的截取显示 print(s13) #SESR s14 = s[-1::-1] #表示以-1开头,一直到开始结束,每次以-1的形式显示 print(s14) #FRSESLDCBA s15 = s[::-1] #表示全部截取,以-1的形式显示,每次显示-1个 print(s15) #FRSESLDCBA
字符串的操作
大小写系列
大小写对数字没有影响
capuitalize()
# 字符串第一个字母大写
s = ‘arthur‘ s1 = s.capitalize() print(s1)
#Arthur
title()
#每个隔开(非字母)的单词首字母大写
s = ‘my +na7me,is*authur‘ print(s.title()) #My +Na7Me,Is*Authur
upper()
全大写
s = ‘my name is Authur 7 周日‘ print(s.upper())
#MY NAME IS AUTHUR 7 周日 #字母和中文是不受影响的
lower()
全小写
s = ‘MY NAME IS AUTHUR 7 周日‘ print(s.lower()) #my name is authur 7 周日
使用例子
输入验证码时,不分大小写
s_str= ‘acEQ1‘ you_input =input(‘请输入验证码,不区分大小写: ‘) if s_str.upper() == you_input.upper(): print(‘输入成功‘) else: print(‘请重新输入‘)
swapcase()
大小写翻转
s = ‘mY nAme iS aUTHUR‘ print(s.swapcase())
#My NaME Is Authur
填充
center()
居中,默认填充空格,可指定填充符号
s = ‘Authur‘
print(s.center(20,‘+‘)) #~号是填充位,不填默认是空格,20位左右表示左右加起来填充20位
#+++++++Authur+++++++
expandtabs()
加 ,如果字符串中有 ,字符串前的字符不足八位,补齐八位,如果前面的字符串满足八位,再补八位
s = ‘authur sir‘
print(s.expandtabs()) #结果为authur sir #所以意味着 补了三位
s = ‘authuris sir‘
print(s.expandtabs()) #结果为authuris sir #所以意味着 补了八位,因为前面的字符串已经满足八位
查找判断类
len()
测试字符串的长度,公共方法,字符串可以用,列表和元祖也可以用
s = ‘authur‘ print(len(s)) #6
startswith()
以什么开头,可切片
s = ‘authur‘ print(s.startswith(‘aut‘,0,5)) #默认开始和结尾不写是判断全部
#True
endswith()
以什么结尾,可切片
s = ‘Authur‘ print(s.endswith(‘t‘,0,3)) #默认什么都不写是判断全部,判断选定范围内的尾部是否为指定字符串结尾
#True
find()
通过元素找索引,找不到返回-1,区分大小写,找单词时按照第一个单词的索引位置返回数字,可切片,默认全部查找
s = ‘authur‘ print(s.find(‘t‘,0,4))
#2
index()
通过元素找索引,和find使用方法相同,但是找不到报错
删除指定符号
strip
默认删除前后空格,可以添加填充符,例如特殊符号或字母等,也可以添加多个
s = ‘* 7authur # ‘ print(s.strip(‘* 7#‘))
#authur
使用例子
username = input(‘请输入名字:‘).strip().lower() if username ==‘authur‘: info =‘‘‘ **************************** **welcome {}‘s cnblogs** ****************************‘‘‘.format(‘authur‘) print(info)
rstrip
默认删除右边空格,使用方法和strip一样
lstrip
默认删除左边空格,使用方法和strip一样
count()
统计指定字符的出现次数,可以切片
s = ‘authur‘ print(s.count(‘u‘,0,3))
#1
转换
split()
字符串转换为列表
将字符串按照规定拆分为列表,默认不输入内容为空格,选定以什么字符或者符号分割,则选定的会消失
s = ‘Arthur:this:my:name‘ l = s.split(‘:‘) print(l)
#[‘Arthur‘, ‘this‘, ‘my‘, ‘name‘]
格式化输出
format()
format的三种玩法 格式化输出 s = ‘我叫{},今年{},爱好{},再说一下我叫{}‘.format(‘authur‘,18,‘python‘,‘authur‘) print(s) name = input(‘请输入名字:‘) s = ‘我叫{0},今年{1},爱好{2},再说一下我叫{0}‘.format(name,18,‘python‘) print(s) name = input(‘请输入名字:‘) s = ‘我叫{name},今年{age},爱好{hobby},再说一下我叫{name}‘.format(age=18,name=name,hobby=‘python‘) print(s)
替换
replace()
s = ‘my name is xiyangyang and xiyangyang‘ print(s.replace(‘xiyangyang‘,‘authur‘,1))
#my name is authur and xiyangyang
is系列
返回值为True和False
#字符串由字母或数字组成 print(name.isalnum()) #字符串只由字母组成 print(name.isalpha()) #字符串只由数字组成 print(name.isdigit())
以上是关于python数据类型的主要内容,如果未能解决你的问题,请参考以下文章