一丶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开始
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为倒数第二个
2.切片
我们可以使用下标来截取部分字符串的内容
语法: str[start:end]
规则:顾头不顾腚,从start开始截取,截取到end 位置,但不包括end
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
3.步长
如果是整数,则从左往右取,如果是负数,则从右往左取,默认是1
语法:
str[start:end:step]
start:起始位置
end:结束位置
step:步长
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
4.2字符串相关操作
切记,字符串是不可变对象,所以任何操作对原字符串不会有任何影响的
1.大小写相互转换
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)
结果:
2.切片
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)
结果:
3.格式化输出
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)
结果:
4.查找
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)
结果:
5.条件判断
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())
结果:
6.计算字符串长度
1 #计算字符串长度 2 3 s10 = "alex is a page" 4 ret = len(s10) 5 print(ret) 6 # 注意: len()是python的内置函数. 所以访问方式也不一样. 你就记着len()和print()一样就行 了
7.迭代
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中. '''
来源:https://www.cnblogs.com/qicun/p/9391348.html