널널한 교수의 기초 파이썬
02_3 여러가지 연산자
창원대학교 정보통신공학과 박동규, 주효진, 김덕구
동영상 강의자료와 코드
• 동영상 강의(널널한 교수의 기초 파이썬)
• https://www.youtube.com/watch?
v=TK6RLGaM3Ao&list=PL2P1Vm9k53HOEn-QYXAfblQWkR0OW9mKX
• 소스코드( GitHub )
• https://github.com/dongupak/Basic-Python-Programming
연산자
• 파이썬은 강력하고 다양한 연산자를 제공한다.
• 값과 변수, 연산자들을 조합하여 표현식(expression)을 만들
수 있다.
• 강력한 표현식을 사용하여 문제를 해결할 수 있다
연산자 의미 예 결과
+ 덧셈 4 + 10 14
- 뺄셈 4.0 - 0.1 3.9
* 곱셈 20 * 20 400
/ 실수 나눗셈 1 / 2 0.5
// 정수 나눗셈(몫) 11 // 2 5
** 누승 4 ** 0.5 2.0
% 나머지 20 % 3 2
1. 산술 연산자(복습)
2. 할당(대입) 연산자 =
• 파이썬에서 등호 연산자(=)는 수학에서 사용하는 등호와 의미가
다르다
• 우변의 값을 좌변의 변수에 대입 또는 할당(assign)하라는 의
미이다
• num = 100 과 같이 100의 값을 num 변수에 할당할 수 있다
• num1 = num2 = num3 = 200 과 같은 다중 할당 가능
• num4, num5 = 300, 400 과 같은 동시 할당 가능
Lab( 다음과 같이 입력해 봅시다)
확장 할당 연산자
연산자 예 의미
+= i += 10 i = i + 10
-= i -= 10 i = i - 10
*= i *= 10 i = i * 10
/= i /= 10 i = i / 10
//= i //= 10 i = i // 10
%= i %= 10 i = i % 10
**= i **= 10 i = i ** 10
3. 논리 연산자
• and, or, not 연산자를 지원함
• True(참), False(거짓)중 하나의 값을 가지는 부울값을 제공
함
연산 의미
x and y
AND 연산, x와 y중 거짓이 하나라도 있으면
거짓, 모두 참인 경우에만 참
x or y
OR 연산, x나 y 중에서 하나라도 참이면 참, 모
두 거짓일 때만 거짓
not x NOT 연산, x가 참이면 거짓, x가 거짓이면 참
부울식(and, or, not)
http://www.rohitab.com/discuss/topic/37503-basic-boolean-algebra-transistor-level-logic-tutorial/
Lab
4. 비교연산자
비교연산자 설명 예시
a = 100, b = 200
== 값이 동일하다 (a == b) → False
!= 값이 동일하지 않다 (a != b) → True
> 왼쪽 값이 오른쪽 값보다 크다 (a > b) → False
< 왼쪽 값이 오른쪽 값보다 작다 (a < b) → True
>= 왼쪽 값이 오른쪽 값보다 크거나 동일하다 (a >= b) → False
<= 왼쪽 값이 오른쪽 값보다 작거나 동일하다 (a <= b) → True
Lab
5. 비트 단위 연산자
연산자 의미 설명
& 비트 AND 두 개의 피연산자의 해당 비트가 모두 1이면 1, 아니면 0
| 비트 OR 두 피연산자의 해당 비트 중 하나라도 1이면 1, 아니면 0
^ 비트 XOR 두 개의 피연산자의 해당 비트의 값이 같으면 0, 아니면 1
<< 왼쪽으로 이동 지정된 개수만큼 모든 비트를 왼쪽으로 이동한다.
>> 오른쪽으로 이동 지정된 개수만큼 모든 비트를 오른쪽으로 이동한다.
~ 비트 NOT 0은 1로 만들고 1은 0으로 만든다.
정수 타입의 피연산자에 비트 단위로 연산을 수행한다.
비트 단위 연산자
비트단위로 AND, OR 연산
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 (9)
0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 (10)|
0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 (11)
9 & 10
9 | 10
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 (9)
0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 (10)&
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 (8)
비트단위 AND
비트단위 OR
비트 단위 연산자
비트단위로 XOR, NOT 연산
0 0 0 0 1 0 0 1 (9)~
1 1 1 1 0 1 1 0 (-10)
9 ^ 10
~9
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 (9)
0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 (10)^
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 (3)
주의 : 비트단위 부정인 ~와 논리연산자 not 의 결과는 다르다!!!

