python笔记
A,算术运算符
运算符 | 描述 | 举例 | 结果 |
+ | 加 | 0+1 | 1 |
- | 减 | 2-1 | 1 |
* | 乘 | 1*1 | 1 |
/ | 除 | 1/1 | 1 |
% | 取模(取余) | 6%5 | 1(余1) |
// | 除,且向下取整 | 3//2 (图片来源网络,侵删) -1//2 | 1 -1 |
** | 返回x的y次幂 | 2**0 | 1 |
取模运算公式
a % b = a - a // b * b
print(-10%3)
=-10 - (-10) // 3 * 3
=-10 - (-4)*3
=2
print(10%-3)
=10 - 10 // (-3) *(- 3)
=-10 - (-4)*(-3)
=-2
B,赋值运算符
1,特点
a,运算顺序从右到左
b,运算符左边是变量,右边是变量,字面量,表达式
运算符 | 描述 | 用法 | 结果 |
= | 赋值运算符 | c=a+b | |
+ = | 复合加法赋值运算符 | c+=a | c=c+a |
- = | 复合减法赋值运算符 | c-=a | c=c-a |
* = | 复合乘法赋值运算符 | c*=a | c=c*a |
/ = | 复合除法赋值运算符 | c/=a | c=c/a |
% = | 复合取模赋值运算符 | c%=a | c=c%a |
** = | 复合幂赋值运算符 | c**=a | c=c**a |
// = | 复合取整除赋值运算符 | c//=a | c=c//a |
例
定义
a=1
a+=1 ——> a=a+1
输出
print(a)
——>2
2,提问:如何交换变量a和变量b的值,a=2,b=3
方法一,定义一个中间变量,存储a的值
c=a
把b的值赋予a
a=b
把中间变量的值赋予b
b=c
方法二,python支持使用x,y=y,x的方式交换变量值
定义
a,b=b,a
输出
print(a)
print(b)
——>
3
2
方法三,运算
定义
a=1
b=2
定义1
a=a+b
定义2
b=a-b ——>b=a+b-b ——>b=a
定义3
a=a-b ——>a=a+b-a
输出
print(a)
print(b)
——>
b
a
C,比较运算符
1,结果是True或者False
2,常用于if语句
3,在python中a == b不代表a is b,pycharm可以
运算符 | 描述 | 举例 | 结果 |
== | 等于 | 3==4 | False |
!= | 不等于 | 3!=4 | True |
4 | False | ||
=4 | False | ||
is | 判断两个变量是否相同 | ||
is not | 判断两个变量是否不同 |
D,逻辑运算符
非零整数为T,零为F
例:a = 10 , b = 20
运算符 | 逻辑表达式 | 描述 | 举例 | 结果 |
and | x and y | bool与, 如果x为False,返回x 如果x为True,返回y | a and b | 20 |
or | x or y | bool或, 如果x为False,返回y 如果x为True,返回x | a or b | 10 |
not | not x | bool非,(相当于取反) 如果x为False,返回True 如果x为True,返回False | not a | False |
1,and
定义
age = 30
输出
print(age >= 20 and age True
if age >= 20 and age YES
2,or
定义
age = 30
输出
print(age = 40)
——>False
if age = 40
print("YES")
——>报错
3,not
定义
age = 30
b = not (age>40)
输出
print(b)
——>True
5,三元运算符
1,语法
max = a if a > b else b
a,如果a>b成立,将a赋值给max
b,如果a>b不成立,将b赋值给max
2,用法
a,从a和b中查找最大值
a=1
b=2
max=a if a>b else b
print(f"max={max}")
——>
2
b,变量a,b,c中查找最大值
a=1
b=2
c=3
max1=a if a>b else b
max=(a if a>b else b) if (a if a>b else b)>c else c ——>嵌套if else,可读性差
max=max1 if max1>c else c ——>可读性好
print(f"max={max}")
——>
3