python数据类型

一、数据类型

 1、int 1,2,3用于计算。

2、bool:True,False,用户判断。

3、str:存储少量数据,进行操作
'fjdsal' '二哥','`13243','fdshklj' '战三,李四,王二麻子。。。。'

4、list:储存大量的数据。
[1,2,3,'泰哥','12353234',[1,2,3]]

5、元祖:只读。
(1,2,3,'第三方',)

6、dict:字典{'name':'云姐','age':16}
字典{'云姐':[],'二哥':[200,200,200,。。。。。。]}

7、集合:{1,2,34,'asdf'}

1.1  int

1.1.1bit_length

(二进制位的长度)

i=8
print(i.bit_length())

2.1 bool

2.1.1字符串与数字之间的相互转换。

注意:字符串转换成数字必须要求字符串里是数字

(1)int----->str

i=1
s=str(i)

(2)str------>int

i='123'
s=int(i)

(3) int------->bool

注意:只要是0就返回False,只要是非0就为True

i=''
j=bool(i)
print(j,type(j))

(4)bool----->int

bool----> int
True   1
False  0

另外:True 与1相比,while 1效率更高

while True:
    pass
while 1: 效率高
    pass

(5)str------>bool

# s = "" -----> False
# 非空字符串都是True
# s = "0" -----> True

3.1 str 字符串的索引与切片。

 索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推

s ='qwertyuuiop'
s1=s[0]#打印第一位
s2=s[2]#打印正数第2位
print(s1,s2)
 

切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾腚)。

s3=s[0:3]#打印0到第三位,顾头不顾尾,最后一位不打印出来
s4=s[::-1]#倒数打印所有数
s5=s[0:]#正数打印所有数
s6=s[:]#正数打印所有数
# s7=[0:0] #什么都取不到
s8=s[0:5:2]#0到第5位,每个一个字符取一个数
s9=s[4:0:-1]#4到第0位,
s10=s[3::-1]#3到第0位,
s11=s[4::-2]#4位以前每隔一个字符打印
s12=s[-1::-1]#倒数打印所有数
print(s3,s4,s5,s6,s8,s9,s10,s11,s12)

3.2 字符串的常用方法。

3.2.1 capitalize 首字母大写

s="i love china"
print(s.capitalize())

3.2.2 upper、lower 全大写全小写

s="i love china"

s1=s.upper()
s2=s.lower()
print(s1,s2)
#用户验证举例
s_str="acEr"
you_input=input("请输入名字")
if s_str.upper()==you_input.upper():
    print('成功')
else:
    print("失败")

3.2.3  

s='Alexogen'
s1=s.swapcase() #大小写翻转
msg='op summer1amyleel'
s2=msg.title() #每个单词的首字母大写,可以空格、数字、特殊字符分割
s3=s.center(20,'~')#居中 与填充(空白填充为None)
s4=s.expandtabs(
s6=s.startswith('Al')#是否以Al开头,返回值为布尔值
s7=s.startswith('o',4,8)#是否以o开头,可切片
s8=s.endswith('n')#以'n'结尾,返回值为布尔值


3.2.4 公共用法

s='Alexogen'
s5=len(s)#计算s字符串的长度
print(s)

3.2.5 count 统计个数

s='&Black,BGr,agon%'
s4=s.count('B')

3.2.6 expandtabs 补齐八个字符长度

s='alex\toop'    #\t包括前面的字符,不足八位补齐空格
s1=s.expandtabs()
print(s1)
默认将一个tab键变成8个空格,如果tab前面的字符长度不足8个,则补全8个,如果tab键前面的字符长度超过8个不足16个则补全16个,以此类推每次补全8个。

3.2.7 find、index、strip、lstrip 、split(重要)

s='&Black,BGr,agon%'
s1=s.find('G')#通过元素找索引,找不到返回-1
s2=s.index('ra')   #通过元素找索引,找不到报错
s3=s.strip()   #默认去内容前后的空格,前后叠删
s4=s.lstrip('&')  #从左向右删除&符号     rstrip(从右删)


# username=input("请输入名字").strip()
# if username=="春哥":
#     print(username)


s5=s.split(',')   #以;对字符串进行分割,分割成列表

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

3.2.9 replace

s='     Alex ogen  dadfsdfdsf  '
s4=s.replace('a','2',1)   #将a替换为2,1代表值替换一次
print(s4)

3.2.10  #####is系列

name='jinxin123'
print(name.isalnum()) #字符串由字母或数字组成
print(name.isalpha()) #字符串只由字母组成
print(name.isdigit()) #字符串只由数字组成

4、1 for循环

S=input(‘你想输入的内容:’)
For I in s:
    Print(i)


原文地址:https://www.cnblogs.com/amyleell/p/8065760.html