본문 바로가기

전체 글

(42)
7.11 (데이터엔지니어링) 클래스 연습문제 풀이, 정규표현식 연습문제 풀이 클래스 연습문제 풀이 (13:29) + 복소수 클래스 정의 + 덧셈, 뺄셈, 곱셈 연산자 지원 + 길이(복소수의 크기) 지원 + 복소수 출력 ' 1 + 4j'와 같이 표현 + 비교 연산 ==, != 와 같이 지원## 절대값 지원 self.real+ 복소수 클래스 정의 + 덧셈, 뺄셈, 곱셈 연산자 지원 + 길이(복소수의 크기) 지원 + 복소수 출력 ' 1 + 4j'와 같이 표현 + 비교 연산 ==, != 와 같이 지원## 절대값 지원 class ComplexNumber: def __init__(self, real, img): self.real = real self.img = img def __add__(self, cn) : return ComplexNumber(self.real + cn.real, sel..
7.9 (데이터엔지니어링) 정규표현식과 re모듈의 사용 정규표현식과 re모듈의 사용 (21:34) 정규표현식 raw string 문자열 앞에 r이 붙으면 해당 문자열이 구성된 그대로 문자열로 변환 a = 'abcdef\n' # escape 문자 print(a) b = '^abcdef' print(b) ''' abcdef ^abcdef ''' ''' search method 첫번째 패턴을 찾으면 match 객체 반환 패턴을 찾지 못하면 None ''' import re m = re.search(r'abc', '123abcdef') print(type(m)) print(m.start()) print(m.end()) # print(m.group()) m = re.search(r'\d\d\d\w', '112abcdef119') print(m.group()) # 가장..
7.8 (데이터엔지니어링) 클래스 상속, 클래스 연산자 재정의 이해 클래스 상속 (14:40) Class inheritance 기존 정의해둔 클래스의 기능 물려받을 수 있음의미적으로 is-a 관계를 갖는다 class Person: def __init__(self, name, age): self.name = name self.age = age def eat(self, food): print('{}은 {}를 먹습니다.'.format(self.name, food)) def sleep(self, minute): print('{}은 {}분 동안 잡니다.'.format(self.name, minute)) def work(self, minute): print('{}은 {}분 동안 일합니다.'.format(self.name, minute)) class Student(Person): d..
7.7 (데이터엔지니어링) 생성자(_init_)이해 및 사용하기, self 키워드의 이해 및 사용하기, method, static method 정의 및 사용하기 생성자(_init_)이해 및 사용하기(10:12) # Person instance 생성 class Person: # 객체를 생성할 때, init 함수 호출됨 def __init__(self, name, age=10): # init 함수 정의 print(self, ' is generated') self.name = name self.age = age pass # lks = Person('Bob', 30) kkm = Person('Alice', 20) p3 = Person('lks') print( type(lks), type(kkm) ) # #lks.name = 'lks' #lks.age = 20 print( lks.name, ':', lks.age) print(p3.name, ':', p3.age) # 객..
7.6 (데이터엔지니어링) 모듈의 이해 및 사용과 import 방법, 클래스 오브젝트 이해하기, 클래스 정의 및 사용하기 모듈의 이해 및 사용과 import 방법 ( 13:21 ) 클래스 오브젝트 이해하기( 4:22 ) Class (List) 속성 (attribute) 행동(method) append, extend... python 에서 string, list, int, dict, 모두 class로 존재함 class를 생성할 수 있음 ( encapsulation ) 중요시하는 속성에 따라 클래스의 속성과 행동이 각각 달라짐 Object Class 로부터 생성되어 구체화된 instance [1,2,3] ['Hello', 'World'] 클래스 정의 및 사용하기( 7:29 ) # Person instance 생성 class Person: pass lks = Person() kkm = Person() print( type(lks..
7.5 (데이터엔지니어링) 컬렉션 타입 이해 -3 (tuple), 함수 연습 문제 풀이 컬렉션 타입 이해 -3 (tuple) (7:04) tuple 리스트와같이 복수개의 값을 갖는 컬렉션 생성 후 변경 불가능 a = [1,2,3,] b = (1,2,3) print( type(a ) ) print( type(b ) ) # immutable, 변경 불가능, tuple 사용 이유, tuple unpacking 튜플의 값을 차례대로 변수에 대입 # tuple unpacking a, b = 100, 200 print (a, b) 연습문제 a, b 의 값을 교환하시오 a = 5 b = 4 print (a, b) a = b print (a, b) 함수 연습 문제 풀이 (17:44) 숫자 리스트의 평균 구하는 함수 # 1.평균 def mean(nums): _sum = 0 for i in nums: _su..
7.4 (데이터엔지니어링) 람다함수의 이해 및 사용하기 람다 함수의 이해 및 사용하기 (24:38) lambda 함수 단일문 표현 익명함수 구현체만 존재함 1회성 으로 만들어서 쓸 때 사용함 # lambda square = lambda x : x**2 print( type (square) ) square(5) # def 함수 정의 def add(x, y): return x + y # 함수 정의 없이 구현 add2 = lambda x, y : x+y add2(10,20) # sort # 문자열의 길이 반환 def str_len(s): return len(s) print(str_len('test')) strings = ['bob', 'charles', 'alexander3', 'teddy'] #strings.sort(key=str_len) # 문자열 길이로 정렬..
7.3 (데이터엔지니어링) 기본 파라미터, 키워드 파라미터 이해, 변수의 스코프 이해-2, 3 기본 파라미터, 키워드 파라미터 이해, 변수의 스코프 이해-2 (17:02), 3 (19:47) print 함수 sep, end, file 등 기본 파라미터 뒤에 일반 파라미터가 올 수 없음 # 기본 파라미터 위치 def test (a,b=3,c=1): print (a,b,c) test(10,20,1) def test (a,b=3,c): print (a,b,c) test(10,20,1) keyword parameter (키워드 파라미터) 파라미터의 이름을 명시하여 전달 가능 이름이 없을 경우, 순서대로 # keyword parameter test (x=1,y=3,z=3) # 기본파라미터를 하거나, 기본파라미터를 이용하지 않거나 multiple return (복수 값 반환) tuple반환 이용 return..