系列解包赋值
系列数据赋值给对应相同个数的变量:a,b,c=4,5,6
常量
python不支持常量,没有语法规则限制改变一个常量的值。即,python中的“常量”值是可以被改变的。
>>> MAX_SPEED = 120
>>> print(MAX_SPEED)
120
>>> MAX_SPEED = 140 #实际是可以改的。只能逻辑上不做修改。
>>> print(MAX_SPEED)
140
运算符
// 整数除法
% 取余
** 幂运算
divmod() 同时得到商和余数
增强型赋值运算符
- +=
a+=2 等价于 a=a+2 - -=
a-=2 等价于 a=a-2 - =
a=2 等价于 a=a*2 - /=
a/=2 等价于 a=a/2 - //=
a//=2 等价于 a=a//2 - =
a=2 等价于 a=a**2 - %=
a%=2 等价于 a=a%2
时间表示
import time
t1=time.time()
绘制折线、计算起止距离
import turtle
import math
#定义多个点的坐标
x1,y1=100,100
x2,y2=100,-100
x3,y3=-100,-100
x4,y4=-100,100
turtle.penup()
turtle.goto(x1,y1)
turtle.pendown()
turtle.goto(x2,y2)
turtle.goto(x3,y3)
turtle.goto(x4,y4)
#计算起止距离
distance = math.sqrt((x1-x4)**2+(y1-y4)**2)
turtle.write(distance)
逻辑运算符
or 逻辑或
and 逻辑与
not 逻辑非
同一运算符is
is:判断两个标识符是不是引用同一个对象
is not:判断两个标识符是不是引用不同对象
- is 和 == 的区别
is判断是否是同一个对象,即比较的是地址;
==判断两个对象的值是否相等,不在意对象是否为同一个。 - is 比 == 运算效率高
变量和None比较时,应该使用is - 小整数缓存[-5,256]会被缓存起来,重复使用
>>> a=1000
>>> b=1000
>>> id(a)
4327664528
>>> id(b)
4327664336
>>>a==b
Ture
>>>a is b
False
>>> a=100 #小整数
>>> b=100
>>> id(a)
4310291920
>>> id(b)
4310291920
加法操作
- 数字相加: 3+2 -> 5
- 字符串拼接:“3”+“2” -> “32”
- 列表、元组合并:[10,20,30]+[5,10,100] -> [10,20,30,5,10,100]
乘法操作
- 数字相乘: 3*2 -> 6
- 字符串复制:“sxtt”*3 -> “sxttsxttsxtt”
- 列表、元组复制:[10,20,30]*3 -> [10,20,30,10,20,30,10,20,30]
(5+10x)/5-13(y-1)(a+b)/x+9(5/x+(12+x)/y)
字符串
- 可以通过单引号或双引号创建字符串
- Python3 的字符默认就是 16 位 Unicode 编码,ASCII 码是 Unicode 编码的子集。
- 使用内置函数 ord()可以把字符转换成对应的 Unicode 码;
- 使用内置函数 chr()可以把十进制数字转换成对应的字符。
- 连续三个单引号或双引号,可以创建多行字符串
>>>ord('A')
65
>>> chr(77)
'M'
len()函数计算字符串长度
转义字符
\ 续行符
\ 反斜杠符
’ 单引号
" 双引号
\b 退格
\n 换行
\t 横向制表符
\r 回车
打印不换行
print默认会在末尾自动打印一个换行符号,如果不想要,可以用end=”自定义“来设置末尾内容。
print("sxt",end='')
print("sxt",end='#*')
print("sxt")
运行结果:
sxtsxt#*sxt
input()函数读取键盘输入
>>> myname = input("输入名字:")
输入名字:hoesen
>>> myname
'hoesen'
str()将其他数据类型转换成字符串
str(5.20) -> ‘5.20’
str(3.14e2) ->’314.0’
str(True) -> ‘True’
[]提取字符
- 从左往右:第一个字符序号是0,一直到len(str)-1
- 从右往左:第一个字符序号是-1,一直到-len(str)