반응형

(PYTHON)파이썬 class 클래스 활용

 

클래스 정의 방법

#클래스 정의 형식
class 클래스이름 :	#클래스이름의 첫글자는 대문자로 쓰는게 일반적
	변수1 = 기본값	#멤버변수1
	변수2 = 기본값	#멤버변수2
	def 멤버함수1(self, 파라미터, 파라미터...)	#멤버함수1 정의. 멤버함수 첫 파라미터는 반드시 self를 입력)
	def 멤버함수2(self, 파라미터, 파라미터...)	#멤버함수2 정의
#클래스 선언 예시
class Student :
	이름 = None	#멤버변수에 기본값 None 입력
	주소 = None
	학교 = None
	학년 = None
	학생전화번호 = None
	부모전화번호 = None
	def 정보등록(self, 이름, 주소, 학생전화번호, 부모전화번호)
	def 주소정보(self)

 

 

클래스 생성 및 호출 예제

>>> class Person :	#클래스 생성
	name = None	#멤버변수
	age = 0
	def 정보입력(self, pName, pAge) :
		self.name = pName	#파라미터로 받은 값을 객체.멤버변수에 넣어줌
		self.age = pAge
	def 자기소개(self) :
		print("안녕")
		print("나는 ", self.name," 이야", self.age, "살 이야")	#객체.멤버변수를 호출

>>> p1 = Person()	#클래스 생성해서 클래스객체 p1에 입력
>>> p1.정보입력("김이름", 20)	#클래스의 "정보입력"함수에 "김이름", 20 파라미터를 전달 및 호출
>>> p1.자기소개()	#클래스의 "자기소개"함수를 호출
안녕
나는  김이름  이야 20 살 이야

>>> print(p1.name)	#클래스객체p1의 name 멤버변수 호출
김이름
>>> print(p1.age)	#클래스객체p1의 age 멤버변수 호출
20

 

 

__init__ 초기화 함수 정의하기

>>> class Person :	#클래스 생성
	name = None	#멤버변수
	age = 0
	def __init__(self, initName="기본이름", initAge=100) :	#__init__ 멤버함수는 클래스객체가 생성될때 자동실행 됨
		print("클래스 객체가 생성됩니다")	#객채 생성을 알려줌
		self.name = initName	#객채 생성시 파라미터에 정의된 "기본이름"을 객체.멤버변수에 입력
		self.age = initAge	#객채 생성시 파라미터에 정의된 100을 객체.멤버변수에 입력
	def 정보입력(self, pName, pAge) :
		self.name = pName	#파라미터로 받은 값을 객체.멤버변수에 넣어줌
		self.age = pAge
	def 자기소개(self) :
		print("안녕")
		print("나는 ", self.name," 이야", self.age, "살 이야")	#객체.멤버변수를 호출

>>> p2 = Person()	#클래스를 생성해서 p2객체에 넣음
클래스 객체가 생성됩니다	#__init__ 멤버함수의 print() 함수가 작동
>>> p2.자기소개()	#클래스객체p2의 자기소개() 함수를 호출
안녕
나는  기본이름  이야 100 살 이야	#__init__ 멤버함수에서 정의된 기본이름, 100이 출력
>>> print(p2.name)	#클래스객체p2의 멤버변수 name 호출
기본이름
>>> print(p2.age)	#클래스객체p2의 멤버변수 age 호출
100
>>> 
>>> p2.정보입력("박이름", 30)	#클래스객체p2의 정보입력() 함수를 "박이름", 30 파라미터로 호출
>>> p2.자기소개()	#클래스객체p2의 자기소개()함수를 호출
안녕
나는  박이름  이야 30 살 이야	#파라미터로 전달된 "박이름", 30이 출력
>>> print(p2.name)	#클래스객체p2의 멤버변수 name 호출
박이름
>>> print(p2.age)	#클래스객체p2의 멤버변수 age 호출
30

 

 

(PYTHON)파이썬 전체보기

 

'(PYTHON)파이썬' 카테고리의 글 목록

전산 관련 경험을 기록 하는 곳

reddb.tistory.com

 

반응형