새소식

Python

헷갈리는 파이썬 문법 5. 예외처리, 클래스와 객체

  • -

파이썬 문법의 모든 내용을 담은 게시글이 아닌 헷갈리거나 자주 까먹는 부분의 문법들만 다룬 내용입니다.


 

예외 

- 구문에러가 없이 잘 작성된 코드라도 실행 도중 에러가 발생할 수 있다. 

(NameError, TypeError, ZeroDivisionError , IndexError 등) 

 

- 예외처리 

 

a= int(input('Enter a:'))
b= int(input('Enter b:'))

try:   #예외 발생 가능성이 있는 문장
	c= a/b
    print(c) 
except ZeroDivisionError:  #예외 종류 
	print('Cannot divide by 0')

 

클래스 

- 객체를 만들어주는 도구 

- 모든 데이터와 모든 함수는 객체 이다. 

 

-클래스의 구성 

생성자: def__init_(self, ...):

소멸자: def__del__(self,...):

 

class Dog:
	def__init__(self, name, age):  #self는 항상 고정 
    	self.name= name   
        self.age= age
    def bark(self):
    	print(self.name, 'is barking') 

x= Dog('Jack',3)   #def__init__으로 들어갈 때 그 순간에 활동하는 객체가 self를 가리킴  
y= Dog('Daisy', 2)  #def__init__으로 들어갈 때 그 순간에 활동하는 객체가 self를 가리킴 
x.bark()
y.bark()
print(x.name, 'is', x.age, 'years old.')
print(y.name, 'is', y.age, 'years old.')

 

 

List 클래스 

 

int 클래스 

#사용방법 
x= 10 
y= int(20)
z= x.__add__(y) #z=x+y 
print(z)
>>30 

p,q,r = 100, 200, 300 
p.__eq__(q) #p==q 
>>True
p.__gt__(r) #p>r 
>>False

#연산자 중복 예제: 좌표 클래스 만들기 
class Point:
	def__init__(self, x=0, y=0):
        self.x= x
        self.y= y
    
    def get(self):
    	return "("+ str(self.x) + "," +str(self.y) + ")"
        
    def__add__(self, other):
    	newX= self.x + other.x
        newY= self.y + other.y
        return Point(newX, newY) 
    
    
    p1= Point(2,3)  #Point클래스로 들어간다. 
    p2= Point(4,7)  #Point클래스로 들어간다. 
    
    p3= p1+p2  # 더하기를 나타내는 __add__함수가 있으므로 그곳에 대입, self가 p1이 되고 other이 p2가 된다. 
    >> Point(6, 10) 
    print(p1.get())
    >> (2,3) 
    print(p2.get())
    >> (4,7) 
    print(p3.get())
    >> (6,10)
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.