파이썬 기초2

InSung-Na·2023년 1월 4일
0

Part 01-1. Python Basic

목록 보기
2/4
post-thumbnail

해당 글은 제로베이스데이터스쿨 학습자료를 참고하여 작성되었습니다

📌연산자종류

  • 산술 연산자 : +, -, *, / , %, //, **
  • 할당 연산자 : =, +=, -=, *=, /=, %=, //=
  • 비교 연산자 : >, >=, <, <=, ==, !=
  • 논리 연산자 : and, or, not
    (출처 : 제로베이스데이터스쿨)

📌산술 연산자

1) 덧셈 연산자

📝입력

print("정수와 실수를 이용한 덧셈")
num1 = 10
num2 = 11.1
result = num1 + num2
print(f"result : {result}")
print()

print("문자를 이용한 덧셈")
str1 = "Good"
str2 = ' '
str3 = "morning"
result = str1 + str2 + str3
print(f"result : {result}")
print()

print("문자와 숫자의 덧셈은 불가능")

🧾출력

정수와 실수를 이용한 덧셈
result : 21.1

문자를 이용한 덧셈
result : Good morning

문자와 숫자의 덧셈은 불가능

2) 뺄셈 연산자

📝입력

print("정수를 이용한 뺼셈")
num1 = 10
num2 = 20
result = num1 - num2
print(f"num1 : {num1}")
print(f"num2 : {num2}")
print(f"result : {result}")
print()

print("정실수를 이용한 뺼셈")
num1 = 3.14
num2 = 3.14
result = num1 - num2
print(f"num1 : {num1}")
print(f"num2 : {num2}")
print(f"result : {result:.4f}")
print(type(result))
print()

print("문자와 숫자의 뺄셈은 불가능")

🧾출력

정수를 이용한 뺼셈
num1 : 10
num2 : 20
result : -10

정실수를 이용한 뺼셈
num1 : 3.14
num2 : 3.14
result : 0.0000
<class 'float'>

문자와 숫자의 뺄셈은 불가능

3) 곱셈 연산자

📝입력

print("숫자를 이용한 곱셈")
num1 = 20
fNum1 = 3.14
result = num1* fNum1
print('result : {}'.format(result))
print('result : %.2f' % result)
print()

print("문자열을 이용한 곱셈")
str1 = "Hi "
result = str1 * 7
print(f'result : {result}')

🧾출력

숫자를 이용한 곱셈
result : 62.800000000000004
result : 62.80

문자열을 이용한 곱셈
result : Hi Hi Hi Hi Hi Hi Hi 

4) 나눗셈 연산자

📝입력

print('숫자를 이용한 나눗셈')
num1 = 10
num2 = 3
result = num1 / num2
print(f'num1 : {num1}, num2 : {num2}')
print(f'result : {result}')
print('result : %.2f' % result)
print('어떤 수를 0으로 나눌 수 없다. 오류:ZeroDivisionError 발생')
print('나눗셈의 결과는 float형이다')

🧾출력

숫자를 이용한 나눈셈
num1 : 10, num2 : 3
result : 3.3333333333333335
result : 3.33
어떤 수를 0으로 나눌 수 없다. 오류:ZeroDivisionError 발생
나눗셈의 결과는 float형이다

5) 몫과 나머지 연산자

📝입력

print("나눗셈 결과 몫만 구함")
num1 = 10
num2 = 3
result = num1 // num2
print('num1 : {}, num2 : {}, result : {}'.format(num1, num2, result))
print()

print("나눗셈 결과 나머지만 구함")
result = num1 % num2
print('num1 : {}, num2 : {}, result : {}'.format(num1, num2, result))
print()

print("몫과 나머지 한번에 구하기")
result = divmod(num1, num2)
print('result : {}'.format(result))
print('share : {}'.format(result[0]))
print('remainder : {}'.format(result[1]))

🧾출력

나눗셈 결과 몫만 구함
num1 : 10, num2 : 3, result : 3

나눗셈 결과 나머지만 구함
num1 : 10, num2 : 3, result : 1

몫과 나머지 한번에 구하기
result : (3, 1)
share : 3
remainder : 1

6) 거듭제곱 연산자

📝입력

print('같은 수를 여러번 곱한값 구하기')
num1 = 2
num2 = 3
result = num1 ** num2
print('num1 : {}'.format(num1))
print('num2 : {}'.format(num2))
print('result : {}'.format(result))
print()

print('제곱근 구하기')
result = 2 ** (1/2)
print('2의 제곱근 %.4ff' % result)
print()

🧾출력

같은 수를 여러번 곱한값 구하기
num1 : 2
num2 : 3
result : 8

제곱근 구하기
2의 제곱근 1.4142f

> math 모듈의 sqrt()와 pow()함수 활용

📝입력

print('sqrt()함수를 이용한 제곱근 구하기')
import math
print('2의 제곱근 {}'.format(math.sqrt(2)))
print()
print('pow()함수를 이용한 거듭제곱 구하기')
print('2의 3제곱 {}'.format(math.pow(2, 3)))

🧾출력

sqrt()함수를 이용한 제곱근 구하기
2의 제곱근 1.4142135623730951

