Python中包括以下常用数据类型:数字、布尔值、 字符串、列表、元组、字典、集合、collention系列
一、数字
关键字:int
数字的常用操作方法:
a = "123"
print(int(a)) #转换成数字
b = 5
print(b.bit_length()) #返回表示数字时占用的最少位数
二、布尔值
关键字:bool
表示真或假,True或False
为False的表示:0、””(空字符串)、[](空列表)、()(空元组)、{}(空字典)
为True的表示:非零的数字、非空的其他数据类型对象
三、字符串
关键字:str
字符串常用功能:
- 移除空白
- 分割
- 长度
- 索引
- 切片
常用的字符串操作方法:
1、替换操作:
test18 = "alexalexalex" print(test18.replace("ex", "bbb")) #把字符串中指定的字串替换,默认把全部的替换 print(test18.replace("ex", "bbb", 2)) #把字符串中指定的字串替换,第三个参数指定替换其中的前几个
2、查找操作
str1 = " hello world " print(str1.find("o")) #在字符串中查找指定的字串,返回其下标,未找到返回-1 print(str1.index("o")) #在字符串中查找指定的字串,返回其下标,未找到返回错误
3、字符串格式化
test1 = "i am {name}, age {a}" print(test1.format(name="baihl", a=10)) #格式化输出 test2 = "i am {0}, age {1}" print(test2.format("baihl", 10)) #格式化输出 print(test1.format_map({'name':"baihl", 'a':10})) #使用字典方式格式化
4、分割操作
test10 = "心梦无痕" str1 = "_" print(str1.join(test10)) #表示以字符串_分割字符 print(" ".join(test10)) #以空格分割 test15 = "absdfsnlkjsljlkj" print(test15.partition("s")) #指定以s字符从左开始分割字符串,只分割一次 print(test15.rpartition("s")) #指定以s字符从右开始分割字符串,只分割一次 print(test15.split("s", 2)) #指定以s字符从左开始分割字符串,分割2次,如果没有第二个参数,默认全部分割,分割后s不包含在分割后的字符中 print(test15.rsplit("s", 2)) test16 = "ajf adfjadfjadf fajdfjj" print(test16.splitlines()) #默认使用 进行字符串分割,分割后的字符串中不包含 print(test16.splitlines(True)) #默认使用 进行字符串分割,分割后的字符串中包含 print(test16.splitlines(False)) #同不带参数
5、删除空格操作:
test12 = " alex " print(test12.lstrip()) #删除左边的空格或左边的换行 print(test12.rstrip()) #删除右边的空格。。。 print(test12.strip()) #删除所有的空格。。。 print("baihl".lstrip("bax")) #从左开始匹配,把匹配到的最长字符删除,一次类推,输出"ihl"
6、开始和结束判断操作
print(strname.endswith("I")) #表示字符串以什么结尾,输出bool值 print(strname.startswith("B")) #表示字符串以什么开始
7、大小写转换
test11 = "Alex" print(test11.islower()) #判断是否全是小写 print(test11.lower()) #全部转换成小写 print(test11.isupper()) #判断是否全是大写 print(test11.upper()) #全部转换成大写 print(test11.swapcase()) #大小写转换,把字符串中的大写转成小写,小写转成大写
8、判断字母、数字、空格、下划线:
test3 = "baihl1992" print(test3.isalnum()) #判断字符串中只包含数字或字符 test5 = "Alex中2" print(test5.isalpha()) #判断字符串是否全是字符,中文也算字符 test6 = "123" print(test6.isdecimal(), test6.isdigit()) #判断是否是数字 print(test6.isnumeric()) #判断是否是数字,可以判断中文的数字 test7 = "_ " print(test7.isidentifier()) #判断是否是字母、数字或下划线 print(test7.isprintable()) #是否包含不可见字符 test8 = " " print(test8.isspace()) #判断字符串是否全是空格
9、判断标题
test9 = "Baihl Up li" print(test9.istitle()) #判断是否是标题,标题表示字符串中的所有单词首字母大写 print(test9.title()) #转换成标题
10、制作表格
test4 = "hello world baihl" print(test4) print(test4.expandtabs(6)) #表示以tab分割,每个tab加字符串的宽度为6 test4 = "username mail passwd baihl baihl@qq.com 123456 haoliang haoliang@qq.com 123456 " print(test4.expandtabs(20)) #制作表格,每列为20宽度
11、其他操作
strname = "HELLO WORLD" print(strname.casefold()) #小写转换 print(strname.lower()) #小写转换 print(strname.center(20, "*")) #字符居中,宽度20,第二个参数可选 print(strname.ljust(20,"*")) #左对齐 print(strname.rjust(20,"*")) #右对齐 print(strname.zfill(20)) #右对齐,使用0填充 print(strname.count("I")) #子字符串的个数 print(strname.count("I",5)) #从第5个下标位置开始查找 print(strname.count("I",5,6))#设置查找的起始位置和结束位置