freeCodeCamp/guide/chinese/python/basic-operators/index.md

328 lines
5.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: Basic Operators
localeTitle: 基本运营商
---
## 基本运营商
运算符是告诉解释器执行特定操作的符号(即算术,比较,逻辑等)
下面列出了Python中不同类型的运算符
1. 算术运算符
2. 关系运算符
3. 按位运算符
4. 分配运营商
5. 逻辑运算符
6. 会员运营商
7. 身份运营商
#### 算术运算符
算术运算符将两个操作数作为输入,执行计算并返回结果。
考虑表达式**“a = 2 + 3”** 。这里, `2`和`3`是_操作数_ `+`是_算术运算符_ 。操作的结果存储在变量a中。
操作者
描述
用法
+
对操作数执行添加
12 + 3 = 15
\-
在操作数上执行减法。 从左操作数中减去右操作数
12 - 3 = 9
\*
对操作数执行乘法运算
12 \* 3 = 36
/
对操作数执行分区。 将左操作数除以右操作数
12/3 = 4
注意当使用两个整数时Python 2和Python 3之间的结果不同。
Python 2中5/2 = 2
Python 3中5/2 = 2.5
对操作数执行模数。 返回将左操作数除以右操作数时获得的余数
163 = 1
\*\*
执行指数操作。 左操作数被提升到右操作数的幂
12 \*\* 3 = 1728
//
执行Floor Division操作。 返回右操作数跳转左操作数后获得的商的整数部分
18 // 5 = 3
注意要使结果为浮点类型其中一个操作数也必须是float类型。
#### 关系运算符
关系运算符用于比较两个操作数以确定它们之间的关系。它根据条件返回一个布尔值。
操作者
描述
用法
\>
如果左操作数大于右操作数则返回True 否则返回False
12> 3返回True
<
如果右操作数大于左操作数则返回True 否则返回False
12 <3返回False
\==
如果两个操作数相等则返回True 否则返回False
12 == 3返回False
\> =
如果左操作数大于或等于右操作数则返回True 否则返回False
12> = 3返回True
<=
如果右操作数大于或等于左操作数则返回True 否则返回False
12 <= 3返回False
=
如果两个操作数不相等则返回True 否则返回False
12= 3返回True
#### 按位运算符
按位运算符逐位对操作数执行操作
对于以下用法考虑a = 2二进制表示法10和b = 3二进制表示法11
操作者
描述
用法
对操作数执行按位AND运算
ab = 2 二进制10和11 = 10
|
对操作数执行按位OR运算
一个| b = 3 二进制10 | 11 = 11
^
对操作数执行按位XOR运算
a ^ b = 1 二进制10 ^ 11 = 01
对操作数执行按位NOT运算 翻转操作数中的每一位
~a = -3 二进制00000010=11111101
\>>
执行按位右移。将左操作数的位移位,右移指定为右操作数的位数
a >> b = 0 二进制00000010 >> 00000011 = 0
<<
执行按位左移。移位左操作数的位,左移指定为右操作数的位数
a << b = 16 二进制:00000010 << 00000011 = 00001000
#### 分配运营商
赋值运算符用于为变量赋值。这通常与其他运算符(如算术,按位)组合,其中对操作数执行操作,结果分配给左操作数。
考虑以下示例, **a = 18** Here `=`是赋值运算符,结果存储在变量a中。 **a + = 10** 。这里`+=`是赋值运算符,结果存储在变量a中。这与a = a + 10相同。
操作者
用法
\=
a = 5.将值5分配给变量a
\+ =
a + = 5相当于a = a + 5
\- =
a - = 5相当于a = a - 5
\* =
a \* = 3相当于a = a \* 3
/ =
a / = 3相当于a = a / 3
=
a= 3相当于a = a3
\*\* =
a \*\* = 3相当于a = a \*\* 3
// =
a // = 3相当于a = a // 3
=
a= 3相当于a = a3
| =
a | = 3相当于a = a | 3
^ =
a ^ = 3相当于a = a ^ 3
\>> =
a >> = 3相当于a = a >> 3
<< =
a << = 3相当于a = a << 3
#### 逻辑运算符
逻辑运算符用于基于多个条件做出决策。 Python中使用的逻辑运算符是 `and` `or` `not`
操作者
描述
用法
如果两个操作数均为True,则返回True 否则返回False
ab
要么
如果任何一个操作数为True,则返回True 否则返回False
ab
如果操作数为False,则返回True 否则返回False
不是
#### 会员运营商
成员资格运算符用于标识任何序列(列表,字符串,元组)的成员资格。 `in`和`not in`会员运营商
`in`如果在序列中找到指定的值,则返回True。否则返回False `not in`返回true如果指定的值不是序列中发现的。否则返回False
###### 示例用法
```py
a = [1,2,3,4,5]
#Is 3 in the list a?
print 3 in a # prints True
#Is 12 not in list a?
print 12 not in a # prints True
str = "Hello World"
#Does the string str contain World?
print "World" in str # prints True
#Does the string str contain world? (note: case sensitive)
print "world" in str # prints False
print "code" not in str # prints True
```
#### 身份运营商
身份运算符用于检查两个变量是否共享相同的内存位置。 `is`和`is not`身份运营商
如果操作数引用同一个对象, `is`返回True。否则返回False 如果操作数不引用同一对象, `is not`返回True。否则返回False
请注意,两个值相等时,无需暗示它们是相同的。
###### 示例用法
```py
a = 3
b = 3
c = 4
print a is b # prints True
print a is not b # prints False
print a is not c # prints True
x = 1
y = x
z = y
print z is 1 # prints True
print z is x # prints True
str1 = "FreeCodeCamp"
str2 = "FreeCodeCamp"
print str1 is str2 # prints True
print "Code" is str2 # prints False
a = [10,20,30]
b = [10,20,30]
print a is b # prints False (since lists are mutable in Python)
```