Python之常用操作符/运算符
该文章系本人的学习Python的学习笔记,若有错误望指正。
1.Python算术操作符/运算符:
-
+ 加法运算符:①常用的数学加法 + ;②拼接字符串。
-
- 减法运算符:①常用的数学减法 - ;②求负。
-
*乘法运算符:①常用的数学乘法 * ;②重复字符串。
-
/ 和 // 除法运算符:
Python 支持
/
和//
两个除法运算符,但它们之间是有区别的:-
/
表示普通除法,使用它计算出来的结果和数学中的计算结果相同。 -
//
表示整除,只保留结果的整数部分,舍弃小数部分;注意是直接丢掉小数部分,而不是四舍五入。 -
其中:
-
/
的计算结果总是小数,不管是否能除尽,也不管参与运算的是整数还是小数。 -
当有小数参与运算时,
//
结果才是小数,否则就是整数。
-
-
-
%求余运算符:
- 只有当第二个数字是负数时,求余的结果才是负数。换句话说,求余结果的正负和第一个数字没有关系,只由第二个数字决定。
%
两边的数字都是整数时,求余的结果也是整数;但是只要有一个数字是小数,求余的结果就是小数。
-
次方(乘方)运算符:Python运算符用来求一个 x 的 y 次方,也即次方(乘方)运算符。
2.Python赋值运算符:
赋值运算符用来把右侧的值传递给左侧的变量(或者常量);
可以直接将右侧的值交给左侧的变量,
也可以进行某些运算后再交给左侧的变量,比如加减乘除、函数调用、逻辑运算等。
3.Python位运算符:
Python 位运算符只能用来操作整数类型,它按照整数在内存中的二进制形式进行计算。
&按位与运算符运算规则: |
---|
只有参与&
运算的两个位都为 1 时,结果才为 1,否则为 0。例如1&1
为 1,0&0
为 0,1&0
也为 0,这和逻辑运算符&&
非常类似。
| 按位或运算符运算规则: |
---|
两个二进制位有一个为 1 时,结果就为 1,两个都为 0 时结果才为 0。例如1|1
为 1,0|0
为0,1|0 为1,这和逻辑运算中的||
非常类似。
^按位异或运算符运算规则: |
---|
参与运算的两个二进制位不同时,结果为 1,相同时结果为 0。例如0^1
为 1,0^0
为 0,1^1
为 0。
~按位取反运算符运算规则: |
---|
按位取反运算符~
为单目运算符(只有一个操作数),右结合性,作用是对参与运算的二进制位取反。例如~1
为0,~0
为1,这和逻辑运算中的!
非常类似。
<<左移运算符运算规则: |
---|
Python 左移运算符<<
用来把操作数的各个二进制位全部左移若干位,高位丢弃,低位补 0。
>>右移运算符运算规则: |
---|
Python 右移运算符>>
用来把操作数的各个二进制位全部右移若干位,低位丢弃,高位补 0 或 1。如果数据的最高位是 0,那么就补 0;如果最高位是 1,那么就补 1。
4.Python比较运算符(关系运算符):
==
和 is
的区别:
== 用来比较两个变量的值是否相等,而 is 则用来比对两个变量引用的是否是同一个对象,例如:
import time #引入time模块
t1 = time.gmtime() # gmtime()用来获取当前时间
t2 = time.gmtime()
print(t1 == t2) #输出True
print(t1 is t2) #输出False
如何判断两个对象是否相同呢?
答案是==判断两个对象的内存地址==。如果内存地址相同,说明两个对象使用的是同一块内存,当然就是同一个对象了。
5.Python逻辑运算符:
-
注意:and中含0,返回0; 均为非0时,返回后一个值;
or中, 至少有一个非0时,返回第一个非0;
原因是所有不为0的整数都视为True。
6.Python三目(元)运算符:
1.使用 if else 实现三目运算符(条件运算符)的格式如下:
exp1(表达式1) if contion(判断条件) else exp2(表达式2) |
---|
如果 condition 成立(结果为真),就执行 exp1,并把 exp1 的结果作为整个表达式的结果;
如果 condition 不成立(结果为假),就执行 exp2,并把 exp2 的结果作为整个表达式的结果。
比如:
if a>b:
max = a;
else:
max = b;
max = a if a>b else b
这里的两个是一样的。
2.三目运算符的嵌套:
a if a>b else ( c if c>d else d ) |
---|
结果过程如上。