day3-基础数据类型(int、bool、str)

本文详细介绍了Python中的基本数据类型,包括整数(int)、布尔值(bool)和字符串(str)的使用方法。深入探讨了整数的二进制表示、布尔值的转换规则,以及字符串的索引、切片操作和常用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1、整数int

2、布尔值bool

3、字符串str

3.1字符串的索引与切片

3.2字符串常用方法


1、整数int

bit_length()就是帮助你快速的计算整数在内存中占用的二进制码的长度.

num = 10
print(num.bit_length())  # 当十进制用二进制表示时,最少使用的位数
# 运行结果: 4

2、布尔值bool

布尔值就两种:True,False。反应条件的正确与否。

真   1   True。

假   0   False。  

#int -->str
i = 1
s = int(i)
print(s)  # 1

#str -->int
s = '123'
i = int(s)
print(i)  #123

s1 = '123e'
i1 = int(s1)
print(s1) #报错,只有整数才能被转换为int

# #int --> bool  只要是0 -->就是False 非零就是 --> Ture
i = -1
b = bool(i)
print(b)  #True

#bool --> int
b = False
i = int(b)
print(i)  #0

#str --> bool 只要是非空str -->就是Ture 空str就是 --> False
s = bool('')
s1 = bool('0')
print(s,s1) #False True

#bool -->str
b = str(False)
b1 = str(True)
print(b,b1)  #False True

3、字符串str

Python中凡是用引号引起来的数据可以称为字符串类型,组成字符串的每个元素称之为字符,将这些字符一个一个连接起来,然后在用引号起来就是字符串。

3.1字符串的索引与切片

1.当首>尾时,没有指定步长则取不到字符串,但不会报错               eg:s[4:0] 、s[-1:-4]

2.当首<尾时,步长<0则取不到字符串,但不会报错                          eg: s[0:4:-1]

3.当首>尾时,步长>0则取不到字符串,但不会报错                          eg: s[3:1:1]

4.当尾省略时,步长>0字符串正向取,步长<0字符串反向取           eg: s[3::-1]

5.当步长大于索引范围时,取到的字符串只有以首开头的单个字符    eg: s[1:3:3]

对于以上结论同样适用于列表,第一、二、三点取不到字符串的情况对于列表来说可以取到空列表,并且同样不会报错

第五点“取到的字符串只有以首开头的单个字符对于列表来说可以取到以首开头的单个元素的列表

#字符串的索引与切片
s = 'ASDFGHJKL'

#索引
s1 = s[0]
print(s1)  #A

s2 = s[1]
print(s2)  #S

s3 = s[-1]
print(s3)  #L

s4 = s[-2]
print(s4)  #K

#切片:顾头不顾尾

#当首<尾时,步长<0则取不到字符串,但不会报错
#当首>尾时,步长>0则取不到字符串,但不会报错
#当尾省略时,步长>0字符串正向取,步长<0字符串反向取
#当步长大于索引范围时,只能取到唯一一个以首开头的字符串

s5 = s[0:4]
print(s5)  #ASDF

s6 = s[0:-1]
print(s6)  #ASDFGHJK

s7 = s[0:]
print(s7)  #ASDFGHJKL

s8 = s[:]
print(s8) #ASDFGHJKL

s9 = s[0:0]
print(s9)  #取不到字符串,但不会报错

#s[首:尾:步长]
s10 = s[0:5:2]
print(s10)  #ADG

#s11 = s[0:4:-1] #取不到字符串,但不会报错
#当首<尾时,步长<0则取不到字符串,但不会报错
s11 = s[4:0:-1]
print(s11)   #GFDS

#s12 = s[3:1:1]  #取不到字符串,但不会报错
#当首>尾时,步长>0则取不到字符串,但不会报错

#s[首::步长]
#当尾省略时,步长>0字符串正向取,步长<0字符串反向取
s12 = s[3::-1]
print(s12)  #FDSA

s13 = s[3::1]
print(s13)  #FGHJKL

s14 = s[-1::-1]
print(s14)  #LKJHGFDSA

s15 = s[::-1]
print(s15)  #LKJHGFDSA

#当步长大于索引范时,可以取到唯一一个以首为开头的字符
s16 = s[-1::2]
print(s16)  #L

s17 = s[1:3:3]
print(s17)  #S

3.2字符串常用方法

字符串除了可以用切片(步长)之外,还有一些其他的操作方法

#字符串的操作

#首字母大写
s = 'alexWUsir'
s1 = s.capitalize()
print(s1)     #Alexwusir

#全大写,全小写
s = 'alexWUsir'
s2 = s.upper()   #全大写
s21 = s.lower()  #全小写
print(s2,s21)   #ALEXWUSIR alexwusir

#大小写反转
s = 'alexWUsir'
s3 = s.swapcase()
print(s3)      #ALEXwuSIR

#每个被隔开(特殊字符或者数字)的单词首字母大写
s = 'alex*egon-wusir'
s4 = s.title()
print(s4)      #Alex*Egon-Wusir

s = 'fade,crazy*w4rri0r_songsong node_3'
s41 = s.title()
print(s41)      #Fade,Crazy*W4Rri0R_Songsong Node_3

#居中,空白处填充
s = 'alexWUsir'
s5 = s.center(20,'~')
print(s5)   #~~~~~alexWUsir~~~~~~

#把字符串中的'\t'转为空格,'\t'默认的空格数是 8
s = 'alex\tsir'
s6 = s.expandtabs()
print(s6)     #alex    sir

#len
s = 'alexWUsir'
l = len(s)
print(l)     #9

#判断是否以...开头
s = 'alexWUsir'
s7 = s.startswith('alex')
s71 = s.startswith('e',2,5)
print(s7,s71)   #True True

#find通过元素找索引,找不到返回-1
#index通过元素找索引,找不到报错
s = 'alexWUsir'
s8 = s.find('W')
s81 = s.index('W')
print(s8,s81)   #4 4

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

s = '*a%lexWUsir%'
s91 =s.strip('*%')
print(s91)    #a%lexWUsir

#count
s = 'alexaa wusirl'
s10 = s.count('a')
print(s10)    #3

#以什么分隔,最终形成一个列表,默认以空格符作为分隔符
#split str---->list
s = 'alex wusir taibai'
l = s.split()
print(l)   #['alex', 'wusir', 'taibai']

l1 = 'title,Tilte,atre,'.split('t')
print(l1)  #['', 'i', 'le,Til', 'e,a', 're,']

l2= 'title,Tilte,atre,'.rsplit('t',1)
print(l2)  #['title,Tilte,a', 're,']

#replace
s='来看待街坊邻居复合大师街坊法好的见客户'
s11=s.replace('街坊','老王',1)
print(s11)   #来看待老王邻居复合大师街坊法好的见客户

#format的三种玩法 格式化输出
s = '我叫{},今年{},爱好{},再说一下我叫{}'.format('太白',36,'girl','太白')
print(s)

name = input('请输入名字:')
s = '我叫{0},今年{1},爱好{2},再说一下我叫{0}'.format(name,36,'girl')
print(s)

name = input('请输入名字:')
s = '我叫{name},今年{age},爱好{hobby},再说一下我叫{name}'.format(age=18,name=name,hobby='girl')
print(s)

#is系列
name='taibai123'
#字符串由字母或数字组成
print(name.isalnum())    #True

#字符串只由字母组成
print(name.isalpha())    #False

#字符串只由数字组成
print(name.isdigit())    #False

s = 'asdfhjkl'
for i in s:
    print(i)

s = 'asdf松鼠hjkl'
if '松鼠' in s:
    print('Yes')

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值