프로그래밍/Python

Class의 등장 2탄

seungdols 2015. 1. 1. 00:42

모든 메서드의 첫 번째 인자는 self입니다.


클래스에 정의된 모든 메서드가 self를 필요로 합니다.


파이썬은 모든 메서드의 첫 번째 인자를 호출할 객체가 되도록 합니다. 


객체에 메서드를 호출할 때 파이썬은 첫 번째 인자가 호출한 객체가 되로록 한다는 말이 무엇일까!



>>> class Strlen:
	def __init__(self,value=0):
		self.thing = value
	def how_len(self):
		return (len(self.thing))

이러한 구조를 갖게 됩니다. 


함수 how_len또한 첫 인자를 self로 받고 있습니다.




>>> test = Strlen("Hello World")
>>> test.how_len()
11
>>> 

개발자 코드 test = Strlen("Hello World") ======= python : Strlen.__init__(test,"Hello World") 로 실행을 하게 됩니다.

개발자 코드 test.how_len ================= python : Strlen.how_len(test) 이런식이 되는거죠!


우선 연습삼아 사칙연산을 하는 클래스를 작성해보도록 합시다!


우선 피연산자 2개가 필요로 하겠죠??


one , two라고 하겠습니다. 


더하기 , 빼기, 곱하기, 나누니 해서 가감승제라고 하죠!?


class cal 이라고 이름을 짓도록 하겠습니다.


그럼 함수는 총 4개가 필요하겠죠??


그러나 여기서 one , two의 값을 설정해주는 함수가 필요합니다! 


그래서 총 5개의 클래스 함수가 필요로 합니다.



	def sum(self):
		result = one + two
		return (result)

이런 형태로 구성을 했습니다. 덧셈한 값을 돌려주도록 하기 위한 리턴을 합니다!


결과를 볼까요??

테스트를 위해 덧셈 모듈만 따로 작성했습니다.



>>> def sum(one , two):
	result = one + two
	return (result)

>>> a = 5
>>> b = 4
>>> c = sum(a,b)
>>> print (c)
9
>>> 

자 이제 함수는 작성하는 로직을 알아냈습니다. 나누기 곱하기 뺄셈도 같은 로직이겠죠??^^



>>> class cal:
	def set_data(self, one, two):
		self.one = one
		self.two = two
	def sum(self):
		result = one + two
		return (result)
	def sub(self):
		result = one - two
		return (result)
	def mul(self):
		result = one * two
		return (result)
	def div(self):
		result = one / two
		return (result)

이렇게 구성 할 수 있습니다.!!! 모두 이제 감이 조금 오시나요???


자 여기까지해서 기본적인 Class의 구조를 살펴 보았습니다. 이제 다음에는 상속의 개념을 알아보도록 합시다!

반응형