欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python基本数据类型,int,bool,str

程序员文章站 2022-08-01 19:10:55
一丶python基本数据类型 1.int 整数,主要用来进行数学运算. 2.str 字符串,可以保存少量数据并进行相应的操作 3.bool 判断真假.True.False 4.list 存储大量数据,用[]表示 5.tuple 元组,不可以发生改变 用()表示 6.dict 字典,{key:valu ......

一丶python基本数据类型

  1.int  整数,主要用来进行数学运算.

  2.str  字符串,可以保存少量数据并进行相应的操作

  3.bool  判断真假.True.False

  4.list  存储大量数据,用[]表示

  5.tuple  元组,不可以发生改变 用()表示

  6.dict  字典,{key:value} ,一样可以保存大量数据

  7.set  集合,保存大量数据,不可以重复,其实就是不保存value的dict.

 

二丶整数(int)

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

 

三丶布尔值(bool)

  布尔只有两个值,Ture,False  一般是没有什么操作的

  类型转换问题:

    把XX转换为YY:  YY(XX)

    数字 =>  字符串        str(数字)

  可以表示False的内容: 0,"",[],tuple(),{},None

  所有的空都是False,所有的非空是True

 

四丶字符串(str)

  把字符连成串,在python中用',","""引起来的内容被称为字符串

 4.1:切片和索引

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

python基本数据类型,int,bool,str
 1 s1 = "python最牛B"
 2     # 0123456 7 8    下标
 3 print(s1[0])   #获取第一个
 4 print(s1[1])
 5 print(s1[2])
 6 print(s1[3])
 7 print(s1[4])
 8 print(s1[5])
 9 print(s1[6])
10 print(s1[7])
11 print(s1[8])     #获取最后一个
12 # print(s1[9])     #索引不能超过边界
13 
14 print(s1[-1])  #负数为倒数   -1为倒数第一个
15 print(s1[-2])  #-2为倒数第二个
View Code

 

 

  2.切片

    我们可以使用下标来截取部分字符串的内容

      语法: str[start:end]

      规则:顾头不顾腚,从start开始截取,截取到end 位置,但不包括end  

python基本数据类型,int,bool,str
 1 s2 = "python无敌BBQ"
 2 
 3 print(s2[0:3]) #从下标零开始获取,获取到下标3,但是不包括下标3,就是获取到下标2了 ,结果为 pyt
 4 print(s2[6:8])#从下标6开始获取,下标6为"无",获取到下标7,所以结果为 无敌
 5 print(s2[9:11])# 顾头不顾腚,要想获取到10,必须到11  结果为 BQ
 6 print(s2[9:12])#如果后面那个值超出最大下标的值,则只显示到最大坐标处  结果为  BQ
 7 print(s2[4:]) #如果想直接获取到最后,那后面的那个值也可以不给  结果为 on无敌BBQ
 8 print(s2[-5:-1]) # 负数为倒取,从后往前取   结果为  无敌BB
 9 print(s2[-5:])# 从倒数第五个,直接获取到最好后  结果为 无敌BBQ
10 print(s2[-1]) # 取倒数第一个  结果为 Q
11 print(s2[:])# 范围不写 代表输出所有值 结果为  python无敌BBQ
View Code

 

   3.步长

    如果是整数,则从左往右取,如果是负数,则从右往左取,默认是1 

    语法:

    str[start:end:step]

    start:起始位置

    end:结束位置

    step:步长

python基本数据类型,int,bool,str
1 s2 = "python无敌BBQ"
2 print(s2[1:6:2])#从下标1开始取,取到下标5,每两个取一个   结果为 yhn
3 print(s2[3:8:3])#同上,从下标3开始取,取到下标7,每三个取一个  结果为 h无
4 print(s2[4::2])#从下标4取到最后,每两个取一个 结果为 o无BQ
5 print(s2[-5::3])#从倒数下标5取到最好,每三个取一个  结果为 无B
View Code

 4.2字符串相关操作

  切记,字符串是不可变对象,所以任何操作对原字符串不会有任何影响的

  1.大小写相互转换

  

python基本数据类型,int,bool,str
 1 # str字符串转换
 2 s1 = "alex eggon,TaiBai*yinWang_麻花藤"
 3 print(s1)
 4 ret = s1.capitalize()
 5 print(ret)
 6 ret = s1.lower()  #全部转换为小写
 7 print(ret)
 8 ret = s1.upper()  #全部转换为大写
 9 print(ret)
10 ret = s1.swapcase()     #大小写互相转换
11 print(ret)
12 # 不常⽤
13 ret = s1.casefold() # 转换成⼩写, 和lower的区别: lower()对某些字符⽀持不够好.casefold()对所有字⺟都有效. ⽐如东欧的⼀些字⺟
14 print(ret)
15 s2 = "БBß" # 俄美德
16 print(s2)
17 print(s2.lower())
18 print(s2.casefold())
19 ret = s1.title() #  Alex Eggon,Taibai*Yinwang_麻花藤  #特殊符号后的首字母大写
20 print(ret)
21 # 中文也算是特殊字符
22 s2 = "alex老男孩taibai"
23 ret = s2.title()  #Alex老男孩Taibai
24 print(ret)
View Code

 

结果:

python基本数据类型,int,bool,str

  2.切片

python基本数据类型,int,bool,str
 1 #去空格
 2 s3 = "       alex       taibai      "
 3 
 4 ret = s3.strip()   #去掉两端的空格
 5 print(ret)
 6 ret = s3.lstrip()   #去掉左边的空格
 7 print(ret)
 8 ret = s3.rstrip()   #去掉右边的空格
 9 print(ret)
10 #替换
11 s4 = "alex_taibai_taobao_eggon_xiaoniao"
12 ret = s4.replace("alex","金角大王") #把alex替换为金角大王
13 print(ret)
14 print(s4)
15 ret = s4.replace("t","T",2) #把t替换成T,替换两个
16 print(ret)
17 #切割
18 s5 = "alex_taibai_taobao_eggon_xiaoniao"
19 ret =  s5.split("_")  #字符串切割,根据_切割  结果为  ['alex', 'taibai', 'taobao', 'eggon', 'xiaoniao']
20 print(ret)
View Code

 

结果:

python基本数据类型,int,bool,str

 

  3.格式化输出

python基本数据类型,int,bool,str
1 #格式化输出
2 s6 = "我叫%s,今年%d岁了,我喜欢%s"%('alex',26,'周杰伦')  #之前的格式化输出
3 print(s6)
4 s6 = "我叫{},今年{}岁了,我喜欢{}" .format("alex",26,"周润发") #按位置格式化
5 print(s6)
6 s6 = "我叫{0},今年{2}岁了,我喜欢{1}" .format( "alex","周润发",26) #指定位置
7 print(s6)
8 s6 = "我叫{name},今年{age}岁了,我喜欢{singer}".format(name="alex", singer="周润发", age=28)     # 指定关键字
9 print(s6)
View Code

 

结果:

python基本数据类型,int,bool,str

 

  4.查找

python基本数据类型,int,bool,str
 1 #查找
 2 s6 = "我叫alex,我喜欢python,java,c等编程语言"
 3 ret = s6.startswith("alex")  #判断是否以alex开头
 4 print(ret)
 5 ret = s6.endswith("语言")  #判断是否以语言结尾
 6 print(ret)
 7 ret = s6.count("a")  #查找a出现的次数
 8 print(ret)
 9 ret = s6.find("叫的阿道")  #查找叫 出现的位置  如果没有则返回-1
10 print(ret)
11 ret = s6.index("java")   #索引"java"的位置,如果找不到,则会报错
12 print(ret)
View Code

 

结果:

python基本数据类型,int,bool,str

  5.条件判断

python基本数据类型,int,bool,str
 1 #条件判断
 2 s7 = "123.456"
 3 s8 = "abc"
 4 s9 = " ad$%&89"
 5 print(s7.isalnum())    #是否由字数和数字组成
 6 print(s8.isalnum())
 7 print(s9.isalnum())
 8 print(s7.isalpha())    #是否由字母组成
 9 print(s8.isalpha())
10 print(s9.isalpha())
11 print(s7.isdigit())    #是否由数字组成, 不包括小数点
12 print(s8.isdigit())
13 print(s9.isdigit())
View Code

 

 

 结果:

python基本数据类型,int,bool,str

 

  6.计算字符串长度

python基本数据类型,int,bool,str
1 #计算字符串长度
2 
3 s10 = "alex is a page"
4 ret = len(s10)
5 print(ret)
6 # 注意: len()是python的内置函数. 所以访问方式也不一样. 你就记着len()和print()一样就行 了
View Code

  7.迭代

python基本数据类型,int,bool,str
 1 #迭代
 2 s11 = "我是xiaoniao,我从来都不放P"
 3 a = 0
 4 while a < len(s11):
 5     print(s11[a])   #利用索引切片来完成字符的查找
 6     a += 1
 7 for c in s11: #利用for循环把s11中每一个字符拿出来 赋给c
 8     print(c)
 9 print("xiaoniao"in s11)
10 '''    in有两种⽤用法:
11         1. 在for中. 是把每一个元素获取到赋值给前⾯的变量.
12         2. 如果不在for中. 判断xxx是否出现在str中. '''
View Code