데이터 31

[파이썬기초] 클래스. 상속 class inheritance/부모/자식/super/override

Class Inheritance (상속) 기존에 정의해둔 클래스의 기능을 그대로 물려받을 수 있다. => 해당 클래스의 메소드나 속성을 따로 정의하지않고 그대로 사용가능 기존 클래스에 기능 일부를 추가하거나, 변경하여 새로운 클래스를 정의한다. 코드를 재사용할 수 있게된다. 상속 받고자 하는 대상인 기존 클래스는 (Parent, Super, Base class 라고 부른다.) 상속 받는 새로운 클래스는(Child, Sub, Derived class 라고 부른다.) 의미적으로 is-a관계를 갖는다 학생(자식) is a person(부모) 직원(자식) is a person(부모) # 아래 student, employee 클래스의 공통기능을 # 부모 클래스 person으로 뺀다 # 학생 is a person ..

IT_Python 2021.12.21

[파이썬기초] 클래스 self. method/instance method/class(static) method

self 파이썬의 method는 항상 첫번째 인자. 파라미터로 self를 전달 self는 현재 해당 메쏘드가 호출되는 객체 자신을 가리킴 C++/C#, Java의 this에 해당 역시, 이름이 self일 필요는 없으나, 위치는 항상 맨 처음의 parameter이며 관례적으로 self로 사용 메소드가 불리는, 대상이되는 객체 그 자신을 가리킴 self는 즉, 호출된 객체 자체를 가리킴. class Person: #person클래스 def __init__(self, name, age): #파라미터 self, name, age print('self: ', self) self.name = name #self.속성(attribute) -> name, age 속성 self.age = age def sleep(sel..

IT_Python 2021.12.20

[파이썬기초] 클래스. class. attribute(속성)/행동(method)/객체(object)/__init__(생성자)

인간을 떠올려보자. 떠오르는 이미지는 특정화된 사람일것 인간자체를 떠올리기 어려워. 뭔가 실체화된 홍길동, 임꺽정 등등 구체화된 사람을 떠올릴 것 인간은 추상적인 타입이고, 실제로 존재하는 인간들이 객체->오브젝트 프로그래밍 관점에서 인간이라는 추상적인 타입: 클래스 데이터정보(국적, 나이) : 속성. attribute 타입이 행하는 행동 : 메소드 인간이 구체화되어 실제로 존재하는 형태. 홍길동 임꺽정 : 객체 리스트로 예를 들어보면, 파이썬으로 예를 들어보자 리스트 : 타입. 즉 클래스 속성(attribute) : 리스트 안에 items 행동(method) : append, extend.... 객체(object) : 구체적으로 메모리에 잡혀있는 구체화된 리스트 자체가 객체.(떠오르는것) => 리스트라..

IT_Python 2021.12.19

[파이썬기초] 모듈. module. import a/ from a import b/from a import */import a as aa

모듈 임포트 모듈 : 프로그래밍에 필요한 외부 라이브러리. 미리 구현해서 제공하는거. 비슷한 기능끼리 묶여있는 번들 같은 개념 불러오는것을 import. 이미 구현된 논리적 덩어리들을 모듈이라고함 그동안 사용했던 함수들 처럼, 다양한 기능들이 미리 함수로 구현되어 모듈 형태로 제공 대표적으로 추후 과정에서 사용하게 될 아래의 모듈들이 존재 requests - HTTP 요청/응답 모듈 numpy - 수치해석 모듈 pandas - 데이터 분석 모듈 #네이버 도메인의 http요청하기 import requests resp = requests.get('http://naver.com') resp.text import import를 사용하여 해당 모듈 전체를 import import math #math. + tab을..

IT_Python 2021.12.18

[파이썬기초] Lambda 함수. filter/map/reduce. 필터링/변환, 치환/연속 연산

Lambda 함수 원래 함수에 이름을 줬는데, 이름 없이도 사용가능 단일문으로 표현되는 익명함수 익명함수란 이름이 없는 구현체만 존재하는 간단한 함수를 의미 코드 상에서 한번만 사용되는 기능이 있을 때, 굳이 함수로 만들지 않고 1회성으로 만들어서 쓸 때 사용. (람다함수) sq=lambda a:a**2 #a파라미터(return없이) 입력:출력 type(sq) 결과 function (기존함수) def square2(x): return x**2 square2(5) 결과 25 #일반 x+y함수 만들기 def add1(x, y): return x + y print(add1(10,20)) print('--------') #람다로 add2 = lambda x,y:x+y #파라미터 2개니까 x,y 2개하고 : pr..

