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数据类型的主要内容,如果未能解决你的问题,请参考以下文章

13 个非常有用的 Python 代码片段

在python 3.6中处理自定义编码时遇到类型错误

在代码片段中包含类型转换

常用python日期日志获取内容循环的代码片段

python 有用的Python代码片段

Python 向 Postman 请求代码片段