Python学习日记day3:数据类型

时间:2022-05-25 04:37:01

1、数据类型
int :如1、2、4等, 用于计算

bool: True , False ,用户判断

str: 储存少量数据,进行操作。
如:'fdasklfjfladfl','而而噩噩','1234'

list:储存大量数据。用中括号引起来。['哈哈',1324,34455,[1,2,3]],可以储存的数据很多。
tupe元组:只读列表。
(1,2,3,'第三方')

dict:字典:储存大量关系型、成对的数据。
{'云姐':[],'二哥':[2000,200........]}
{'name':'云姐','age':16}

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

2、int

bit_length:转换成二进制最小位数

i=5
print (i.bit_length())

3、bool

True False
数字与字符串转换
#int ------->str

i = 1
s = str(i)

#str ----> int 

i = int (s)
# int ----->bool.

只要是0------>False, 非0 就是 True

i =3
b = bool(i)
print(b)

#bool ------>int
True------->1
False------>0
ps:
while True: #效率低
pass
while 1 : #效率高
pass

# str ----->bool:字符串转换成布尔值
s =""(空字符串)------->False
s ="0"----------->True

if s:
    print ('你输入的为空')
else :
    pass

4、str
#字符串的索引与切片
s ='ADCDLSRSRF'
#索引

 s1 = s[0]
 print (s1)

对字符串进行操作会形成一个新的字符串,与原字符串无关。

s2 = s [2]
print(s2)

#字符串的切片:顾头不顾尾

s='ABCD'
s3 = s[0:3] print(s3) #ABC
s ='ABCDLSRSRF'#取最后一位
s3 = s[-1] #F
s4 = s[-2] #R
print(s3)
print(s4)

#全取

s5 = s[0:]
s6 =[:]

#怎么跳着取

s ='ADCDLSRSRF'
s7 = s[0:5:2]  # s[首:尾:步长]
#ACL

#倒着取

s ='ADCDLSRSRF'

s11 = s[4:0:-1]
#LDCB
s12 = s[3::-1]
#DCBA
s12 = s[3::-2]
#DB
s13 =s[-1::-1]
#RFSRSLDCBA
s14= [::-1]
#RFSRSLDCBA

5、字符串的操作
(1)#capitalize首字母大写

s ='alexwusir'
s1 ='s.capitalize'
print(s1)
#Alexwusir

(2)#全部变成大写

s2 = s.upper()
print(s2)
ALEXWUSIR

#全部小写:

s21 = s. lower()
print(s2,s21)
#alexwusir

示例:验证码不区分大小写
Python学习日记day3:数据类型

(3)大小写反转

s3 = s.swapcase()
print(s3)

# 每个用特殊字符和数字隔开的首字母大写

s = 'alex*egon wusir'
s4 = s.title()
print(s4)
#Alex*Egon Wusir

(4)#居中,空白填充

s ='alexWUsir'
s5 = s.center(20,#)
print(s5)
#####alexWUsir#####

(5)#\t加上前面,不满八位的补充八位。

s = alex\tWUsir
s6 = s.expandtabs
print(s6)
#alex    WUsir

(6)#公共方法(list,str,dict,tupe,通用):测量字符长度:len()

s =’alexwusir‘
l =len(s)
print(l)

(7)判断字符串以什么为开头

#s.startswith()
s = 'alexWUsir'
s7 = s.startswith('alex')
if s7:
    pass
elif s.startswith('bl'):
    pass
print(s7)
#s7 = s.startswith('alex')----->True
#s71 =s.startswith('e',2,5)-------->True

自己试 endswith 以什么为结尾?

#s.endswith()
s = 'alexWUsir'
s7 = s.endswith('ex',0,5)
if s7:
    pass(加内容)
elif s.endswith('bl'):
    pass(加内容)
print(s7)
#s7 = s.endwith('alex')----->False
#s71 =s.endwith('e',2,5)-------->False

(8)#通过元素找索引,找不到返回-1

s ='alexwusir'
s8 =s. find('w')
print (s8)
#4(返回对应下标)

找到返回下标数字,找不到返回-1

index通过元素找索引,找不到报错。

s ='alexwusir'
s8 =s. index('w')
print (s8)
#4(返回对应下标)

(9)#strip默认删除前后空格

s ='   alexwusir   '
s9 =s.strip()
print(s9)
'''
username = input('请输入名字').strip()#删除用户输入时不小心加入的空格
if username == '春哥'
print('.....')
'''

#strip还可删除特殊符号

s ='alexWUsir%'
s9 = s.strip('%')
print(s9)
#alexWUsir
s=' *alexWUsir%'
s91 = s.strip(' %*')
print(s91)
#strip rstrip lstrip

(10)count

s ='alexaa wusirl'
s10 =s.count('a')
print (s10)
#---->3 .若没有则返回0

#结合字符串切片

s ='alexaa wusirl'
s1 = s[0:3]#讲字符串s,切片。从[0,3),则s1='al'
s2 =s1.count('a')#计算字符串s1中包含有多少个‘a’
print (s2)
#-------->1

(11)split分割文本 (将str------>list)

s='alex:wusir:taibai'
l = s.split(:)#以:为分隔符,分割字符串s
print (l)
------>[alex:wusir:taibai]

(12)format 格式化输出

Python学习日记day3:数据类型

#第一种
s ='我叫{},今天{},爱好{},再说一下我叫{}'.format('太白',36,'girl','太白')
print(s)
#第二种
s ='我叫{0},今天{1},爱好{2},再说一下我叫{0}'.format('太白',36,'girl')
print(s)
#第三种
s ='我叫{name},今天{age},爱好{hobby},再说一下我叫{name }'.format(name ='太白',age =36,hobby ='girl')
print(s)
name = input('名字')
s ='我叫{name},今天{age},爱好{hobby},再说一下我叫{name }'.format(name =name,age =36,hobby ='girl')
(13)replace 替换
##默认全部都替换

Python学习日记day3:数据类型

(14)、for 循环

'''s ='fhajldfjl'
for i in s :
'''
s ='adSBadf'
if 'SB' in s:
print('您的评论有敏感词..')
#-------->您的评论有敏感词..