파이썬 연산자
연산자란 무엇인가요?
이 장에서는 주로 Python의 연산자를 설명합니다. 간단한 예를 들어보세요 4 +5 = 9 . 예제에서는 4과 5를 피연산자라 하고, "+"을 연산자라고 합니다.
Python 언어는 다음 유형의 연산자를 지원합니다.
산술 연산자
비교(관계형) 연산자
대입 연산자
논리 연산자
비트 연산자
멤버 연산자
식별 연산자
연산자 우선순위
다음으로 Python의 연산자를 하나씩 배워보겠습니다. 하나.
Python 산술 연산자
다음은 변수 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 |
// | 取整除 - 返回商的整数部分 | 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0 |
다음 예에서는 Python의 모든 산술 연산자의 연산을 보여줍니다.
# -*- 코딩: UTF-8 -*-
a = 21
b = 10
c = 0
c = a + b
print "1 - c의 값은 다음과 같습니다.", c
c = a - b
print "2 - c의 값은: ", c
c = a * b
print "3 - c의 값은: ", c
c = a / b
print "4 - c의 값은 ", c
c = a % b
print "5 - c의 값은 다음과 같습니다. : ", c
# 변수 a, b, c 수정
a = 2
b = 3
c = a**b
print "6 - c의 값 is:", c
a = 10
b = 5
c = a//b
print "7 - c의 값:", c
해 보세요 »
위 예의 출력 결과:
2 - c 값: 11
3 - c 값: 210
4 - c 값: 2
5 - c 값: 1
6 - c 값: 8
7 - c 값은 다음과 같습니다. 2
Python 비교 연산자
다음은 변수 a가 10이고 변수 b가 20이라고 가정합니다.
运算符 | 描述 | 实例 |
---|---|---|
== | 等于 - 比较对象是否相等 | (a == b) 返回 False。 |
!= | 不等于 - 比较两个对象是否不相等 | (a != b) 返回 true. |
<> | 不等于 - 比较两个对象是否不相等 | (a <> b) 返回 true。这个运算符类似 != 。 |
> | 大于 - 返回x是否大于y | (a > b) 返回 False。 |
< | 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。 | (a < b) 返回 true。 |
>= | 大于等于 - 返回x是否大于等于y。 | (a >= b) 返回 False。 |
<= | 小于等于 - 返回x是否小于等于y。 | (a <= b) 返回 true。 |
다음 예에서는 Python의 모든 비교 연산자의 작동을 보여줍니다.
# -*- 코딩: UTF-8 -*-
a = 21
b = 10
c = 0
if (a == b):
인쇄 "1 - a 같음 b"
else:
인쇄 "1 - a는 b와 같지 않음"
if ( a != b ):
인쇄 "2 - a는 b와 같지 않음"
else:
인쇄 "2 - a는 b와 같습니다."
if ( a <> b ):
print "3 - a는 b와 같지 않습니다."
else:
print "3 - a는 b와 같습니다.
if ( a < b ):
print "4 - a는 b보다 작습니다."
else:
print "4 - a는 다음보다 큽니다. 또는 b와 같음"
if ( a > b ):
print "5 - a가 b보다 큼"
else:
print "5 - a가 작거나 같음 to b"
# 변수 a와 b의 값을 수정합니다
a = 5 ;
b = 20;
if ( a <= b ):
print "6 - a는 b보다 작거나 같습니다."
else:
print "6 - a는 b보다 큽니다."
if ( b >= a ):
print " 7 - b는 b보다 크거나 같습니다.
else:
print "7 - b는 b보다 작습니다"
위 예의 출력 결과:
2 - a가 b와 같지 않음
3 - a가 b와 같지 않음
4 - a가 b보다 크거나 같음
5 - a가 b보다 큼
6 - a가 b보다 작거나 같음
7 - b가 b보다 크거나 같음
Python 할당 연산자
다음은 변수 a가 10이고 변수 b가 20이라고 가정합니다.
运算符 | 描述 | 实例 |
---|---|---|
= | 简单的赋值运算符 | c = a + b 将 a + b 的运算结果赋值为 c |
+= | 加法赋值运算符 | 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 |
다음 예에서는 Python의 모든 할당 연산자의 작동을 보여줍니다.
# -*- 코딩: UTF-8 -*-
a = 21
b = 10
c = 0
c = a + b
print "1 - c의 값은 다음과 같습니다.", c
c += a
print "2 - c 값: ", c
c *= a
print "3 - c 값: ", c
c /= a
print "4 - c의 값: ", c
c = 2
c %= a
print "5 - c의 값 c는: ", c
c **= a
print "6의 값 - c는:", c
c //= a
print "The 7 - c 값:" , c
위 예의 출력 결과:
2 - c 값: 52
3 - c c 값: 1092
4 - c 값: 52
5 - c 값: 2
6 - c 값: 2097152
7 - c 값: 99864
Python 비트 연산자
비트 연산자는 숫자를 이진수로 처리하여 계산을 수행합니다. Python의 비트 연산 규칙은 다음과 같습니다.
다음 표에서 변수 a는 60이고 b는 13입니다.
运算符 | 描述 | 实例 |
---|---|---|
& | 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 | (a & b) 输出结果 12 ,二进制解释: 0000 1100 |
| | 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。 | (a | b) 输出结果 61 ,二进制解释: 0011 1101 |
^ | 按位异或运算符:当两对应的二进位相异时,结果为1 | (a ^ b) 输出结果 49 ,二进制解释: 0011 0001 |
~ | 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 | (~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。 |
<< | 左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。 | a << 2 输出结果 240 ,二进制解释: 1111 0000 |
>> | 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数 | a >> 2 输出结果 15 ,二进制解释: 0000 1111 |
다음 예는 Python의 모든 비트 연산자의 작동을 보여줍니다:
# -*- 코딩: UTF-8 -*-
a = 60 # 60 = 0011 1100
b = 13 # 13 = 0000 1101
c = 0
c = a & b 12 = 0000 1100
인쇄 " 1 - c 값: ", c
c = a | b # 61 = 0011 1101
print "2 - c 값: ", c
c = a ^ b; # 49 = 0011 0001
print "3 - c 값은 ", c
c = ~a; 값은 ", c
c = a << 240 = 1111 0000
print "5 - c의 값은 ", c
c = a > - c의 값은 12입니다.
2 - c 값: 61
3 - c 값: 49
6 - c의 값은 15
Python 논리 연산자
다음은 변수 a가 10, b가 20이라고 가정합니다. :
위 예시 출력 결과:
# -*- 코딩: UTF-8 -*-
a = 10
b = 20
if ( a 및 b ):
print "1 - 변수 a와 b가 모두 true입니다."
else:
print "1 - 변수 a와 b are true 하나는 true가 아님"
if ( a 또는 b ):
print "2 - 변수 a와 b가 모두 true이거나 변수 중 하나가 true입니다."
else:
print " 2 - 변수 a와 b가 모두 true가 아닙니다."
# 변수 a의 값 수정
a = 0
if (a 및 b):
print "3 - 변수 a와 b 둘 다 참입니다."
else:
print "3 - 변수 a와 b 중 하나가 참이 아닙니다."
if ( a 또는 b ):
print "4 - 변수 a 및 b 둘 다 true이거나 변수 중 하나가 true입니다."
else:
print "4 - 변수 a 또는 b가 모두 true가 아닙니다."
if not( a 및 b ):
print "5 - 변수 a와 b가 모두 false이거나 변수 중 하나가 false입니다."
else:
print "5 - 변수 a와 b가 모두 true입니다."
위 예제의 출력 결과:
2 - 변수 a와 b가 모두 true이거나 변수 중 하나가 true
3 - 변수 a와 b에는 하나가 있습니다. Not true
4 - 변수 a와 b가 모두 true이거나 변수 중 하나가 true입니다
5 - 변수 a와 b가 모두 false이거나 변수 중 하나가 false입니다.
Python 멤버 연산자
위의 연산자 중 일부 외에도 Python은 멤버 연산자도 지원합니다. 테스트 인스턴스에는 문자열, 목록 또는 튜플을 포함한 일련의 멤버가 포함되어 있습니다.
运算符 | 描述 | 实例 |
---|---|---|
in | 如果在指定的序列中找到值返回 True,否则返回 False。 | x 在 y 序列中 , 如果 x 在 y 序列中返回 True。 |
not in | 如果在指定的序列中没有找到值返回 True,否则返回 False。 | x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。 |
다음 예는 Python의 모든 멤버 연산자의 작동을 보여줍니다.
# -*- 코딩: UTF- 8 -*-
a = 10
b = 20
list = [1, 2, 3, 4, 5];
if(a in list):
print "1 - 변수 a가 주어진 목록 목록에 있습니다"
else:
print "1 - 변수 a가 주어진 목록 목록에 없습니다"
if ( b not in list ) :
print "2 - 변수 b가 주어진 목록 목록에 없습니다."
else:
print "2 - 변수 b가 주어진 목록 목록에 있습니다."
# 값 수정 변수 a
a = 2
if ( a in list ):
print "3 - 변수 a가 주어진 목록 목록에 있습니다. "
else:
print " 3 - 변수 a가 아닙니다. in the 주어진 목록 list "
위 예제의 출력 결과:
2 - 변수 b 주어진 목록 목록에 없습니다
3 - 변수 a가 주어진 목록 목록에 있습니다
Python 항등 연산자
항등 연산자는 저장소를 비교하는 데 사용됩니다. 두 개체의 위치
运算符 | 描述 | 实例 |
---|---|---|
is | is是判断两个标识符是不是引用自一个对象 | x is y, 如果 id(x) 等于 id(y) , is 返回结果 1 |
is not | is not是判断两个标识符是不是引用自不同对象 | x is not y, 如果 id(x) 不等于 id(y). is not 返回结果 1 |
다음 예는 Python의 모든 항등 연산자의 작동을 보여줍니다.
# -*- 코딩: UTF-8 -*-
a = 20
b = 20
if ( a is b ):
인쇄 "1 - a와 b는 동일한 동일성을 가짐"
else:
인쇄 " 1 - a와 b의 식별자가 동일하지 않습니다."
if ( id(a) == id(b) ):
print "2 - a와 b의 식별자가 동일합니다."
else:
print "2 - a와 b는 동일한 식별자를 가지고 있지 않습니다."
# 변수 b의 값을 수정합니다
b = 30
if ( a가 b ):
print "3 - a와 b는 동일한 신원을 가집니다."
else:
print "3 - a와 b는 동일한 신원을 가지지 않습니다."
if( a가 b가 아님):
print "4 - a와 b는 동일한 식별자를 가지고 있지 않습니다"
else:
print "4 - a와 b는 동일한 식별자를 가지고 있습니다"
의 출력 결과 위의 예:
2 - a와 b가 동일한 ID를 가짐
3 - a와 b가 동일한 ID를 가짐
4 - a와 b는 동일하지 않습니다.
Python 연산자 우선 순위
다음 표에는 우선 순위가 가장 높은 것부터 가장 낮은 것 순으로 모든 연산자가 나열되어 있습니다.
运算符 | 描述 |
---|---|
** | 指数 (最高优先级) |
~ + - | 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) |
* / % // | 乘,除,取模和取整除 |
+ - | 加法减法 |
>> << | 右移,左移运算符 |
& | 位 'AND' |
^ | | 位运算符 |
<= < > >= | 比较运算符 |
<> == != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not or and | 逻辑运算符 |
다음 예에서는 Python의 모든 연산자 우선순위 연산을 보여줍니다.
# -*- 코딩: UTF-8 -*-
a = 20
b = 10
c = 15
d = 5
e = 0
e = (a + b) * c / d #( 30 * 15 ) / 5
print "(a + b) * c / d 연산 결과는 ", e
e = ((a + b) * c) / d # (30 * 15 ) / 5
print "((a + b) * c) / d 연산 결과는 다음과 같습니다. ", e
e = (a + b) * (c / d) ; # (30 ) * (15/5)
print "(a + b) * (c / d) 연산 결과는 다음과 같습니다: ", e
e = a + (b * c) / d; # 20 + (150/5)
print "a + (b * c) / d 연산 결과는 ", e
위의 출력 결과입니다. 예:
((a + b) * c) / d 연산 결과는 90
( a + b) * (c / d) 연산 결과는 90
a + (b * c) / d 연산 결과는 50