Meta Python에서 'Meta'클래스는 일반적으로 Django 프레임워크에서 models, forms, serializers, views 와 같은 클래스에 대한 추가 정보를 제공하는 데 사용합니다. Meta 클래스는 Django 클래스에 대한 다양한 옵션과 구성을 지정하는 방법입니다. Model에서의 Meta 클래스 Model 클래스에서 Meta 클래스는 다양한 방법으로 모델의 동작을 지정하는데 사용됩니다. Model 클래스에서 Meta 클래스에서 주로 사용되는 옵션은 아래와 같습니다. 'db_table' : 모델에 사용할 DB 테이블 이름을 지정합니다. 지정하지 않으면 Django는 앱 이름과 모델 이름을 기반으로 테이블 이름을 자동으로 생성합니다. 'ordering' : QuerySet에 대한 ..
Subtype subtype은 파이썬 기본 type(또는 기존 클래스)에서 파생된 type입니다. 저는 subtype을 예제를 통해서 쉽게 이해할 수 있었는데요. class PositiveInt(int): def __new__(cls, value: int) -> "PositiveInt": if value < 0: raise ValueError("양수만 입력 가능") return super().__new__(cls, value) x = PositiveInt(4) # y = PositiveInt(-1) # 에러 발생 print(x) # 4 이 예제처럼 'PositiveInt'클래스가 내장 타입인 int 타입의 subtype입니다. 예제는 'PositivieInt'클래스는 int 타입을 상속받고, 새 인스턴스..
First Class Function First Class Function 이란, 프로그래밍 언어가 함수를 first-class citizen으로 취급하는 것을 말한다. 함수를 first-class citizen으로 취급하면 함수를 변수에 할당하거나, 다른 함수의 인수로 전달될 수 있으며, 함수의 반환값으로도 사용할 수 있음을 의미한다. 이를 통해 함수를 조합해서 다양한 동작을 수행하는 함수를 작성할 수 있으며, 이러한 기능은 함수형 프로그래밍에서 매우 유용하다. 그리고 이러한 기능이 있기에 람다 함수를 활용해 더욱 간결한 코드를 작성할 수 있는 것이다. 람다 관련 글 파이썬에서의 First-class 함수 예시 1. 함수를 변수에 할당하기 def add(x, y): return x + y sum = a..
파이썬에서 Function과 method의 차이 파이썬에서는 function과 method 모두 호출 가능한(callable) 객체입니다. 하지만 이 둘은 차이가 있습니다. callable 관련 글 Function(함수) function(함수)은 모듈에 정의된 독립적인 함수를 의미합니다. def im_function(): return "This is a Function!" 이렇게 클래스나 객체와는 상관없이, 모듈에서 직접 호출할 수 있는 함수를 말합니다. Method(메서드) method(메서드)는 클래스나 객체에 속한 함수를 의미합니다. class ImClass: def im_method(self): return "This is a method!" 이처럼 클래스나 객체에 속해서 객체의 상태를 변경하거나..
Django의 admin 패널에서 모델을 관리하기 위해서는 해당 모델을 등록해야 한다. 등록하는 방식에는 두 가지가 있다. 1. admin.site.register() from django.contrib import admin from .models import User admin.site.register(User) 또는 from django.contrib import admin from .models import User class UserAdmin(admin.ModelAdmin): pass admin.site.register(User, UserAdmin) 2. 데코레이터 함수 from django.contrib import admin from .models import User @admin.regis..
파이썬에서 람다(lambda) 함수는 익명의 함수를 생성하는 방법 중 하나로 일반적인 함수와 다르게 함수 이름이 없고, 한 줄로 함수를 작성할 수 있다. 람다 함수는 주로 간단한 함수를 정의할 때 사용되며, 함수를 매개변수로 받는 함수나 리스트/딕셔너리 등의 컨테이너 객체를 다룰 때 유용하게 사용된다. 기본적인 형식 lambda 인자(arguments) : 표현식(expressions) 인자는 함수에 입력될 매개변수를 나타내며, : 뒤의 표현식은 함수가 반환할 값을 나타낸다. 그리고 표현식의 결과를 return 키워드 없이 자동으로 return 해준다. 함수에 이름이 없기에 다시 사용할 수는 없으나, 람다함수도 객체이므로 정의와 동시에 변수에 담아 재사용할 수 있다. 다음은 두 개의 숫자를 더하는 람다 ..