Python 개념

기본 개념 DUMP

whateveryouwish 2024. 7. 30. 13:07

1. 나누기 연산자와 몫, 소수점 버리기와 나머지

 

  1. 나누기 연산자(/): 두 숫자를 나누고 실수(float) 결과를 반환합니다.
  2. 몫 연산자(//): 두 숫자를 나누고 소수점 아래를 버린 정수 결과를 반환합니다.
  3. 나머지 연산자(%): 두 숫자를 나누고 나머지를 반환합니다.

예제 코드를 통해 각 연산자를 사용하는 방법을 보여드리겠습니다:

 
a = 10
b = 3

# 나누기 연산자
나누기 = a / b
print("나누기 결과:", 나누기)  # 출력: 3.3333333333333335

# 몫 연산자
몫 = a // b
print("몫 결과:", 몫)  # 출력: 3

# 나머지 연산자
나머지 = a % b
print("나머지 결과:", 나머지)  # 출력: 1

위 예제에서 a와 b를 각각 10과 3으로 설정한 후, 나누기 연산자, 몫 연산자, 나머지 연산자를 사용하여 결과를 출력합니다.

 

2. 소수점 처리

 

  1. math.floor: 소수점 아래를 버리고 가장 가까운 작은 정수로 내림합니다.
  2. math.ceil: 소수점 아래를 올리고 가장 가까운 큰 정수로 올림합니다.
  3. '{0:.1f}'.format(a): 문자열 포맷팅을 사용하여 소수점 이하 자리를 지정할 수 있습니다.
  4. 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. 멤버십 연산자

 

멤버십 연산자는 객체가 특정 집합에 속하는지 여부를 확인하는 데 사용됩니다. 대표적인 멤버십 연산자는 다음과 같습니다:

  1. in 연산자:
    • 리스트, 튜플, 세트, 문자열 등과 같은 시퀀스 객체에서 특정 값이 포함되어 있는지 확인합니다.
    • 예시: 'apple' in ['apple', 'banana', 'cherry'] => True
  2. not in 연산자:
    • in 연산자의 반대로, 특정 값이 포함되어 있지 않은지 확인합니다.
    • 예시: 'orange' not in ['apple', 'banana', 'cherry'] => True
  3. is 연산자:
    • 두 객체가 동일한 객체인지 확인합니다.
    • 예시: a is b => True (a와 b가 동일한 객체를 참조할 때)
  4. is not 연산자:
    • is 연산자의 반대로, 두 객체가 동일하지 않은지 확인합니다.
    • 예시: a is not b => True (a와 b가 다른 객체를 참조할 때)

멤버십 연산자는 주로 조건문이나 반복문에서 사용되어 데이터의 존재 여부를 확인하는 데 유용합니다. 이를 통해 프로그램의 로직을 더 잘 제어할 수 있습니다.

 

5. upper() 와 lower() 메서드

 

upper() 와 lower() 메서드는 문자열 데이터를 대문자 또는 소문자로 변환하는 데 사용되는 메서드입니다.

  1. upper() 메서드:
    • 문자열의 모든 문자를 대문자로 변환합니다.
    • 사용 방법: 문자열.upper()
    • 예시:
       
      text = "Hello, World!"
      uppercase_text = text.upper()
      print(uppercase_text)  # Output: HELLO, WORLD!
      
  2. lower() 메서드:
    • 문자열의 모든 문자를 소문자로 변환합니다.
    • 사용 방법: 문자열.lower()
    • 예시:
       
      text = "HELLO, WORLD!"
      lowercase_text = text.lower()
      print(lowercase_text)  # Output: hello, world!
      

이러한 메서드는 다음과 같은 경우에 유용하게 사용될 수 있습니다:

  • 사용자 입력을 정규화하여 대소문자 구분 없이 처리할 때
  • 문자열 비교 시 대소문자 구분을 피하고자 할 때
  • 문서 처리 등에서 일관성 있는 대소문자 형식을 유지하고자 할 때

예를 들어, 사용자가 입력한 이메일 주소를 모두 소문자로 변환하여 저장하는 경우 등에 lower() 메서드가 유용할 수 있습니다.

 

8. y% Y% hh% HH%

 

  1. y%: 년도를 2자리 숫자로 표현합니다. (예: 22)
  2. Y%: 년도를 4자리 숫자로 표현합니다. (예: 2022)
  3. hh%: 시간을 24시간제로 표현합니다. (예: 13)
  4. HH%: 시간을 12시간제로 표현합니다. (예: 01)

이러한 형식은 주로 날짜와 시간을 표현할 때 사용되며, 프로그래밍 언어나 데이터베이스 등에서 날짜와 시간 데이터를 처리할 때 활용됩니다.

예를 들어, "2023-04-12 15:30:00" 형식의 날짜와 시간 데이터를 표현할 때 "Y%-m%-d% HH:mm:ss" 와 같은 형식을 사용할 수 있습니다.

 

9. pass 메서드

 

pass 메서드는 파이썬에서 아무런 동작도 하지 않는 빈 문장입니다. 이 메서드는 주로 다음과 같은 경우에 사용됩니다:

  1. 자리 홀더 (Placeholder): 코드의 구조를 만들 때 나중에 구현할 부분에 임시로 사용합니다.
 
def my_function():
    pass

   2. 빈 클래스, 함수, 루프: 클래스, 함수, 루프 등의 구조를 만들었지만 아직 내용을 작성하지 않은 경우에 사용합니다.

 
class MyClass:
    pass

for i in range(5):
    pass

 

   3. 예외 처리: 예외가 발생했을 때 아무런 동작을 하지 않게 만들 수 있습니다.

 
try:
    # 코드 작성
except ValueError:
    pass

pass 문은 문법적으로 필요한 경우에 사용되며, 아무런 동작도 하지 않습니다. 이를 통해 코드의 구조를 만들고 나중에 구현할 수 있습니다.

 

10. 숫자를 정수로 변환하는 메서드

 

파이썬에서 정수로 변환하는 메서드는 int()입니다.

int()는 다음과 같이 사용할 수 있습니다:

  1. 숫자 문자열을 정수로 변환: 
  2. x = int("42") print(x) # Output: 42
  3. 실수를 정수로 변환:
     
    y = int(3.14)
    print(y)  # Output: 3
    
  4. 논리값을 정수로 변환:
     
    z = int(True)
    print(z)  # Output: 1
    
    w = int(False)
    print(w)  # Output: 0
    
  5. 다른 진법의 숫자를 정수로 변환:
     
    binary_num = int("101010", 2)
    print(binary_num)  # Output: 42
    
    hex_num = int("2A", 16)
    print(hex_num)  # Output: 42
    

이처럼 int()함수는 다양한 형태의 입력을 정수로 변환할 수 있습니다.

 

11. 나누기

 

  1. 정수 나누기 (//)
    • 정수 나누기는 몫만 반환합니다.
    • 소수점 이하 부분은 버려집니다.
    • 예시:
       
      print(10 // 3)  # Output: 3
      print(-10 // 3)  # Output: -4
      
  2. 실수 나누기 (/)
    • 실수 나누기는 정확한 결과를 반환합니다.
    • 소수점 이하 부분도 포함됩니다.
    • 예시:
       
      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
    
    1. 예시:
       
      print(factorial(5))  # Output: 120
      

       

    2. 설명:
      1. factorial() 함수를 정의합니다.
      2. result 변수를 1로 초기화합니다.
      3. for 문을 사용하여 1부터 n까지의 숫자를 반복합니다.
      4. 각 반복마다 result에 현재 숫자를 곱합니다.
      5. 반복이 끝나면 최종 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

설명:

  1. factorial() 함수를 정의합니다.
  2. result 변수를 1로 초기화합니다.
  3. for 문을 사용하여 1부터 n(10)까지의 숫자를 반복합니다.
  4. 각 반복마다 result에 현재 숫자를 곱합니다.
  5. 반복이 끝나면 최종 result를 반환합니다.
  6. print(factorial(10))을 통해 10 팩토리얼 값인 3,628,800을 출력합니다.

따라서 10 팩토리얼은 3,628,800입니다.