Python - 복소수 함수 만들기
2021. 1. 21. 09:22
📌 Python
import math class Complexnumber: def __init__(self, real, img): self.x = real self.y = img def __add__(self, pt): new_x = self.x + pt.x new_y = self.y + pt.y return Complexnumber(new_x, new_y) def __sub__(self, pt): new_x = self.x - pt.x new_y = self.y - pt.y return Complexnumber(new_x, new_y) def __mul__(self, factor): if type(factor) == int: return Complexnumber(self.x * factor, self.y * facto..
Python - 기본 타입으로 함수 만들기
2021. 1. 21. 08:45
📌 Python
__str__ class point: def __init__(self,x,y): self.x = x self.y = y def __str__(self): return '({}, {})'.format(self.x, self.y) p1 = (1,2) print(p1) __str__ 을 통해 우리가 만든 커스텀한 class 역시 파이썬은 기본 타입처럼 자연스럽게 쓸 수 있다. class point: def __init__(self,x,y): self.x = x self.y = y def add(self, pt): new_x = self.x + pt.x new_y = self.y + pt.y return point(new_x, new_y) def __str__(self): return '({}, {})'.for..
Python - method override, super
2021. 1. 20. 20:50
📌 Python
method override 부모 클래스의 method를 재정의(override) 하위 클래스(자식 클래스) 의 인스턴스로 호출시, 재정의된 메소드가 호출됨 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..
Python - inheritance(상속)
2021. 1. 20. 20:37
📌 Python
Class Inheritance (상속) 기존에 정의해둔 클래스의 기능을 그대로 물려받을 수 있다. 기존 클래스에 기능 일부를 추가하거나, 변경하여 새로운 클래스를 정의한다. 코드를 재사용할 수 있게된다. 상속 받고자 하는 대상인 기존 클래스는 (Parent, Super, Base class 라고 부른다.) 상속 받는 새로운 클래스는(Child, Sub, Derived class 라고 부른다.) 의미적으로 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(se..
Python - method
2021. 1. 20. 20:23
📌 Python
mehtod 멤버함수라고도 하며, 해당 클래스의 object에서만 호출가능 메쏘드는 객체 레벨에서 호출되며, 해당 객체의 속성에 대한 연산을 행함 {obj}.{method}() 형태로 호출됨 class Counter: def __init__(self): self.num=0 # Counter type은 항상 num이라는 데이터를 가지며 0으로 초기화된다. c1 = Counter() print(c1.num) >> 0 class Counter: def __init__(self): self.num=0 # Counter type은 항상 num이라는 데이터를 가지며 0으로 초기화된다. def print_current_value(self): print('현재 값은 :', self.num) c1 = Counter() ..
Python - __init__
2021. 1. 20. 18:01
📌 Python
init(self) 생성자, 클래스 인스턴스가 생성될 때 호출됨 self인자는 항상 첫번째에 오며 자기 자신을 가리킴 이름이 꼭 self일 필요는 없지만, 관례적으로 self로 사용 생성자에서는 해당 클래스가 다루는 데이터를 정의 이 데이터를 멤버 변수(member variable) 또는 속성(attribute)라고 함 클래스를 정의할 때 가장 먼저 정의하는 메쏘드이다. 클래스가 다루고자하는 데이터를 명시한다. 객체가 생성되는 시점에서 불리는 메쏘드. 가장 첫번째로 불리는 함수이다. class Person: def __init__(self): print(self, 'is generated') p1 = Person() p2 = Person() >> is generated >> is generated 객체를..
Python - class, object
2021. 1. 20. 17:15
📌 Python
Class 와 Object 인간이 구체화 되면 객체(어머니, 아버지)가 된다. class 를 구체화 하면 object가 된다. class : 추상적인것 object : 구체적인것 파이썬에서 존재하는 타입은 class로 정의된다. list, tuple 등 class는 type을 정의하는 것일 뿐이다. bob = Person() # bob 객체 생성하기 a = list() print(type(bob), type(a)) >> 우리가 리스트를 만들 때는 사실 클래스를 사용하여 객체를 만든 것이었다!!
Read count
2021. 1. 20. 14:47
🧬 Bio/생명정보학
Read count는 어떤 DNA fragment에 포함된 base sequence 들을 말합니다. 사용하는 예로는 두 group간의 read counts 차이들을 통해서 얼마나 gene 들이 differentially expressed 된지 알 수 있습니다.
프로그래머스 2단계 - 영어 끝말잇기
2021. 1. 20. 09:44
⏰ 코딩테스트/프로그래머스
문제 설명 1부터 n까지 번호가 붙어있는 n명의 사람이 영어 끝말잇기를 하고 있습니다. 영어 끝말잇기는 다음과 같은 규칙으로 진행됩니다. 1번부터 번호 순서대로 한 사람씩 차례대로 단어를 말합니다. 마지막 사람이 단어를 말한 다음에는 다시 1번부터 시작합니다. 앞사람이 말한 단어의 마지막 문자로 시작하는 단어를 말해야 합니다. 이전에 등장했던 단어는 사용할 수 없습니다. 한 글자인 단어는 인정되지 않습니다. 다음은 3명이 끝말잇기를 하는 상황을 나타냅니다. tank → kick → know → wheel → land → dream → mother → robot → tank 위 끝말잇기는 다음과 같이 진행됩니다. 1번 사람이 자신의 첫 번째 차례에 tank를 말합니다. 2번 사람이 자신의 첫 번째 차례에 ..
Python - import
2021. 1. 19. 21:45
📌 Python
import import를 사용하여 해당 모듈 전체를 import 할 수 있다. import math math.pi from import 해당 모듈에서 특정한 타입만 import 할 수 있다. from math import pi from math import cos from math import * 모듈 내의 모든 기능을 import 이것은 권장하지 않는다. 왜냐하면 각각의 모듈내에서 이름이 겹칠 수 있기 때문이다. 따라서 전체를 import 하는 것은 지양해야 한다. as from math as m m.cos m.sin
Python - lambda 함수
2021. 1. 19. 20:06
📌 Python
lambda 한줄로 표현되는 익명 함수이다. return이라는 값 없이 표현되는 함수 코드 상에서 한번만 사용되는 기능이 있을 때, 굳이 함수로 만들지 않고 일회성으로 사용한다. 공간 낭비 없이 한줄로 쓰기 위함이다. filter(함수, 리스트) 리스트를 주어진 조건에 따라서 걸러내는 함수 map mapping 시켜서 새로운 리스트를 만드는 것 reduce 차례대로 앞 2개의 원소를 가지고 연산. 연산의 결과가 또 다음 연산의 입력으로 진행됨. 따라서 마지막까지 진행되면 최종 출력은 한개의 값만 남게 됨
Python - variable length argument(가변길이 인자)
2021. 1. 19. 18:05
📌 Python
Arguments 전달되는 파라미터가 고정적이지 않을 경우에 사용한다. def test(*args): for item in args: print(item) test(10,20,30,40) print() 함수처럼 매개변수를 여러개 넣을 수 있게 하는 것 대개 *args 로 표시한다. 튜플로 인식한다. 키워드 파라미터 : Key Word Arguments 딕셔너리로 인식한다. def test2(**kwargs): print(kwargs) test2(a=1, b=2, c=3, d=4, name='Bob') def test2(**x): for key, value in x.items(): print('key:', key, ',value:', value) test2(a=1, b=2, c=3, d=4, name='B..
Python - local 변수, global 변수
2021. 1. 19. 17:51
📌 Python
a = 10 # global 변수 b = 20 def test(a, b): print(a, b) # 이때 a,b는 local 변수 return # 여기서 local 변수는 사라진다. test(30, 40) print(a, b)
Python - 기본 파라미터
2021. 1. 19. 17:50
📌 Python
def add(x, y, z=5): a = x + y + z return a print(add(10, 20, 30)) print(add(10, 20)) 기본값 z가 정해져 있다. Default parameter 사용 시 주의 점 디폴트 파라미터 뒤에 일반 파라미터가 위치할 수 없음 e.g) 올바른 예 def test(a, b, c = 1) def test(a = 1, b = 1, c = 3) def test(a, b = 1, c = 2) e.g) 올바르지 않은 예 def test(a, b = 1, c) def test(a = 1, b = 1, c) def test(a = 1, b, c) return 함수의 종료를 기본적으로 명시한다.
프로그래머스 2단계 - 소수 만들기
2021. 1. 19. 10:11
⏰ 코딩테스트/프로그래머스
문제 설명 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수를 완성해주세요. 제한사항 nums에 들어있는 숫자의 개수는 3개 이상 50개 이하입니다. nums의 각 원소는 1 이상 1,000 이하의 자연수이며, 중복된 숫자가 들어있지 않습니다. 입출력 예 입출력 예 설명 입출력 예 #1 [1,2,4]를 이용해서 7을 만들 수 있습니다. 입출력 예 #2 [1,2,4]를 이용해서 7을 만들 수 있습니다. [1,4,6]을 이용해서 11을 만들 수 있습니다. [2,4,7]을 이용해서 13을 만들..