IT_Python 2021.12.17

[파이썬기초] 함수 def. 파라미터/return/multiple return/지역변수/전역변수/*args/**kwargs

* 코드의 재사용 코드를 중복을 없애는것 필요한 기능이 있으면 그 기능을 함수화해서 프로그래밍 계속 중복된 코드를 반복하지 않는것 함수? 지금까지 무심코 코드에서 사용된 많은 함수들이 존재 합니다. 예를들면, sum, len, range 같은 함수 등이 있죠. 함수란 우리가 알고있는 개념처럼 주어진 입력(input)에 대해서 의도된 출력(output)를 전달하는 역할을 합니다. 그렇다면, 하나씩 살펴보겠습니다. sum 함수는 리스트, 튜플등을 입력으로 전달하면 전체 아이템의 합을 출력으로 전달하는 역할을 합니다. len 함수는 리스트, 튜플등을 입력으로 전달하면 아이템의 개수를 출력으로 전달하는 역할을 합니다. range 함수는 정수를 입력으로 전달하면 [0, 정수) 로 이루어진 리스트를 생성하는 역할을..

IT_Python 2021.12.16

[파이썬기초] 반복문 for. for + if/enumerate/break/continue/for 중첩

for 반복문 while은 스스로 제어를 해야했다면 for는 순회가 가능한걸 자동적으로 순회할 수 있게 리스트, 문자열 등등 순회 가능한 객체를 순회하면서 값을 처리할 때 사용 아래와 같은 문법으로 사용 여기서 i는 매번 수행 될 때마다, a의 아이템으로 순차적으로 변경 됨 모든 아이템이 순회되면 for 블록 종료 # while보다는 좀 수월함. #while에는 인덱스를 넣어서 제어했고, 실수하면 무한루프가 발생 #for는 각 원소를 그때그때 가져오기때문에 a = [1, 2, 4, 3, 5] for i in a: #a를 순회하는데, 각 원소를 i에 대입하겠다 print (i, i * 2) print('for문 끝') 결과: 1 2 2 4 4 8 3 6 5 10 for문 끝 #number는 현재의 원소. ..

IT_Python 2021.12.15

[파이썬기초] 반복문. while. break/continue/무한루프

반복문의 이해 및 활용 (while) 조건문 : 특정 조건에 따라서, 실행 할지말지 반복문 : 특정 조건을 만족하는 동안에 계속 같은 코드를 반복적으로 수행 loop (반복문) 반복적인 작업을 가능하게 해주는 도구 특정 조건을 만족하는 경우 수행할 수 있음 (while) 리스트, 문자열, 튜플 등 컬렉션 타입의 아이템을 하나씩 순회하면서 사용 가능 (for) 코드 작업에서, 가장 많이 사용하는 구문 중 하나 주의할점: while을 사용할 경우, 반복을 멈추게 하는 장치가 필요 그렇지 않으면 셀이 무한히 수행되며, jupyter notebook의 재부팅이 필요 while 키워드 if와 비슷. if는 조건이 ture인 경우, 수행하고 끝. while 뒤의 조건이 True일 경우, while 코드 블록을 계속..

IT_Python 2021.12.14

[파이썬기초] 조건문 if else elif / 중첩 조건문

condition (조건문) 특정 조건을 만족하는 경우에만 수행할 작업이 있는 경우 사용 모든 조건은 boolean으로 표현 됨 (예외 사항은 아래 배울 예정) if, elif, else 키워드가 사용 조건문의 경우 if, elif, else 블록에 종속된 코드는 들여쓰기로 표현 가능 즉 아래코드에서와 같이, 조건문 아래에 들여쓰기된 2줄의 코드만이 조건문의 조건에 따라 수행될 수도, 수행되지 않을 수도 있는 코드라고 할 수 있음 들여쓰기 된 코드를 블록(block), 또는 코드블록이라고 함 python에서 모든 블록의 시작점의 마지막에는 :(콜론, colon) 추가가 필요 #파이썬 들여쓰기 중요! if 6 >= 5: #맞죠 print('6 is greater than 5') print('Yeah, it..

IT_Python 2021.12.13