본문 바로가기

IT/Python

(24)
Python 프로그래밍: 클래스 속성과 정적, 클래스 메서드 사용하기 1. 클래스 속성 이해하기 클래스 속성은 클래스 내부에서 선언되지만, 인스턴스간에 공유되는 속성입니다. 즉, 이 속성은 클래스에 속해 있으며 모든 인스턴스에서 동일한 값을 갖습니다. class MyClass: class_attribute = 'This is a class attribute' instance_a = MyClass() instance_b = MyClass() print(instance_a.class_attribute) # 'This is a class attribute' print(instance_b.class_attribute) # 'This is a class attribute' 여기서 `class_attribute`는 `MyClass`의 모든 인스턴스에 의해 공유되는 클래스 속성입니다...
Python 프로그래밍: 클래스 사용하기 1. 클래스와 메서드 만들기 파이썬에서, 클래스는 객체의 뼈대를 제공하는 코드 블록입니다. 클래스를 통해 객체를 만들며, 이렇게 만들어진 객체를 인스턴스라고 부릅니다. class MyClass: def hello(self): return "Hello, Python!" 위 예제에서 `MyClass`는 클래스명이며, `hello`라는 메서드를 가지고 있습니다. `self`는 현재 인스턴스를 참조하는 데 사용되는 첫 번째 인수입니다. 2. 속성 사용하기 속성은 클래스나 인스턴스에 속하는 변수입니다. 인스턴스 속성은 `__init__` 메서드에서 초기화하며, 각 인스턴스마다 고유한 값을 가집니다. class MyClass: def __init__(self, name): self.name = name def he..
Python 프로그래밍: 클로저 사용하기 1. 서론 Python은 유연한 언어이며, 그러한 유연성은 함수를 일급 객체로 취급하는 능력에 기인합니다. 이 포스트에서는 Python의 중요한 기능 중 하나인 클로저에 대해 알아보겠습니다. 함수를 반환하는 함수, 즉 클로저에 대해 이해하면 코드를 더욱 효율적이고 간결하게 작성할 수 있습니다. 2. 클로저란 무엇인가? 클로저는 함수와 그 함수가 만들어진 환경을 포함한 객체입니다. 다시 말해, 함수를 정의하는 스코프에 있는 변수를 '기억'하고 있는 함수를 말합니다. 이 변수는 클로저가 만들어진 후에도 계속해서 존재하며, 이것이 바로 클로저의 강력함입니다. def outer_function(x): def inner_function(y): return x + y return inner_function clos..
Python 프로그래밍: 람다 표현식 사용하기 1. 람다 표현식이란? Python의 람다 표현식(lambda expression)은 이름 없는 함수를 만드는 데 사용되는 특별한 문법입니다. 이는 복잡한 로직을 간단하게 한 줄로 표현할 수 있게 해주어, 코드를 읽고 이해하기 쉽게 만들어줍니다. 2. 람다 표현식의 기본 형태 람다 표현식은 `lambda`라는 키워드를 사용하여 만듭니다. 기본 형태는 다음과 같습니다. lambda arguments: expression 이렇게 정의된 람다 함수는 인자를 받아서 그에 해당하는 표현식을 계산하고, 결과를 반환합니다. 3. 람다 표현식의 간단한 예제 아래는 람다 표현식을 이용한 간단한 예제입니다. 이 함수는 두 개의 인자를 받아 더한 결과를 반환합니다. add = lambda x, y: x + y print(a..
Python 프로그래밍: 함수에서 재귀 호출 사용하기 1. 재귀 호출이란? 재귀 호출이란 함수가 자기 자신을 다시 호출하는 것을 말합니다. 재귀 호출은 복잡한 문제를 간단한 부분 문제로 분해하고, 이를 해결함으로써 원래의 문제를 해결하는 방법을 제공합니다. 2. 간단한 재귀 호출의 예 재귀 호출의 가장 간단한 예로 팩토리얼 함수를 들 수 있습니다. 팩토리얼 함수는 정수 n에 대해 1부터 n까지의 모든 정수의 곱을 반환합니다. 이를 Python으로 표현하면 다음과 같습니다. def factorial(n): if n == 0: return 1 else: return n * factorial(n-1) 위 코드에서 `factorial(n-1)`은 함수 `factorial`이 자기 자신을 호출하는 부분입니다. 이렇게 함수가 자신을 다시 호출하는 것이 바로 재귀 호출..
Python 프로그래밍: 함수 위치 인수와 키워드 인수 사용하기 1. 위치 인수와 키워드 인수란? Python에서 함수를 호출할 때, 인수를 어떻게 전달하느냐에 따라 위치 인수와 키워드 인수로 나뉩니다. ● 위치 인수(positional argument)는 인수를 순서대로 넣어 함수를 호출하는 방식입니다. ● 키워드 인수(keyword argument)는 인수를 이름으로 지정하여 함수를 호출하는 방식입니다. 두 가지 방식을 이해하는 것은 함수의 인터페이스를 정의하고, 함수를 사용하는 방법에 대해 깊이 이해하는데 도움이 됩니다. 2. 위치 인수의 사용법 우선 위치 인수의 사용법에 대해 알아보겠습니다. Python의 함수는 기본적으로 위치 인수를 사용합니다. 예를 들어, 다음과 같이 두 개의 숫자를 더하는 함수를 만들 수 있습니다. def add(a, b): return..
Python 프로그래밍: 함수 사용하기 1. 함수란? 함수는 특정 작업을 수행하는 코드의 묶음입니다. 한 번 작성해 놓으면 재사용할 수 있기 때문에 코드의 중복을 방지하고 프로그램의 가독성을 높이는 역할을 합니다. Python에서는 `def` 키워드를 사용해 함수를 정의합니다. 2. 함수의 기본 구조 Python에서 함수를 정의하는 기본적인 구조는 다음과 같습니다. def 함수명(매개변수): 수행할 문장1 수행할 문장2 return 결과값 3. 매개변수와 인수 함수를 정의할 때는 매개변수(parameter)를 지정하고, 함수를 호출할 때는 인수(argument)를 전달합니다. 매개변수는 함수가 수행하는 작업에 필요한 입력 값을 받는 변수이며, 인수는 함수를 호출할 때 전달하는 실제 값입니다. 4. 반환값 함수는 `return` 문을 사용해 결..
Python 프로그래밍: 회문 판별과 N-gram 만들기 1. 회문이란? 회문(palindrome)은 앞에서부터 읽으나 뒤에서부터 읽으나 동일한 문자열을 말합니다. 예를 들어, 'level', 'madam', 'racecar' 등은 모두 회문입니다. Python에서는 문자열을 거꾸로 뒤집는 기능을 활용하여 간단하게 회문을 판별할 수 있습니다. def is_palindrome(word): return word == word[::-1] print(is_palindrome('level')) # True print(is_palindrome('python')) # False 2. N-gram이란? N-gram은 문장 내에서 연속적으로 N개의 글자(혹은 단어)를 추출하는 방법을 말합니다. 이는 자연어 처리, 검색 엔진, 텍스트 마이닝 등 다양한 분야에서 활용됩니다. Py..