Python基础(二) 基本数据类型①:整数型、布尔型、字符串
转载清注明原文地址,谢谢。
一、Python基本数据类型
1. int : 整数, 主要用来进行数学运算
2. str : 字符串, 可以保存少量数据并进行相应的操作
3. bool : 判断真假, True, False
4. list : 存储大量数据.用[ ]表示
5. tuple : 元组, 不可以发生改变 用( )表示
6. dict : 字典, 保存键值对, 一样可以保存大量数据
7. set : 集合, 保存大量数据. 不可以重复. 其实就是不保存value的dict
二、整数型(int)
Python3中不存在long型,所有的整数都是int型
可通过 bit_length() 计算所对应二进制码长度
三、布尔值(bool)
布尔值只有两种:True 和 False
对应的整数型为:True = 1 ;False = 0;
布尔值没有相关操作。
四、字符串(str)
字符串用 单引号、双引号、三个单引号或者三个双引号 引起来。
1.字符串中的下标
字符串的下标类似于C\C++中的char型数组,下标从0开始。
例如:s1 = "Hello,World!"
可以得到s1[0] = 'H'
s1[1] = 'e'
……
s1[11] = '!'
2.在字符串中取片段(切片)
语法:str[开始下标:结束下标]
从开始下标开始截取,一直取到结束下标,但不包括结束下标的内容
例如:s2 = "Python是最简单的语言。"
其中 s2[0:3] = "Pyt"
s2[6:8] = "是最"
如果开始下标省略就是从头开始截取,一直截取到结束下标,但不包括结束下标的内容
s2[:6] = "Python"
如果结束下标省略,就是从开始下标开始,一直取到最后
s2[6:] = "是最简单的语言。"
开始和结束下标都省略就是原样输出了。
s2[:] = "Python是最简单的语言。"
需要注意的是,Python中字符串是对称的,就是说可以用对应的负号来表示对称的内容
例如:s2[-5:-1] = "单的语言"
s2[-5:] = "单的语言。"
s2[:-1] = "Python是最简单的语言"
下标顺序和数轴是一样的,需要从小到大进行,如果取 s2[-1:-5] 就取不到值。
另一种截取:跳着截取。语法:s2[开始下标:结束下标:步长]
例如:s2[1:5:2] = "yh" 就是从下标为1的开始取,每2个取1个,一直取到下标为5的地方,从1到5本应该是 ytho ,其中两两一组 yt ho 从中取每组中的第一个,所以得到 yh 。
s2[:5:2] = "Pto"
s2[4::2] = "o是简的言"
s2[-5::2] = "单语。"
s2[-5::-3] = "单是hP"
3.字符串的相关操作
①大小写转换
s1 = s1.capitalize() 将s1中的首字母大写,其他的全部小写
s1 = s1.lower() 将s1中的字母全部转换为小写
s1 = s1.upper() 将s1中的字母全部转换为大写
s1 = s1.swapcase() 将s1中的字母大写转换为小写,小写转换为大写,就是大小写互换
s1 = s1.casefold() 作用与 lower 相似,但 lower 不支持一些东欧的字母,这个太不常用
s1 = s1.title() 被特殊字符隔开的英文中首字母大写,特殊字符包含中文和"\n"、"\t"等
例如:s1 = "hR Hr中文hr\tHR"
s1.capitalize() = "Hr hr中文hr hr"
s1.lower() = "hr hr中文hr hr"
s1.upper() = "HR HR中文HR HR"
s1.swapcase() = "Hr hR中文HR hr"
s1.casefold() = "hr hr中文hr hr"
s1.title() = "Hr Hr中文Hr Hr"
②其他操作
居中:s1.center(拉长后的长度,"左右两边的填充字符")
例如:s1 = "123"
s1.center(10,"*") = "***123****"
更改 \t 的长度:s1.expandtabs(长度) 此处如果省略参数,默认参数为8
例如:s1 = "123\t1234"
s1.expandtabs(10) = "123 1234"
去掉特定字符:s1.strip("特定字符") 去左右两端的特定字符,省略参数默认为去掉 空格 。
s1.lstrip("特定字符") 去掉左边的
s1.rstrip("特定字符") 去掉右边的
替换:s1.replace("替换前", "替换后")
s1.replace("替换前", "替换后", 从左往右替换次数)
例如:s1 = "EA Apex Apex Apex"
s1.replace("EA", "外挂") = "外挂 Apex Apex Apex"
s1.replace("Apex", "反外挂", 2) = "EA 反外挂 反外挂 Apex"
切割:s1.split("特定字符") 以特定字符为切点,切割成为列表,类型为list
例如:s1 = "123ww321ww3213232131ww732817"
s1.split("ww") = [ "123" , "321" , "3213232131" , "732817" ]
③查找
s1.startswith("特定字符串") 判断是否以特定字符串开头,返回值为bool型
s1.endswith("特定字符串") 判断是否以特定字符串结尾,返回值为bool型
s1.count("特定字符串") 查找特定字符串出现的次数,返回值为int型
s1.find("特定字符串") 查找特定字符串出现的下标,返回下标
④条件判断,返回值为bool型
s1.isalnum() 判断是否由字母和数字组成
s1.isalpha() 判断是否由字母组成
s1.isdigit() 判断是否由数字组成,不包括小数点
s1.isdecimal() 和上一个作用相同,判断是否由数字组成,不包括小数点
s1.isnumeric() 和上一个作用相同
⑤取长度:len(s1) 取s1字符串的长度
⑥字符串中的循环迭代:
s1 = "大家好,我是XXX,你们好吗?" #while循环 i = 0 while i < len(s1) print(s1[i]) i += 1 #for循环 for j in s1 : print(j) #输出结果为:每个字依次输出