(not 연산의 결과는 True 또는 False이다)
^ 는 배타적 논리합(Exclusive OR)이다
컴퓨터에서 최상위 비트가 1이면
음수값
비트 단위 연산자
비트단위 이동(shift) - 왼쪽, 오른쪽 이동이 가능함
00000000 00000000 00000000 0000100 (4)<< 1
00000000 00000000 00000000 0001000 (8)
4 << 1
4 >> 1
00000000 00000000 00000000 0000100 (4)>> 1
00000000 00000000 00000000 0000010 (2)
값이 두배 되는 효과가 있다.
값이 1/2배가 된다.
빈자리는 0으로 채워진다.
빈자리는 부호비트에 따라 채워진다.
Lab
6. 멤버 연산자(in, not in)
• 리스트나 집합내에 원소가 포함되어 있는가를 묻는 연산자
• list = [10, 20, 30, 40] 원소를 가진 리스트가 있다
• 10 in list 는 True
• 50 in list 는 False
• 10 not in list 는 False
• 50 not in list 는 True
Lab
7. identity 연산자(is, is not)
• 양쪽 피연산자가 동일한 오브젝트를 가리키는지 검사하여
True, False를 반환
정리
• 파이썬의 연산자는 다음과 같은 것들이 있다
• 산술연산자
• 대입연산자
• 논리연산자
• 비교연산자
• 비트단위 연산자
• 멤버연산자
• identity 연산자
감사합니다

