Language/Python

반응형
반응형
Language/Python

[코딩도장]39. 이터레이터

39. 이터레이터 이터레이터(Iterator) - 값을 차례대로 꺼낼 수 있는 객체 (=반복자) - for문의 경우 숫자가 아주 많을 때는 메모리를 많이 사용하게 되므로 성능에서 불리하다 - 지연평가(lazy evaluation): 파이선에서는 이터레이터만 생성하고 값이 필요한 시점이 되었을 때 값을 만드는 방식을 사용 39.1 반복 가능한 객체 알아보기 - 객체에 __iter__메서드가 있는지 확인해보면 된다. - dir(객체) - 이터레이터 프로토콜 : __iter__와 __next__를 모두 가진 객체 반복 가능한 객체는 요소를 한번에 하나씩 가져올 수 있는 객체. 이터레이터는 __next__메서드를 사용해서 차례대로 값을 꺼낼 수 있는 객체이다. 반복 가능한 객체(iteralbe)와 이터레이터(i..

Language/Python

[코딩도장]38.예외처리

38. 예외처리 - 예외(exception): 코드를 실행하는 중에 발생한 에러 38.1 try except 사용 def ten_div(x): return 10 / x # print(ten_div(0)) # ZeroDisvisionError: division by zero try: x = 0 y = 10 / x print(x) except: print('exception!!') ========================== exception!! # 특정 예외만 처리 / 에러 메시지 y = [10, 20, 30] try: index, x = map(int, input('index, number : ').split()) print(y[index] / x) except ZeroDivisionError as ..

Language/Python

[코딩도장]37.두 점 사이의 거리 구하기

37. 두 점 사이의 거리 구하기 37.1 두 점 사이의 거리 class Point2D: def __init__(self, x, y): self.x = x self.y = y p1 = Point2D(x=20, y=20) p2 = Point2D(x=60, y=50) print('p1: {} {}'.format(p1.x, p1.y)) print('p2: {} {}'.format(p2.x, p2.y)) ========================== p1: 20 20 p2: 60 50 - 피타고라스의 정리로 두 점의 거리 구하기 - a² + b² = c² a = p2.x - p1.x b = p2.y - p1.y # c의 길이 : c = √a²+b² # root -> math.sqrt() : square roo..

Language/Python

[코딩도장]36.클래스 상속

36. 클래스 상속 - 기반 클래스(base class) : 기능을 물려주는 클래스 ------------------- 부모 클래스, 슈퍼 클래스 - 파생 클래스(derived class) : 상속을 받아 새롭게 만드는 클래스 -------- 자식 클래스, 서브 클래스 36.1 사람 클래스로 학생 클래스 만들기 class Person: def greeting(self): print('hello') class Student(Person): def study(self): print('study') james = Student() james.greeting() james.study() # 상속 관계 확인하기 : issubclass(파생클래스, 기반클래스) print(issubclass(Student, Pers..

Language/Python

[코딩도장]35.클래스 속성과 정적, 클래스 메서드

35. 클래스 속성과 정적, 클래스 메서드 사용하기 35.1 클래스 속성과 인스턴스 속성 - 클래스 속성은 클래스에 속해 있으며 모든 인스턴스에서 공유한다. class Person: bag = [] def put_bag(self, stuff): self.bag.append(stuff) james = Person() james.put_bag('book') maria = Person() maria.put_bag('key') print(james.bag) print(maria.bag) ========================== ['book', 'key'] ['book', 'key'] class Person: bag = [] def put_bag(self, stuff): Person.bag = stuff ..

Language/Python

[코딩도장]34.클래스

34. 클래스 34.1 클래스와 메서드 생성 - class 명은 대문자로 시작 - class 내 메서드의 첫번째 매개변수는 self : 아닐 경우 TypeError class Person: def greeting(self): print('hello') def hello(self): self.greeting() james = Person() # class 호출 james.greeting() james.hello() ========================== hello hello a = int(10) print(a) ========================== 10 b = list(range(10)) print(b) b.append(20) print(b) ========================..

emojiyeon
'Language/Python' 카테고리의 글 목록 (2 Page)