17-Python常用数据类型操作1

1.数值

	表现形式
		整数(int)
			二进制
				0b
					+
						二进制数
							只能包含01
			八进制
				0 / 0o
					+
						八进制数
							只能包含0-7
			十进制
				十进制数
					只能包含0-9
			十六进制
				0x
					+
						十六进制数
							只能包含0-9, a-f
		浮点数(float)
			由整数部分和小数部分组成
				168.2
			可以使用科学计数法表示
				1.682e2
					1.682 * 10²
		复数(complex)
			由实部和虚部组成
				a + bj
					complex(a, b)
				a, b 都是浮点数
		注意
			Python3的整型, 可以自动的调整大小, 当做Long类型使用
				所以, Python3中, 没有Python2中的Long类型
			分正负
				6
				-6
	进制转换
		进制的概念
			进位的制度
				逢x进1
				x进制
		常用进制
			二进制
				逢2进1
			八进制
				逢8进1
			十进制
				逢10进1
			十六进制
				逢16进1
		进制转换
			其他进制 -> 十进制
				x进制
					111101
					1 * x ^ 0 + 0 * x ^ 1
			十进制 -> 其他进制
				规律
					整除倒取余
			二进制 <-> 八进制
				整合3位为1位
			二进制 <-> 十六进制
				整合4位为1位
	常用操作
		适用于几乎所有Python运算符
			算术运算符
				+
					加法运算符
				-
					减法运算符
				*
					乘法运算符
				**
					幂运算符
				/
					除法运算符
				//
					整除运算符
				%
					求模运算符
				=
					赋值运算符
						a = 10
						b = a + c
						a, b, c = 10, 20, 30
						链式赋值
							a = b = c = 3
				注意
					除以0
					优先级问题
						()使用
				整除和求余的应用场景
					行列
			复合运算符
				+=
				-=
				*=
				%=
				**=
				//=
				a
					a  x= 值
					a = a x 值
			比较运算符
				>
				<
				!=
				<>
					Python2.x版本支持
					等同于!=
					以后统一使用!=表示不等于
				>=
				<=
				==
				is
					比对唯一标识
				链状比较运算符
					10 < a <=66
				注意
					整型比对
						==
						is
					案例
						256
							True
							True
						257
							True
							False
					解答
						出于对性能的考虑,Python内部做了很多的优化工作,对于整数对象,Python把一些频繁使用的整数对象缓存起来,保存到一个叫small_ints的链表中,在Python的整个生命周期内,任何需要引用这些整数对象的地方,都不再重新创建新的对象,而是直接引用缓存中的对象。Python把这些可能频繁使用的整数对象规定在范围[-5, 256]之间的小对象放在small_ints中,但凡是需要用些小整数时,就从这里面取,不再去临时创建新的对象。因为257不再小整数范围内,因此尽管a和b的值是一样,但是他们在Python内部却是以两个独立的对象存在的,各自为政,互不干涉。
						。Python内部为了将性能进一步的提高,凡是在一个代码块中创建的整数对象,如果存在一个值与其相同的对象于该代码块中了,那么就直接引用,否则创建一个新的对象出来。Python出于对性能的考虑,但凡是不可变对象,在同一个代码块中的对象,只有是值相同的对象,就不会重复创建,而是直接引用已经存在的对象。因此,不仅是整数对象,还有字符串对象也遵循同样的原则。所以 a is b就理所当然的返回True了,而c和a不在同一个代码块中,因此在Python内部创建了两个值都是257的对象。
			逻辑运算符
				not
					非
					取反
						真的变假
						假的变真
				and
					与
					一假全假
				or
					或
					一真全真
				注意
					非布尔类型的值, 如果作为真假来判定, 一般都是非零即真, 非空即真
					整个逻辑表达式的结果不一定只是True和False
			    注意
				    当int和float类型进行算术运算时, 结果会被提升为float类型
				数值类型如果参与逻辑运算, 参照的原则是
					非零即真
		数学函数
			部分函数使用前注意
				导入对应模块
					例如: import math
				使用函数时
					模块名.函数名(参数)
					math.fabs(-10)
			abs(num)
				返回数字的绝对值
			max(num1, num2...)
				返回序列中的最大元素
			min(num1, num2...)
				返回序列中的最小元素
			round(num[, n])
				四舍五入
				, n
					表示四舍五入的位数
					可以省略
			pow(x, y)
				返回 x 的 y次幂
					x ** y