pow()함수를 이용한 거듭제곱 구하기
23제곱 8.0

📌복합 연산자

산술 연산 후 할당을 하는 연산자

+= : 덧셈 후 할당
-= : 뺄셈 후 할당
*= : 곱셈 후 할당
/= : 나눗셈 후 할당
%= : 나머지 후 할당
//= : 몫 연산 후 할당
**= : 거듭제곱 후 할당

📝입력

print('덧셈 복합 연산')
num1 = 10
num2 = 20
num1 += num2
print(num1)
print()

print('뺄셈 복합 연산')
num1 = 10
num2 = 20
num1 -= num2
print(num2)
print()

print('곱셈 복합 연산')
num1 = 10
num1 /= 3
print(num1)
print()

print('나머지 복합 연산')
num1 = 10
num1 %= 3
print(num1)
print()

print('몫 복합 연산')
num1 = 10
num1 //= 3
print(num1)
print()

print('거듭제곱 복합 연산')
num1 = 10
num1 **= 3
print(num1)
print()

🧾출력

덧셈 복합 연산
30

뺄셈 복합 연산
20

곱셈 복합 연산
3.3333333333333335

나머지 복합 연산
1

몫 복합 연산
3

거듭제곱 복합 연산
1000

📌비교 연산자

1) 숫자 비교

📝입력

num1 = 10; num2 = 5

result = num1 > num2
print('num1 > num2 : {}'.format(result))

result = num1 >= num2
print('num1 >= num2 : {}'.format(result))

result = num1 < num2
print('num1 < num2 : {}'.format(result))

result = num1 <= num2
print('num1 <= num2 : {}'.format(result))

result = num1 == num2
print('num1 == num2 : {}'.format(result))

result = num1 != num2
print('num1 != num2 : {}'.format(result))

🧾출력

num1 > num2 : True
num1 >= num2 : True
num1 < num2 : False
num1 <= num2 : False
num1 == num2 : False
num1 != num2 : True

2.1) 문자 비교 : 아스키코드


(출처:제로베이스데이터스쿨)

chr() : 숫자 -> 문자
ord() : 문자 -> 숫자

📝입력

cha1 = 'A'
cha2 = 'S'

print("\'{}\' > \'{}\' : {}".format(cha1, cha2, cha1 > cha2))
print("\'{}\' >= \'{}\' : {}".format(cha1, cha2, cha1 >= cha2))
print("\'{}\' < \'{}\' : {}".format(cha1, cha2, cha1 < cha2))
print("\'{}\' <= \'{}\' : {}".format(cha1, cha2, cha1 <= cha2))
print("\'{}\' == \'{}\' : {}".format(cha1, cha2, cha1 == cha2))
print("\'{}\' != \'{}\' : {}".format(cha1, cha2, cha1 != cha2))
print()

print("\'{}\' -> {}".format(cha1, ord(cha1)))
print("{} -> \'{}\'".format(83, chr(83)))

🧾출력

'A' > 'S' : False
'A' >= 'S' : False
'A' < 'S' : True
'A' <= 'S' : True
'A' == 'S' : False
'A' != 'S' : True

'A' -> 65
83 -> 'S'

2.2) 문자 비교 : 문자열 자체 비교

📝입력

str1 = 'ZeroBase'
str2 = 'zerobase'

print("\'{}\' == \'{}\' : {}".format(str1, str2, str1 == str2))
print("\'{}\' != \'{}\' : {}".format(str1, str2, str1 != str2))

🧾출력

'ZeroBase' == 'zerobase' : False
'ZeroBase' != 'zerobase' : True

📌논리 연산자

1) AND 연산자

A and B : A와 B 모두 True 인 경우 : True
📝입력

print('{} and {} : {}'.format(True, True, True and True))
print('{} and {} : {}'.format(False, True, False and True))
print('{} and {} : {}'.format(True, False, True and False))
print('{} and {} : {}'.format(False, False, False and False))

🧾출력

True and True : True
False and True : False
True and False : False
False and False : False

2) OR 연산자

A or B : A와 B 둘 중 하나가 True 인 경우 : True
📝입력

print('{} or {} : {}'.format(True, True, True or True))
print('{} or {} : {}'.format(False, True, False or True))
print('{} or {} : {}'.format(True, False, True or False))
print('{} or {} : {}'.format(False, False, False or False))

🧾출력

True or True : True
False or True : True
True or False : True
False or False : False

3) NOT 연산자

not A : A의 상태를 부정 : True -> False
📝입력

print('not {} : {}'.format(True, not True))
print('not {} : {}'.format(False, not True))

🧾출력

not True : False
not False : False

📌operator 모듈

각종 연산자를 함수로 수행할 수 있는 모듈

1) operator 산술 연산자

operator.add() : +
operator.sub() : -
operator.mul() : *
operator.truediv() : /
operator.mod() : %
operator.floordiv() : //
operator.pow() : **

2) operator 비교 연산자

operator.eq() : ==
operator.ne() : !=
operator.gt() : >
operator.ge() : >=
operator.lt() : <
operator.le() : <=

3) operator 논리 연산자

operator.and_() : and
operator.or_() : or
operator.not_() : not

0개의 댓글