02_3_여러가지연산자

  • 1.
    널널한 교수의 기초파이썬 02_3 여러가지 연산자 창원대학교 정보통신공학과 박동규, 주효진, 김덕구
  • 2.
    동영상 강의자료와 코드 •동영상 강의(널널한 교수의 기초 파이썬) • https://www.youtube.com/watch? v=TK6RLGaM3Ao&list=PL2P1Vm9k53HOEn-QYXAfblQWkR0OW9mKX • 소스코드( GitHub ) • https://github.com/dongupak/Basic-Python-Programming
  • 3.
    연산자 • 파이썬은 강력하고다양한 연산자를 제공한다. • 값과 변수, 연산자들을 조합하여 표현식(expression)을 만들 수 있다. • 강력한 표현식을 사용하여 문제를 해결할 수 있다
  • 4.
    연산자 의미 예결과 + 덧셈 4 + 10 14 - 뺄셈 4.0 - 0.1 3.9 * 곱셈 20 * 20 400 / 실수 나눗셈 1 / 2 0.5 // 정수 나눗셈(몫) 11 // 2 5 ** 누승 4 ** 0.5 2.0 % 나머지 20 % 3 2 1. 산술 연산자(복습)
  • 5.
    2. 할당(대입) 연산자= • 파이썬에서 등호 연산자(=)는 수학에서 사용하는 등호와 의미가 다르다 • 우변의 값을 좌변의 변수에 대입 또는 할당(assign)하라는 의 미이다 • num = 100 과 같이 100의 값을 num 변수에 할당할 수 있다 • num1 = num2 = num3 = 200 과 같은 다중 할당 가능 • num4, num5 = 300, 400 과 같은 동시 할당 가능
  • 6.
    Lab( 다음과 같이입력해 봅시다)
  • 7.
    확장 할당 연산자 연산자예 의미 += i += 10 i = i + 10 -= i -= 10 i = i - 10 *= i *= 10 i = i * 10 /= i /= 10 i = i / 10 //= i //= 10 i = i // 10 %= i %= 10 i = i % 10 **= i **= 10 i = i ** 10
  • 8.
    3. 논리 연산자 •and, or, not 연산자를 지원함 • True(참), False(거짓)중 하나의 값을 가지는 부울값을 제공 함 연산 의미 x and y AND 연산, x와 y중 거짓이 하나라도 있으면 거짓, 모두 참인 경우에만 참 x or y OR 연산, x나 y 중에서 하나라도 참이면 참, 모 두 거짓일 때만 거짓 not x NOT 연산, x가 참이면 거짓, x가 거짓이면 참
  • 9.
  • 10.
  • 11.
    4. 비교연산자 비교연산자 설명예시 a = 100, b = 200 == 값이 동일하다 (a == b) → False != 값이 동일하지 않다 (a != b) → True > 왼쪽 값이 오른쪽 값보다 크다 (a > b) → False < 왼쪽 값이 오른쪽 값보다 작다 (a < b) → True >= 왼쪽 값이 오른쪽 값보다 크거나 동일하다 (a >= b) → False <= 왼쪽 값이 오른쪽 값보다 작거나 동일하다 (a <= b) → True
  • 12.
  • 13.
    5. 비트 단위연산자 연산자 의미 설명 & 비트 AND 두 개의 피연산자의 해당 비트가 모두 1이면 1, 아니면 0 | 비트 OR 두 피연산자의 해당 비트 중 하나라도 1이면 1, 아니면 0 ^ 비트 XOR 두 개의 피연산자의 해당 비트의 값이 같으면 0, 아니면 1 << 왼쪽으로 이동 지정된 개수만큼 모든 비트를 왼쪽으로 이동한다. >> 오른쪽으로 이동 지정된 개수만큼 모든 비트를 오른쪽으로 이동한다. ~ 비트 NOT 0은 1로 만들고 1은 0으로 만든다. 정수 타입의 피연산자에 비트 단위로 연산을 수행한다.
  • 14.
    비트 단위 연산자 비트단위로AND, OR 연산 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 (9) 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 (10)| 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 (11) 9 & 10 9 | 10 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 (9) 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 (10)& 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 (8) 비트단위 AND 비트단위 OR
  • 15.
    비트 단위 연산자 비트단위로XOR, NOT 연산 0 0 0 0 1 0 0 1 (9)~ 1 1 1 1 0 1 1 0 (-10) 9 ^ 10 ~9 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 (9) 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 (10)^ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 (3) 주의 : 비트단위 부정인 ~와 논리연산자 not 의 결과는 다르다!!! (not 연산의 결과는 True 또는 False이다) ^ 는 배타적 논리합(Exclusive OR)이다 컴퓨터에서 최상위 비트가 1이면 음수값
  • 16.
    비트 단위 연산자 비트단위이동(shift) - 왼쪽, 오른쪽 이동이 가능함 00000000 00000000 00000000 0000100 (4)<< 1 00000000 00000000 00000000 0001000 (8) 4 << 1 4 >> 1 00000000 00000000 00000000 0000100 (4)>> 1 00000000 00000000 00000000 0000010 (2) 값이 두배 되는 효과가 있다. 값이 1/2배가 된다. 빈자리는 0으로 채워진다. 빈자리는 부호비트에 따라 채워진다.
  • 17.
  • 18.
    6. 멤버 연산자(in,not in) • 리스트나 집합내에 원소가 포함되어 있는가를 묻는 연산자 • list = [10, 20, 30, 40] 원소를 가진 리스트가 있다 • 10 in list 는 True • 50 in list 는 False • 10 not in list 는 False • 50 not in list 는 True
  • 19.
  • 20.
    7. identity 연산자(is,is not) • 양쪽 피연산자가 동일한 오브젝트를 가리키는지 검사하여 True, False를 반환
  • 21.
    정리 • 파이썬의 연산자는다음과 같은 것들이 있다 • 산술연산자 • 대입연산자 • 논리연산자 • 비교연산자 • 비트단위 연산자 • 멤버연산자 • identity 연산자
  • 22.