---------------------分割线-------------------

			ceil(num)
				上取整
			floor(num)
				下取整
			sqrt(num)
				开平方
			log(x, base)
				以base为基数, x的对数
			内建函数
			math模块函数
		随机函数
			random()
				[0, 1)
					范围之内的随机小数
			choice(seq)
				从一个序列中, 随机挑选一个数值
				random.choice((1, 3, 6, 8))
			uniform(x, y)
				[x, y]
					范围之内的随机小数
			randint(x, y)
				[x, y]
					范围之内的随机整数
			randrange(start, stop=None, step=1)
				给定区间内的一随机整数
				[start, stop)
			random模块
		三角函数
			sin(x)
				正弦
			cos(x)
				余弦
			tan(x)
				正切
			asin(x)
				反正弦
			acos(x)
				反余弦
			atan(x)
				反正切
			degrees(x)
				弧度 -> 角度
			radians(x)
				角度 -> 弧度
			math模块
		数学常量
			pi
				数学中的π
					3.14...

2.布尔

bool
	True
	False
是int类型的子类
	issubclass(bool, int)
应用场景
	当做int类型,参与相关运算
	比较表达式的运算结果
		3 > 2
	可以用于if判定条件和while循环条件

3.字符串

	概念
		由单个字符组成的一个集合
	形式
		非原始字符串
			使用单引号包含的
				'abc'
			使用双引号包含的
				"abc"
			使用3个单引号
				''' abc '''
			使用3个双引号
				""" abc """
		原始字符串
			使用单引号包含的
				r'abc'
			使用双引号包含的
				r"abc"
			使用3个单引号
				r''' abc '''
			使用3个双引号
				r""" abc """
		概念补充
			转义符
				概念
					通过转换某个指定的字符, 使它具备特殊的含义
				常见转义符
					\(在行尾时) 	续行符
					\' 	单引号
					\" 	双引号
					\n 	换行
					\t 	横向制表符
	各个形式的特点
		单/双引号
			混合使用可以避免使用引号转义符
			一般内容需要写成一行
				跨行
					需要连行符 \
						name = "s \
	z"
					使用小括号
						name = ("s"
	"z")
		三引号
			可以直接跨行书写
			可用于注释
	字符串一般操作
		字符串拼接
			方式1
				str1 + str2
				例如:
					"wangzha" + "shunzi"
					"wangzhashunzi"
			方式2
				str1str2
					直接把两个字符串放一块
				例如:
					"wangzha""shunzi"
					"wangzhashunzi"
			方式3
				”xxx%sxxx“%(a+b)
			方式4
				字符串乘法
				"abc" * 3
					"abcabcabc"
		字符串切片
			概念
				获取一个字符串的某个片段
			获取某一个字符
				name[下标]
				下标
					字符串中每个字符的编号
						座位编号
					注意
						下标越界
						负数下标
							如果为负数, 则会从尾部开始定位
							最后一个字符为 -1
			获取一个字符串片段
				name[起始:结束:步长]
				注意
					获取范围
						[起始, 结束)
							起始包含
							结束不包含
					默认值
						起始默认值: 0
						结束默认值: len(name)
							整个字符串的长度
						步长默认值: 1
					获取顺序
						步长 > 0
							从左边到右
						步长 < 0
							从右往左
						注意: 不能从头部跳到尾部, 或者从尾部跳到头部
				特殊案例
					反转字符串
					字符串[::-1]
	字符串函数操作
		使用方式
			小旗子的代表是内建函数, 直接使用
			不带小旗子的属于对象方法
				对象.方法(参数)
		len
			作用
				计算字符串的字符个数
			语法
				len(name)
			参数
				字符串
			返回值
				整型
				字符个数
		find
			作用
				查找子串索引位置
			语法
				find(sub, start=0, end=len(str))
			参数
				参数1-sub
					需要检索的字符串
				参数2-start
					检索的起始位置
					可省略, 默认0
				参数3-end
					检索的结束位置
					可省略, 默认len(str)
			返回值
				找到了
					指定索引
					整型
				找不到
					-1
			注意
				从左到右进行查找
				找到后立即停止
		rfind
			功能使用, 同find
			区别
				从右往左进行查找
		index
			作用
				获取子串索引位置
			语法
				index(sub, start=0, end=len(str))
			参数
				参数1-sub
					需要检索的字符串
				参数2-start
					检索的起始位置
					可省略, 默认0
				参数3-end
					检索的结束位置
					可省略, 默认len(str)
			返回值
				找到了
					指定索引
					整型
				找不到
					异常
			注意
				从左到右进行查找
				找到后立即停止
		rindex
			功能使用, 同index
			区别
				从右往左进行查找
		count
			作用
				计算某个子字符串的出现个数
			语法
				count(sub, start=0, end=len(str))
			参数
				参数1-sub
					需要检索的字符串
				参数2-start
					检索的起始位置
					可省略, 默认0
				参数3-end
					检索的结束位置
					可省略, 默认len(str)
			返回值
				子字符串出现的个数
				整型
		replace
			作用
				使用给定的新字符串 替换原字符串中的 旧字符串
			语法
				replace(old, new[, count])
			参数
				参数1-old
					需要被替换的旧字符串
				参数2-new
					替换后的新字符串
				参数3-count
					替换的个数
					可省略, 表示替换全部
			返回值
				替换后的结果字符串
			注意
				并不会修改原字符串本身
		capitalize
			作用
				将字符串首字母变为大写
			语法
				capitalize()
			参数
				无
			返回值
				首字符大写后的新字符串
			注意
				并不会修改原字符串本身
		title
			作用
				将字符串每个单词的首字母变为大写
			语法
				title()
			参数
				无
			返回值
				每个单词首字符大写后的新字符串
			注意
				并不会修改原字符串本身
		lower
			作用
				将字符串每个字符都变为小写
			语法
				title()
			参数
				无
			返回值
				全部变为小写后的新字符串
			注意
				并不会修改原字符串本身
		upper
			作用
				将字符串每个字符都变为大写
			语法
				upper()
			参数
				无
			返回值
				全部变为大写后的新字符串
			注意
				并不会修改原字符串本身
		ljust
			作用
				根据指定字符(1个), 将原字符串填充够指定长度
				l
					表示原字符串靠左
			语法
				ljust(width, fillchar)
			参数
				参数1-width
					指定结果字符串的长度
				参数2-fillchar
					如果原字符串长度 < 指定长度时
					填充过去的字符
			返回值
				填充完毕的结果字符串
			注意
				不会修改原字符串
				填充字符的长度为1
				只有原字符串长度 < 指定结果长度时才会填充
		rjust
			作用
				根据指定字符(1个), 将原字符串填充够指定长度
				r
					表示原字符串靠右
			语法
				rjust(width, fillchar)
			参数
				参数1-width
					指定结果字符串的长度
				参数2-fillchar
					如果原字符串长度 < 指定长度时
					填充过去的字符
			返回值
				填充完毕的结果字符串
			注意
				不会修改原字符串
				填充字符的长度为1
				只有原字符串长度 < 指定结果长度时才会填充
		center
			作用
				根据指定字符(1个), 将原字符串填充够指定长度
				center
					表示原字符串居中
			语法
				center(width, fillchar)
			参数
				参数1-width
					指定结果字符串的长度
				参数2-fillchar
					如果原字符串长度 < 指定长度时
					填充过去的字符
			返回值
				填充完毕的结果字符串
			注意
				不会修改原字符串
				填充字符的长度为1
				只有原字符串长度 < 指定结果长度时才会填充
		lstrip
			作用
				移除所有原字符串指定字符(默认为空白字符)
				l
					表示从左侧开始移除
			语法
				lstrip(chars)
			参数
				参数-chars
					需要移除的字符集
					表现形式为字符串
						"abc"
						表示,"a"|"b"|"c"
			返回值
				移除完毕的结果字符串
			注意
				不会修改原字符串
		rstrip
			作用
				移除所有原字符串指定字符(默认为空白字符)
				r
					表示从右侧开始移除
			语法
				rstrip(chars)
			参数
				参数-chars
					需要移除的字符集
					表现形式为字符串
						"abc"
						表示,"a"|"b"|"c"
			返回值
				移除完毕的结果字符串
			注意
				不会修改原字符串
		split
			作用
				将一个大的字符串分割成几个子字符串
			语法
				split(sep, maxsplit)
			参数
				参数1-sep
					分隔符
				参数2-maxsplit
					最大的分割次数
					可省略, 有多少分割多少
			返回值
				分割后的子字符串, 组成的列表
				list 列表类型
			注意
				并不会修改原字符串本身
		partition
			作用
				根据指定的分隔符, 返回(分隔符左侧内容, 分隔符, 分隔符右侧内容)
			语法
				partition(sep)
			参数
				参数-sep
					分隔符
			返回值
				如果查找到分隔符
					(分隔符左侧内容, 分隔符, 分隔符右侧内容)
					tuple 类型
				如果没有查找到分隔符
					(原字符串, "", "")
					tuple 类型
			注意
				不会修改原字符串
				从左侧开始查找分隔符
		rpartition
			作用
				根据指定的分隔符, 返回(分隔符左侧内容, 分隔符, 分隔符右侧内容)
				r
					表示从右侧开始查找分隔符
			语法
				partition(sep)
			参数
				参数-sep
					分隔符
			返回值
				如果查找到分隔符
					(分隔符左侧内容, 分隔符, 分隔符右侧内容)
					tuple 类型
				如果没有查找到分隔符
					(原字符串, "", "")
					tuple 类型
			注意
				不会修改原字符串
				从右侧开始查找分隔符
		splitlines
			作用
				按照换行符(\r, \n), 将字符串拆成多个元素, 保存到列表中
			语法
				splitlines(keepends)
			参数
				参数-keepends
					是否保留换行符
					bool 类型
			返回值
				被换行符分割的多个字符串, 作为元素组成的列表
				list 类型
			注意
				不会修改原字符串
		join
			作用
				根据指定字符串, 将给定的可迭代对象, 进行拼接, 得到拼接后的字符串
			语法
				join(iterable)
			参数
				iterable
					可迭代的对象
						字符串
						元组
						列表
						...
			返回值
				拼接好的新字符串
		isalpha
			作用
				字符串中是否所有的字符都是字母
					不包含该数字,特殊符号,标点符号等等
					至少有一个字符
			语法
				isalpha()
			参数
				无
			返回值
				是否全是字母
				bool 类型
		isdigit
			作用
				字符串中是否所有的字符都是数字
					不包含该字母,特殊符号,标点符号等等
					至少有一个字符
			语法
				isdigit()
			参数
				无
			返回值
				是否全是数字
				bool 类型
		isalnum
			作用
				字符串中是否所有的字符都是数字或者字母
					不包含该特殊符号,标点符号等等
					至少有一个字符
			语法
				isalnum()
			参数
				无
			返回值
				是否全是数字或者字母
				bool 类型
		isspace
			作用
				字符串中是否所有的字符都是空白符
					包括空格,缩进,换行等不可见转义符
					至少有一个字符
			语法
				isspace()
			参数
				无
			返回值
				是否全是空白符
				bool 类型
		startswith
			作用
				判定一个字符串是否以某个前缀开头
			语法
				startswith(prefix, start=0, end=len(str))
			参数
				参数1-prefix
					需要判定的前缀字符串
				参数2-start
					判定起始位置
				参数3-end
					判定结束位置
			返回值
				是否以指定前缀开头
				bool 类型
		endswith
			作用
				判定一个字符串是否以某个后缀结尾
			语法
				endswith(suffix, start=0, end=len(str))
			参数
				参数1-suffix
					需要判定的后缀字符串
				参数2-start
					判定起始位置
				参数3-end
					判定结束位置
			返回值
				是否以指定后缀结尾
				bool 类型
		补充
			in
				判定一个字符串, 是否被另外一个字符串包含
			not in
				判定一个字符串, 是否不被另外一个字符串包含
		查找计算
		转换
		填充压缩
		分割拼接
		判定

学习地址:

撩课-Python大数据+人工智能1
撩课-Python大数据+人工智能2
撩课-Python大数据+人工智能3
撩课-Python大数据+人工智能4
撩课-Python大数据+人工智能5
撩课-Python大数据+人工智能6
撩课-Python-GUI编程-PyQt5

猜你喜欢

转载自blog.csdn.net/lkitlike/article/details/84997561