**
014链式赋值,系列解包赋值
**
链式赋值(同一个对象赋值给多个变量)
x = y =100
系列解包赋值(系列数据赋值给对应相同个数的变量)
a,b,c = 1,23
【1】使用系列解包赋值实现变量交换
常量
python不支持常量
实际上是可以改的,只能逻辑上不做修改
**
015 内置数据类型_基本算数运算符
**
最基本的内置数据类型
(1)整型:整数
(2)浮点数:小数
(3)布尔型
(4)字符串型
数字做以下运算:
加减乘+ - *
*浮点数除法 /
整数除法 //
取余%
幂 a ** b
同时得到商和余数divmod()函数,返回的是一个元祖
**
016 整数-不同进制_其他类型转换成整数
**
整数{ 十进制、二进制、八进制、十六进制}
二进制 , .0b 或0B
八进制, .0o或0O
十六进制 .0x或0X
使用int( )实现类型转换
1.浮点数直接舍去小数部分
2.布尔值True 转为1,False转为0
3.
3.字符串符合整数格式(浮点数格式不行),则直接转成对应整数,否则报错
自动转型
当整数和浮点数混合运算时候,表达式结果自动转型成浮点数。
**
019定义多点坐标_绘制折现_并计算起始点和重点距离
**
**
020 布尔值-比较运算符_逻辑运算符_短路问题
**
布尔值
python3中,把True 和False 定义成了关键字,但是他们的本质还是1和0
甚至可以和数字相加
*
比较运算符
所有比较运算符返回 1 表示真,返回 0 表示假
逻辑运算符
**
021 同一运算符
**
is isnot 实际比较的是对象的地址
对象:id type value
两者的区别:is 比较的是id; ==比较的是value
is 运算符比 == 效率高
为什么有的a =10 ,b =10
a is b
True
因为python仅仅对比较小的整数对象进行缓存,范围[-5,256]
这仅仅是在命令行中执行,在pycharm中,[-5,正无穷]是一样的
**
022字符串
**
字符串的编码
使用内置函数ord()可以把字符转化成对应的Unicode码
使用内置函数chr()可以把十进制数字转化成对应的字符
创建字符串
通过单引号或双引号创建
连续三个单引号或双引号,可以创建多行字符串
空字符串和 len( )函数
python允许空字符串的存在,不包含任何字符且长度为0
一个汉字代表一个字符
**
023字符串_转义字符_字符串拼接_字符串复制
**
使用 \ +特殊字符 实现某些难以用字符表示的效果
\ (在行尾时) 续行
\ 反斜杠符号
’ 单引号
‘’ 双引号
\b 退格
\n 换行
\t 横向制表符
\r 回车
字符串拼接
- 使用 + 将多个字符串拼接起来
(1)如果两边都是字符串,则拼接
(2)如果两边都是数字,则加法运算
(3)如果两边类型不同,报错
2 将多个字符串放在一起,直接实现拼接
字符串复制
使用 * 可以实现
不换行打印
在调用print时,会自动打印一个换行符
有时我们不想换行,可通过 end = “任意字符串”
从控制台读取字符串
025字符串切片操作
切片操作slice操作可以让我们快速的提取子字符串,标准格式为:
(所有的* 包头不包尾*)
(step 步长不写,默认为1)
[起始偏移量:终止偏移量:步长]
1 、[ : ] 提取整个字符串
2、[start : ]从start索引开始到结尾
3、[ : end]从头开始到 end-1
4、[start :end ]从start开始到end-1
5、[start : end :step] 从start开始到end -1,步长是step
其他操作(三个量为负数)
[ -3 :] 从倒数第三个开始到结束
[-8:-3] 从倒数第8个开始到倒数第三个(包头不包尾)
[: : -1] 步长为负,从右到左反向提取
**
026 split()分割 join()合并
**
spilt()分割成多个字符串(储存到列表中)
如果不指定分隔符,则默认使用空白字符
首末要是分隔的话 是个空字符串
ot to 如果用t分隔的话
‘o’,’ ',‘o’ 注意这个是两个空格 和其他的长度不一样
join()的作用,用于将一系列字符串连接起来
拼接符 +,会生成新的字符串对象
Join() 仅新建一次对象
【测试】拼接符+和join的效率
**
027 字符串驻留机制和字符串比较
**
对于符合标识规则的字符串(仅包含下划线、字母和数字)会启用字符串驻留机制
成员操作符 in not in
028字符串常用方法汇总
a.find 第一次出现的索引位置
a.rfind 最后一次出现的索引位置
a.isalnum 所有字母全是字母或数字
去除首尾信息
strip() 去除首尾信息
(去除首尾空格)
(去除首尾其他信息)
大小写转换
a.capitalize() 产生新的字符串,首字母大写
a.title() 产生新的字符串,每个单词都首字母大写
a.upper() 产生新的字符串,所有字符全转成大写
a.lower() 产生新的字符串,所有字符全转成小写
a.swapcase() 产生新的,所有字母大小写转换
注意:a.capitalize() 只是首字母大写,a.title()每个单词都是字母大写
格式排版
center()、ljust()、rjust()这三个函数用于对字符串实现排版。
其他方法
- isalnum() 是否为字母或数字
- isalpha() 检测字符串是否只由字母组成(含汉字)。
- isdigit() 检测字符串是否只由数字组成。
- isspace() 检测是否为空白符
- isupper() 是否为大写字母
- islower() 是否为小写字母
**
029字符串的格式化
**str.format()
填充与对齐
^、<、>分别是居中、左对齐、右对齐,后面带宽度
:号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充
数字格式化
3.1415926 {:.2f} 3.14 保留小数点后两位
3.1415926 {:+.2f} 3.14 带符号保留小数点后两位
2.71828 {:.0f} 3 不带小数
5 {:0>2d} 05 数字补零 (填充左边, 宽度为 2)
5 {:x<4d} 5xxx 数字补 x (填充右边, 宽度为 4)
10 {:x<4d} 10xx 数字补 x (填充右边, 宽度为 4)
1000000 {:,} 1,000,000 以逗号分隔的数字格式
0.25 {:.2%} 25.00% 百分比格式
1000000000 {:.2e} 1.00E+09 指数记法
13 {:10d} 13 右对齐 (默认, 宽度为 10)
13 {:<10d} 13 左对齐 (宽度为 10)
13 {:^10d} 13 中间对齐 (宽度为 10)