python数据格式_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 = 3b=bool(i)print(b)

bool----> int

True 1False 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 nameis 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()

加\t,如果字符串中有\t,字符串前的字符不足八位,补齐八位,如果前面的字符串满足八位,再补八位

s = 'authur\tsir'

print(s.expandtabs()) #结果为authur sir #所以意味着\t补了三位

s = 'authuris\tsir'

print(s.expandtabs()) #结果为authuris sir #所以意味着\t补了八位,因为前面的字符串已经满足八位

查找判断类

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())

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值