티스토리 뷰

장고 입문

기억해야 할 두 가지 개념

  1. argument
  2. 객체지향개념

argument

  • 함수에 넣어주는 인자를 말한다
  • 함수에 넘겨야 할 인자가 많다면 아래와 같이 할 수 있다
def plus(a, b, *args, **kwargs):
	#*args 포지셔널 아규먼트. 딕셔너리가 아닌 인자
  #*kwargs 키워드 아규먼트. 키워드를 가진(key) 인자
	print(*args, **kwargs)
  return a + b

plus(1, 1, 1, 1, 1, hello=True, aa=True)
# 호출 시 결과값은
#(1, 1, 1, 1, 1) 튜플로 저장
#{'hello':Ture, 'aa':True} 딕셔너리로 저장
def plus(*args):
	result = 0
  for n in args:
		result += n
	return result

객체지향

  • 모든 것이 Object이고, 각각의 속성을 갖고 있음
  • class 개념 이해하기
class Car(): #기본 설계도
	wheels = 4
	doors = 4
	windows = 4
	seats = 4

porche = Car() #Car의 인스턴스
print(porche) #결과: Car Object 라고 나옴
print(porche.windows) #결과: 4
porche.color = 'Red' #고유의 속성을 지정할 수 있다

ferrari = Car()
ferrari.color = 'Yellow'

  • 메소드 이해하기
class Car(): #기본 설계도
	wheels = 4
	doors = 4
	windows = 4
	seats = 4

	def start(): #메소드: 클래스 안에 있음
		print("start")

def start(): #펑션: 클래스 밖에 있음
	print("start")
class Car()
	wheels = 4
	doors = 4
	windows = 4
	seats = 4

	def start(): 
		print("start")

porche = Car(0
porche.start() #실행 시 에러. 파이썬은 항상 1개의 인자,
# 즉 그 메소드의 instance를 첫 번째 argument로 사용하기 때문.
# 따라서 메소드를 아래와 같이 수정해야 한다. (호출 시에는 안 적어도 넘김)
# def start(self):
		#print("start")
  • 기본 메소드
class Car(): #기본 설계도
	wheels = 4
	doors = 4
	windows = 4
	seats = 4

print(dir(Car)) #실행 시 기본 메소드와 다른 속성을 볼 수 있다. 기본 메소드는 오버라이드 가능

porche = Car()
print(porche) #호출 시, __str__이 호출되어 porche instance를 스트링으로 바꾼다
# __init__은 인스턴스가 생성될 때 초기화하는 역할을 하므로, 재정의를 통해 초기화할 수도 있다
class Car(): #기본 설계도
	wheels = 4
	doors = 4
	windows = 4
	seats = 4

	
  • 상속/확장 개념
    • 클래스/메소드를 카피앤페이스트하는 대신 클래스의 속성과 메소드를 받아와서 재사용하는 것
    • 확장

'개발' 카테고리의 다른 글

[Java] 배열  (0) 2022.05.14
[항해99] 첫 미니 프로젝트 시작  (0) 2022.05.09
[노마드코더: 파이썬 챌린지] 문법 강의  (0) 2022.04.12
[항해99] 5주차 강의  (0) 2022.04.11
[항해99] 4주차 강의  (0) 2022.04.08
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/05   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함