关于Python中的运算符
1.算数运算符:
以下假设变量: a=10,b=20:
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 - 两个对象相加 | a + b 输出结果 30 |
- | 减 - 得到负数或是一个数减去另一个数 | a - b 输出结果 -10 |
* | 乘 - 两个数相乘或是返回一个被重复若干次的字符串 | a * b 输出结果 200 |
/ | 除 - x除以y | b / a 输出结果 2 |
% | 取模 - 返回除法的余数 | b % a 输出结果 0 |
** | 幂 - 返回x的y次幂 | a**b 为10的20次方, 输出结果 100000000000000000000 |
// | 取整除 - 返回商的整数部分(向下取整) |
eg:9//2 4 eg:-9//2 -5 |
注意:Python2.x 里,整数除整数,只能得出整数。如果要得到小数部分,把其中一个数改成浮点数即可。
>>> 1/2 0 >>> 1.0/2 0.5 >>> 1/float(2) 0.5
2.比较运算符
== 判断值是否相等
!= 值不等于
3.赋值运算符
=
4.增量赋值(偷懒方法)
n = 666
n = n + 1 可以用 n += 1 来表示
同理:
n = n - 1 可以转成 n -= 1
n = n * 1 可以转成 n *= 1
n = n / 1 可以转成 n /= 1
5.链式赋值(偷懒方法)
x = 666
y = x
z = y
这样子代码很绕是不是?
看下边↓
x = y = z = 666
这样即可
6.交叉赋值(笔试题)
如下
m = 10
n = 999
怎么让m=n呢?
错误解答
m = n
n = m
print(m,n)
结果:
999 999
方式1 利用中间变量
先把m交给变量名tmp
tmp = m
m = n
n = tmp
print(m, n)
结果:
999 10
方式2 交叉赋值
m, n = n, m
print(m, n)
结果:
999 10
解压赋值
如下有列表:['jason', 'kevin', 'tony', 'jack']赋值给name_list
name_list = ['jason', 'kevin', 'tony', 'jack']
此时要把列表的第一个赋值给某个变量名,我们要输入:
name1 = name_list[0]
赋值给多个变量时这样:
name2 = name_list[1]
name3 = name_list[2]
name4 = name_list[3]
很繁琐对不对,那么偷懒方法来了~
偷懒方法:
name1, name2, name3, name4 = name_list
左右两边个数相等可以同时赋值多个,如果少一个或者多一个都会报错
进阶偷懒用法:可以打破上述规律 特殊符号 *号加_
eg:
name1, *_, name2 = name_list
用name1, *_, name2去赋值给列表第一个和最后一个,*_代表中间的几个值暂时用不到
此时:
print(name1, _, name2)
结果:
jason ['kevin', 'tony'] jack
他会把缩写的值放在一个列表中
同时还可以这样
name1, *_ = name_list
name1, name2, *_ = name_list
*可以接受多余的元素 组织成列表赋值给后面的变量名
下划线单独作为变量名 通常表达的意思指向的值没有啥用
python逻辑运算符
逻辑运算符就3个
and 与
用于连接多个条件并且多个条件必须都成立才可以
or 或
用于连接多个条件并且多个条件只要有一个成立即可
not 非
取相反的结果
三个连接符号如果混合使用 是有优先级的
但是我们在编写的时候应该人为的规定好优先级
好了关于运算符就讲到这里了,拜拜~