본문 바로가기

개념

(24)
[파이썬] namedtuple 이란 파이썬의 namedtuple은 튜플(tuple)과 딕셔너리(dictionary)의 기능을 합쳐 놓은 자료형입니다. 튜플은 순서가 있는 데이터 집합이며, 한 번 생성된 후에는 수정이 불가능합니다. 딕셔너리는 순서가 없는 key-value 쌍의 데이터 집합입니다. namedtuple은 이 둘의 장점을 모두 갖추고 있습니다. 1. 예시 namedtuple은 collections 모듈에서 제공됩니다. 간단한 예시를 통해 사용 방법을 살펴보겠습니다. from collections import namedtuple Person = namedtuple('Person', ['name', 'age', 'gender']) person1 = Person('Alice', 25, 'Female') person2 = Person(..
[파이썬] 불변객체와 가변객체 파이썬에서는 객체를 가변(mutable)객체와 불변(immutable)객체로 구분할 수 있습니다. 객체의 가변성 여부는 객체의 값이 변경 가능한지 여부를 의미합니다. 1. 불변 객체(Immutable Objects) 불변 객체는 생성 후에는 그 값을 변경할 수 없는 객체입니다. 즉, 한 번 생성된 값은 변경되지 않습니다. 불변 객체의 대표적인 예시로는 숫자(int, float), 문자열(str), 튜플(tuple) 등이 있습니다. 다음은 문자열을 예시로 들어보겠습니다. 문자열은 변경이 불가능하기 때문에, 한 번 생성된 문자열은 값이 변경되지 않습니다. 예를 들어, 다음과 같은 코드에서 s의 값이 변경되지 않습니다. s = 'hello' s[0] = 'H' # TypeError 발생 위 코드에서 s[0] ..
파이썬(Python)의 인자목록 언패킹(unpacking) 에 대해서 Python에서 함수를 정의할 때 인자 목록 언패킹(unpacking)은 함수에 전달되는 인자들 중에서 리스트, 튜플, 딕셔너리 등과 같은 iterable 객체를 개별적인 인자로 분리하여 전달하는 것을 말합니다. 인자 언패킹은 * 또는 **를 사용하여 구현됩니다. *은 리스트나 튜플 등의 iterable 객체를 인자 목록 언패킹하여 개별적인 인자로 분리합니다. **는 딕셔너리 객체를 인자 목록 언패킹하여 개별적인 키-값 쌍으로 분리합니다. 1. 언패킹을 사용한 함수 정의의 예시 def my_function(*args, **kwargs): print("Positional arguments:") for arg in args: print(arg) print("\nKeyword arguments:") for k..
파이썬(Python)의 임의의 인자목록(variadic arguments) 에 대해서 파이썬에서 함수를 정의할 때, 임의의 인자 목록(variadic arguments)을 사용할 수 있습니다. 이는 함수에 전달되는 인자의 개수가 가변적인 경우 유용합니다. 1. 개념 설명 Python에서는 *args와 **kwargs라는 두 가지 형태의 임의의 인자 목록을 사용할 수 있습니다. *args는 임의의 개수의 위치 인자를 받을 때 사용됩니다. 함수에 전달되는 위치 인자는 튜플(tuple) 형태로 args에 저장됩니다. **kwargs는 임의의 개수의 키워드 인자를 받을 때 사용됩니다. 함수에 전달되는 키워드 인자는 딕셔너리(dictionary) 형태로 kwargs에 저장됩니다. 2. 예제 코드 def my_func(*args, **kwargs): print("Positional arguments..
파이썬(Python)의 키워드 인자(keyword arguments) 에 대해서 Python에서 함수를 정의할 때, 함수를 호출할 때 명시적으로 인자의 이름을 지정하여 값을 전달할 수 있습니다. 이를 키워드 인자 (Keyword Argument) 라고 합니다. 키워드 인자를 사용하면 함수를 호출할 때, 인자의 순서를 신경쓰지 않고 인자의 이름을 지정하여 값을 전달할 수 있습니다. 이는 함수가 복잡해지고 많은 인자를 가지는 경우에 함수를 보다 쉽게 호출할 수 있도록 해줍니다. 1. 키워드 인자를 사용한 함수 호출의 예시 def greet(name, age): print("Hello, my name is", name, "and I am", age, "years old.") # 키워드 인자를 사용하여 함수 호출하기 greet(name="John", age=30) 위 코드에서 greet 함..
파이썬(Python)의 기본 인자(default parameter) 설정 하는 방법 함수를 정의할 때, 매개변수(parameter)를 지정할 수 있습니다. 함수에 전달할 인자(argument)를 받아서 함수 내에서 처리하는데 사용됩니다. 이때 매개변수에 기본값(default value)을 지정할 수 있습니다. 이를 기본 인자(default parameter)라고 합니다. 기본 인자는 함수 호출시 인자가 제공되지 않았을 때 기본값으로 사용되며, 함수 호출시 인자가 제공되면 그 값이 사용됩니다. 1. 기본 인자를 사용한 간단한 함수 예제 def greet(name, greeting="Hello"): print(greeting, name) greet("John") # 출력: Hello John greet("Kate", "Hi") # 출력: Hi Kate 위의 예제에서 greet 함수는 nam..
파이썬(Python)의 함수 정의하는 방법 Python에서 함수를 정의하는 방법은 다음과 같습니다. 1. 정의 하는 방법 def 함수명(매개변수1, 매개변수2, ...): # 함수의 기능을 구현하는 코드 return 반환값 위의 예제 코드에서 def 키워드를 사용하여 함수를 정의합니다. 함수의 이름은 함수명으로 정의되며, 이 이름을 사용하여 함수를 호출할 수 있습니다. 매개변수1, 매개변수2, ...는 함수가 받을 입력값을 의미합니다. 이 매개변수는 함수 내부에서 사용되는 변수로, 함수가 호출될 때 전달되는 값으로 초기화됩니다. 만약 매개변수가 없는 경우에는 괄호 안을 비워둡니다. 함수 내부에서는 return 키워드를 사용하여 함수의 결과값을 반환할 수 있습니다. 이때 반환값은 함수의 기능에 따라 달라집니다. 반환값이 없는 경우에는 return ..
파이썬(Python)의 match문에 대해서 Python의 match 문은 Python 3.10 버전부터 도입된 새로운 제어 흐름 구조입니다. match 문은 switch 문의 확장된 버전으로 생각할 수 있습니다. match 문은 표현식을 평가하고, 다양한 패턴을 사용하여 표현식의 결과와 일치하는 패턴을 찾습니다. 그리고 해당 패턴에 매칭되는 블록을 실행합니다. 1. match 문의 구조 match expression: pattern1: # code block to execute if pattern1 matches expression pattern2: # code block to execute if pattern2 matches expression ... patternN: # code block to execute if patternN matche..