Python的基础类型(int,bool,str):

时间:2021-04-02 15:40:57

Python的基础类型(int,bool,str):

1.int -------> 整形:主要用力进行数字计算

2.string ------>字符串:可以保存少量数据并进行相关的操作

3.bool-------->布尔型:判断真假 true(真),false(假)

4.list--------->列表:存储大量数据,用[]来表示

5.tuple------->元组:不可以改变,用()表示

6.dict---------->字典:保存键值对,一样保存大量数据

7.ste----------->集合:保存大量数据不可以重复,也就是不保存value的dict

整数(int)

在Python中整数都是int型,但是在python2中如果数据量比较大.会使用long类型,在python3中不存在long类型,整数可以进行的操作

      bit_length().计算整数在内存中占用的二进制长度

Python的基础类型(int,bool,str):

布尔值(bool):

取值只有ture和false,bool没有操作

转换问题:

str--------> int(str)       str字符串类转换成数字类型

int-------->str(int)        int数字类型转换成字符串类型

int--------->boot(int)    int转换成布尔型,0是false,非0是true

bool------>int(bool)     bool转换为数字类,true是1,fase是0,只存在1和0

str--------->bool(str)   空字符串是false,不空是true

bool------->str(bool)   把bool转成相应的值

字符串(str):

把字符连接到一起称作字符串:字符串是可以先加的:(字符串+字符串),在python中',",''',"""引起来的内容成为字符串

4.1:切片和索引

 1.索引,索引就是下标记,切记,下标从0开始

#       012345678
name = "python最牛逼"
print (name[0])    #获取p
print (name[1])     #获取y
print (name[2])     #获取t
print (name[3])     #获取h
print (name[4])     #获取o
print (name[5])     #获取n
print (name[6])     #获取最
print (name[7])     #获取牛
print (name[8])     #获取逼
print (name[9])     #没有9,越界了会报错
   print(name[9])
IndexError: string index out of range #索引错误:字符串索引超出范围
print(name[-1])     #表示倒数第一个
print(name[-2])     #表示倒数第二个

 

 2.切片,我们可以使用下标来截取部分字符串内容

  语法:str[start:end]

  规则:顾头不顾尾,从start(开始)去截取,截取到end,最后一个则不截取

name =python最牛逼
print(name[0:3])   #从0获取到3,不包括3 结果:pyt
print(name[6:8])   #从6获取到8,不包含8 结果:最牛
print(name[6:9])   #最大是8,根据顾头不顾尾,想取到8必须给9 结果:最牛逼
print(name[6:10]) #如果右边已经过了最大值,相当于取值到最后,切片超值不报错
print(name[4:])     #从第4位取值到最后
print(name[-1:-5])   #从-1到-5是获取不到结果的,因为从-1向右数,是数不到-5的
print(name[-5:-1])   #从倒数第5个向右数,数到倒数第一个,结果on最牛
print(name[-5:])      #从倒数第5个向右数,数到最后包括最后一位,结果:on最牛逼
print(name[-1:])      #这个是取到最后一个,结果:逼
print(name[:])         #原样输出

  跳着截取

#跳着取:步长
name = "python最牛逼"
print(name[1:5:2])        #从第一个开始取,取到第五个,每两个取一个 结果: yh, 分析: 1:5=> ytho => yh
print(name[:5:2])         #从头开始到第五个. 每两个取一个
print(name[4::2])         #从4开始取,取到最后,每两个取一个
print(name[-5::2])        #从倒数第五个开始取到最后,每两个值娶一个
print(name[-1:-5])        #-1到-5没有值,因为是从左往右取的
print(name[-1:-5:-1])   #步长是-1,这时候就是从右往左取值
print(name[-5::-3])      #从倒数第五个开始,到最开始,没3个值娶一个

     步长:如果是整数,则从左往右,如果是负数从右往左数,默认是1

  切片语法:str[start:end:step]  start开始 end结束 step步长

4.2字符串的相关方法,字符串是不可变的对象,所以任何操作对原字符串是不会有影响的

  1.大小写转来转去

name = "i am a newbest"
#capitalize
print (name.capitalize())   #首字母大写,如果当前首字母为大写那么执行这个就变成小写
#lower
print (name.lower())        #全部转换为小写
#upper
print(name.upper())         #全部转换为大写
#swapcase  
print(name.swapcase())      #大小写互相转换
#casefold
print (name.casefold())     # 转换成小写, 和lower的区别: lower()对某些字符支持不够好. casefold()对所有字母都有效. 比如东欧的一些字母
#title
print(name.title())         #每个被特殊字符隔开的首字母大写,中文也算是特殊字符

#应用,身份验证输入验证码是否正确
time = "zDxY"
user1 = input("请输入验证码")
if time.upper() == name.upper():
        print("验证成功")
else:
        print("验证失败")