目录
链式赋值
将一个对象赋值给多个变量
x=y=1x=1,y=1
系列解包赋值
系列数据赋值给相同个数的变量
a,b,c=4,5,6a=4,b=5,c=6
可以通过 a,b=b,a 实现a,b互换
常量
python不支持常量,只能通过逻辑上不对常量做出修改
数据类型
类型
整型:整数
浮点型:小数
布尔型:True\False
字符串型
数字的运算
指的是整型和浮点型的运算
| 运算符 | 说明 | 示例 | 结果 |
| + |
加法 |
1+2 | 3 |
| - | 减法 | 3-1 | 2 |
| * | 乘法 | 2*3 | 6 |
| / | 浮点数除法 | 8/2 | 4.0 |
| // | 整数除法 | 7/2 | 3 |
| % | 模(取余) | 7%4 | 3 |
| ** | 幂 | 2**3 | 8 |
除数为0会产生异常
使用divmod()可以同时得到商和余数 例如:divmod(13,3) 得到结果(4,1) 返回的结果是一个元组
整数
可用于位运算
0b或0B 二进制
0o或0O 八进制
0x或0X 十六进制
例如: 0b101 得到结果:5
- 使用int()实现类型转换 把布尔型、浮点型和字符串型转换为整数
int(True) >>1 int(False) >> 2
int(3.734) >>3 (不是四舍五入)
int("2345") >>2345 int("2345abc") >>报错!
- 自动转型
整数和浮点数运算自动转换为浮点数
python3中整数可以无穷大
浮点数
称为float,314E-2或314e-2,表示3.14,在内存这也是用科学计数法保存
float()转换为浮点数
float()只是生成一个新对象,对原有对象不会改变
round()可以四舍五入,同样不会改变原有对象
增强型赋值运算符
所有运算符和赋值符号=在一起构成增强型赋值运算符
例如 a+=2 a=a+2 其他符号同理
时间的表示
计算机中,从1970年1月1日00:00:00开始,以毫秒进行计算,我们把此时刻称为unix时间点
time.time()返回当前时刻,以秒为单位的浮点数,微妙精度,是从unix时间点到此刻的秒数
math.sqrt() 开方函数
注意:使用math.sqrt() 前,调用math! (import math)
布尔值
python2中没有专门的布尔符号,用0 1表示
python3中用True和False,本质也是1 0 可以和数值运算
- 比较运算符
==, !=, <, >, >=, <=
- 逻辑运算符
与 and 或or 非not
- 同一运算符 is, is not
比较两个对象, 就是存储单元,实际是比较存储地址(即对象三个特征中的标识id)
而比较运算符比较的是值value
注意:对于[-5,256]的数字,会进行缓存,内存地址相同。
a=-6,b=-6 a is b>> False
a=10,b=10 a is b>> True
- 成员操作符:判断某个字符串是否在另一个字符串中,in/not in
字符串
ord()可以把字符转换成对应的Unicode码
chr()可以把十进制数转换成对应的字符
- 创建字符串:单引号双引号都可,如果字符串内容有其中一种引号,可以使用另一种把字符串括起来
前后三个单引号可以创建多行字符串
- 空字符串c='' 字符长度len(),注意汉字和字母都是占一个
- 转义字符
- 字符串拼接 ''a''+"b">> "ab"
- 字符串复制 "a"*3>> "aaa"
- 不换行打印 print("a",end="任何想添加的内容")默认打印是末尾换行,现在可以用end=代替,就不会换行了,如果输入的是\n就是换行,\t就是空格
- 从控制台输入字符串 myname=input("请输入你的名字: ")>>请输入你的名字: 之后后台会等待你输入字符串,之后myname被赋值你输入的字符串
- str()转换为字符型
- 使用[]提取字符:s="abcdef" s[0]='a',s[4]='e',s[-1]='e',s[-5]='a'
- 字符串替换replace(), s.replace('c','1')>> "ab1def" 但是s并没有变,只是新建一个对象
- 字符串切片操作slice
标准格式:[起始偏移量:终止偏移量:步长]
s[1:5]>> "bcde", 注意:第一个字母位置是0,1:5包含1,不包含5(包头不包尾)
s[1:5:1]>> "bcde" s[1:5:2]>> "bd"
注意:起始量和终止量可以是负数,负数含义同《使用[]提取字符》
步长为负,从右往左反向提取
起始和终止量超出字符串长度范围,默认取到最前面或最后,不会报错
- 分割split(), 把字符串分割成列表,a="to be or not to be"
a.split()>> ['to','be','or','not','to','be'] a.split('be')>> ['to ',' or not to ','']
拼接join(),a=['a','b','c'] "".join(a)>> "abc", 相对于加号的拼接功能,join只需要一个对象,效率高,加号每加一次都会生成一个对象
- 字符串驻留机制 符合字符串规则的会驻留
- 常用查找方法
- 去除首尾指定信息strip(),只去左边lstrip(),右边rstrip()
- 大小写转换
- 格式排版:居中,并且左右两边填充指定内容
- 其他方法
注意:这些方法中的字母包含汉字,汉字也算字母
- 字符串格式化:
format()基本用法
format在填充和对齐中的使用
format在数字格式化中的使用