기본 개념 DUMP
1. 나누기 연산자와 몫, 소수점 버리기와 나머지
- 나누기 연산자(/): 두 숫자를 나누고 실수(float) 결과를 반환합니다.
- 몫 연산자(//): 두 숫자를 나누고 소수점 아래를 버린 정수 결과를 반환합니다.
- 나머지 연산자(%): 두 숫자를 나누고 나머지를 반환합니다.
예제 코드를 통해 각 연산자를 사용하는 방법을 보여드리겠습니다:
a = 10
b = 3
# 나누기 연산자
나누기 = a / b
print("나누기 결과:", 나누기) # 출력: 3.3333333333333335
# 몫 연산자
몫 = a // b
print("몫 결과:", 몫) # 출력: 3
# 나머지 연산자
나머지 = a % b
print("나머지 결과:", 나머지) # 출력: 1
위 예제에서 a와 b를 각각 10과 3으로 설정한 후, 나누기 연산자, 몫 연산자, 나머지 연산자를 사용하여 결과를 출력합니다.
2. 소수점 처리
- math.floor: 소수점 아래를 버리고 가장 가까운 작은 정수로 내림합니다.
- math.ceil: 소수점 아래를 올리고 가장 가까운 큰 정수로 올림합니다.
- '{0:.1f}'.format(a): 문자열 포맷팅을 사용하여 소수점 이하 자리를 지정할 수 있습니다.
- divmod(a, b): 두 숫자를 나누어 몫과 나머지를 동시에 반환합니다.
예제 코드를 통해 각 함수와 연산자를 사용하는 방법을 보여드리겠습니다:
import math
a = 10.75
b = 3
# math.floor 사용
floor_result = math.floor(a)
print("math.floor 결과:", floor_result) # 출력: 10
# math.ceil 사용
ceil_result = math.ceil(a)
print("math.ceil 결과:", ceil_result) # 출력: 11
# 문자열 포맷팅을 사용하여 소수점 이하 자릿수 지정
formatted_result = '{0:.1f}'.format(a)
print("포맷팅 결과:", formatted_result) # 출력: 10.8
# divmod 사용
몫, 나머지 = divmod(a, b)
print("divmod 결과 - 몫:", 몫) # 출력: 3.0
print("divmod 결과 - 나머지:", 나머지) # 출력: 1.75
위 예제에서 a와 b를 각각 10.75와 3으로 설정한 후, math.floor, math.ceil, 문자열 포맷팅, divmod를 사용하여 결과를 출력합니다. math.floor와 math.ceil은 각각 내림과 올림을 수행하며, 문자열 포맷팅은 소수점 이하 자릿수를 지정하는 데 사용됩니다. divmod는 두 숫자를 나누어 몫과 나머지를 동시에 반환합니다.
또한, ~~ 연산자는 자바스크립트에서 흔히 사용되는 비트 연산자이며, 파이썬에서는 비슷하게 int, math.floor, math.ceil 등을 사용하여 소수점 이하를 처리할 수 있습니다.
3. if 문
조건이 참이면 특정 코드를 실행하고, 그렇지 않으면 다른 코드를 실행할 수 있습니다. if 문은 else 및 elif와 함께 사용하여 여러 조건을 처리할 수 있습니다.
다음은 if 문과 관련된 주요 용법과 예제입니다.
기본 if 문
x = 10
if x > 5:
print("x는 5보다 큽니다.")
if와 else 문
x = 3
if x > 5:
print("x는 5보다 큽니다.")
else:
print("x는 5보다 작거나 같습니다.")
if, elif와 else 문
x = 5
if x > 5:
print("x는 5보다 큽니다.")
elif x == 5:
print("x는 5와 같습니다.")
else:
print("x는 5보다 작습니다.")
중첩된 if 문
x = 10
y = 20
if x > 5:
if y > 15:
print("x는 5보다 크고, y는 15보다 큽니다.")
else:
print("x는 5보다 크지만, y는 15보다 작거나 같습니다.")
else:
print("x는 5보다 작거나 같습니다.")
여러 조건을 사용하는 if 문 (논리 연산자 사용)
x = 10
y = 20
if x > 5 and y > 15:
print("x는 5보다 크고, y는 15보다 큽니다.")
elif x > 5 or y > 15:
print("x는 5보다 크거나, y는 15보다 큽니다.")
else:
print("x는 5보다 작거나 같고, y는 15보다 작거나 같습니다.")
if 문을 한 줄로 작성 (삼항 연산자)
x = 10
result = "x는 5보다 큽니다." if x > 5 else "x는 5보다 작거나 같습니다."
print(result)
위 예제들은 파이썬에서 if 문을 사용하는 다양한 방법을 보여줍니다. 각 예제는 특정 조건을 평가하고, 그 조건이 참일 때와 거짓일 때 실행할 코드를 지정하는 방법을 설명합니다.
4. 멤버십 연산자
멤버십 연산자는 객체가 특정 집합에 속하는지 여부를 확인하는 데 사용됩니다. 대표적인 멤버십 연산자는 다음과 같습니다:
- in 연산자:
- 리스트, 튜플, 세트, 문자열 등과 같은 시퀀스 객체에서 특정 값이 포함되어 있는지 확인합니다.
- 예시: 'apple' in ['apple', 'banana', 'cherry'] => True
- not in 연산자:
- in 연산자의 반대로, 특정 값이 포함되어 있지 않은지 확인합니다.
- 예시: 'orange' not in ['apple', 'banana', 'cherry'] => True
- is 연산자:
- 두 객체가 동일한 객체인지 확인합니다.
- 예시: a is b => True (a와 b가 동일한 객체를 참조할 때)
- is not 연산자:
- is 연산자의 반대로, 두 객체가 동일하지 않은지 확인합니다.
- 예시: a is not b => True (a와 b가 다른 객체를 참조할 때)
멤버십 연산자는 주로 조건문이나 반복문에서 사용되어 데이터의 존재 여부를 확인하는 데 유용합니다. 이를 통해 프로그램의 로직을 더 잘 제어할 수 있습니다.
5. upper() 와 lower() 메서드
upper() 와 lower() 메서드는 문자열 데이터를 대문자 또는 소문자로 변환하는 데 사용되는 메서드입니다.
- upper() 메서드:
- 문자열의 모든 문자를 대문자로 변환합니다.
- 사용 방법: 문자열.upper()
- 예시:
text = "Hello, World!" uppercase_text = text.upper() print(uppercase_text) # Output: HELLO, WORLD!
- lower() 메서드:
- 문자열의 모든 문자를 소문자로 변환합니다.
- 사용 방법: 문자열.lower()
- 예시:
text = "HELLO, WORLD!" lowercase_text = text.lower() print(lowercase_text) # Output: hello, world!
이러한 메서드는 다음과 같은 경우에 유용하게 사용될 수 있습니다:
- 사용자 입력을 정규화하여 대소문자 구분 없이 처리할 때
- 문자열 비교 시 대소문자 구분을 피하고자 할 때
- 문서 처리 등에서 일관성 있는 대소문자 형식을 유지하고자 할 때
예를 들어, 사용자가 입력한 이메일 주소를 모두 소문자로 변환하여 저장하는 경우 등에 lower() 메서드가 유용할 수 있습니다.
8. y% Y% hh% HH%
- y%: 년도를 2자리 숫자로 표현합니다. (예: 22)
- Y%: 년도를 4자리 숫자로 표현합니다. (예: 2022)
- hh%: 시간을 24시간제로 표현합니다. (예: 13)
- HH%: 시간을 12시간제로 표현합니다. (예: 01)
이러한 형식은 주로 날짜와 시간을 표현할 때 사용되며, 프로그래밍 언어나 데이터베이스 등에서 날짜와 시간 데이터를 처리할 때 활용됩니다.
예를 들어, "2023-04-12 15:30:00" 형식의 날짜와 시간 데이터를 표현할 때 "Y%-m%-d% HH:mm:ss" 와 같은 형식을 사용할 수 있습니다.
9. pass 메서드
pass 메서드는 파이썬에서 아무런 동작도 하지 않는 빈 문장입니다. 이 메서드는 주로 다음과 같은 경우에 사용됩니다:
- 자리 홀더 (Placeholder): 코드의 구조를 만들 때 나중에 구현할 부분에 임시로 사용합니다.
def my_function():
pass
2. 빈 클래스, 함수, 루프: 클래스, 함수, 루프 등의 구조를 만들었지만 아직 내용을 작성하지 않은 경우에 사용합니다.
class MyClass:
pass
for i in range(5):
pass
3. 예외 처리: 예외가 발생했을 때 아무런 동작을 하지 않게 만들 수 있습니다.
try:
# 코드 작성
except ValueError:
pass
pass 문은 문법적으로 필요한 경우에 사용되며, 아무런 동작도 하지 않습니다. 이를 통해 코드의 구조를 만들고 나중에 구현할 수 있습니다.
10. 숫자를 정수로 변환하는 메서드
파이썬에서 정수로 변환하는 메서드는 int()입니다.
int()는 다음과 같이 사용할 수 있습니다:
- 숫자 문자열을 정수로 변환:
x = int("42") print(x) # Output: 42
- 실수를 정수로 변환:
y = int(3.14) print(y) # Output: 3
- 논리값을 정수로 변환:
z = int(True) print(z) # Output: 1 w = int(False) print(w) # Output: 0
- 다른 진법의 숫자를 정수로 변환:
binary_num = int("101010", 2) print(binary_num) # Output: 42 hex_num = int("2A", 16) print(hex_num) # Output: 42
이처럼 int()함수는 다양한 형태의 입력을 정수로 변환할 수 있습니다.
11. 나누기
- 정수 나누기 (//)
- 정수 나누기는 몫만 반환합니다.
- 소수점 이하 부분은 버려집니다.
- 예시:
print(10 // 3) # Output: 3 print(-10 // 3) # Output: -4
- 실수 나누기 (/)
- 실수 나누기는 정확한 결과를 반환합니다.
- 소수점 이하 부분도 포함됩니다.
- 예시:
print(10 / 3) # Output: 3.3333333333333335 print(-10 / 3) # Output: -3.3333333333333335
추가로, 파이썬에서는 다음과 같은 연산자도 사용할 수 있습니다:
- 나머지 연산 (%): 나눗셈의 나머지를 반환합니다.
print(10 % 3) # Output: 1
- 거듭제곱 연산 (**): 왼쪽 피연산자를 오른쪽 피연산자만큼 제곱합니다.
print(2 ** 3) # Output: 8
이와 같이 파이썬에서는 다양한 방법으로 나누기 연산을 수행할 수 있습니다.
12. for 문
- for 문은 시퀀스(문자열, 리스트, 튜플 등)의 각 요소를 반복적으로 처리할 때 사용합니다.
- 기본 구조는 다음과 같습니다:
for 변수 in 시퀀스: # 반복 수행할 코드
- 예시:
fruits = ['apple', 'banana', 'cherry'] for fruit in fruits: print(fruit) # Output: # apple # banana # cherry
13. 팩토리얼 구하는 방법
- 팩토리얼은 1부터 n까지의 자연수를 곱한 결과입니다.
- 팩토리얼을 구하는 방법은 다음과 같습니다:
def factorial(n): result = 1 for i in range(1, n+1): result *= i return result
-
- 예시:
print(factorial(5)) # Output: 120
- 설명:
- factorial() 함수를 정의합니다.
- result 변수를 1로 초기화합니다.
- for 문을 사용하여 1부터 n까지의 숫자를 반복합니다.
- 각 반복마다 result에 현재 숫자를 곱합니다.
- 반복이 끝나면 최종 result를 반환합니다.
- 예시:
이와 같이 파이썬의 for 문을 사용하여 시퀀스의 각 요소를 반복적으로 처리할 수 있으며, 팩토리얼 계산 함수를 작성할 수 있습니다.
* 10팩토리얼을 구하는 방법
팩토리얼은 1부터 n까지의 자연수를 곱한 결과입니다. 따라서 10 팩토리얼은 1부터 10까지의 자연수를 곱한 값입니다.
파이썬에서 10 팩토리얼을 구하는 코드는 다음과 같습니다:
def factorial(n):
result = 1
for i in range(1, n+1):
result *= i
return result
print(factorial(10)) # Output: 3628800
설명:
- factorial() 함수를 정의합니다.
- result 변수를 1로 초기화합니다.
- for 문을 사용하여 1부터 n(10)까지의 숫자를 반복합니다.
- 각 반복마다 result에 현재 숫자를 곱합니다.
- 반복이 끝나면 최종 result를 반환합니다.
- print(factorial(10))을 통해 10 팩토리얼 값인 3,628,800을 출력합니다.
따라서 10 팩토리얼은 3,628,800입니다.