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)) >> 우리가 리스트를 만들 때는 사실 클래스를 사용하여 객체를 만든 것이었다!!
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 함수의 종료를 기본적으로 명시한다.
python - ImportError: attempted relative import with no known parent package
2021. 1. 8. 17:14
📌 Python
ImportError: attempted relative import with no known parent package m.blog.naver.com/wideeyed/221839634437 [Python] relative import with package info 파이썬에서 디렉토리를 이용하여 패키지를 관리할 수 있습니다.그런데 하위 패키지만 사용하지 않고 상위 ... blog.naver.com python 3.8 버전 stackoverflow.com/questions/60593604/importerror-attempted-relative-import-with-no-known-parent-package ImportError : Attempted relative import with no known p..
Python - decorator
2021. 1. 6. 12:10
📌 Python
Python 으로 작성된 Opensource 의 코드들을 보다 보면, 아래와 같이 @ 로 시작하는 구문 들을 볼 수 있다. @decorator_ def function(): print "what is decorator?" decorator를 한마디로 얘기하자면, 대상 함수를 wrapping 하고, 이 wrapping 된 함수의 앞뒤에 추가적으로 꾸며질 구문들을 정의해서 손쉽게 재사용 가능하게 해주는 것이다. (무슨 말이야?) Decorator는 어떤 경우에 쓰는건가? 코딩을 하다 보면 종종 이런 경우가 있다. 메인 구문이 있고, 여기에 부가적인 구문을 추가하고 싶을때 말이다. 그리고 이 부가적인 구문을 반복해서 사용하고 싶은 경우도 있다. 이때 부가적인(그리고 반복적인) 작업을 decorator 로 선언..
python - pytest
2021. 1. 6. 10:51
📌 Python
# calculator.py class Calculator(object): """Calculator class""" def __init__(self): pass @staticmethod def add(a, b): return a + b @staticmethod def subtract(a, b): return a - b @staticmethod def multiply(a, b): return a * b @staticmethod def divide(a, b): return a / b 이 계산기 클래스의 모든 함수에 대해서 테스팅 코드를 작성해야 한다면, 다음과 같이 작성할 수 있을 것입니다.
python - assertion
2021. 1. 6. 10:47
📌 Python
파이썬을 사용한 프로젝트를 진행하거나 코드를 읽다보면 종종 Assertion 구문을 만나곤 합니다. 정확하게 이 구문이 언제 사용되는지 혹은 어떻게 사용해야 하는지 알지 못하고 넘어가곤 했습니다. 읽은 책의 내용을 토대로 Assertion 구문을 언제 그리고 어떻게 사용하는지 알아보겠습니다. Assertion assert는 뒤의 조건이 True가 아니면 AssertError를 발생합니다. 왜 assert가 필요한 것일까? 어떤 함수는 성능을 높이기 위해 반드시 정수만을 입력받아 처리하도록 만들 수 있다. 이런 함수를 만들기 위해서는 반드시 함수에 정수만 들어오는지 확인할 필요가 있다. 이를 위해 if문을 사용할 수도 있고 '예외 처리'를 사용할 수도 있지만 '가정 설정문'을 사용하는 방법도 있다. 아래 ..
python - 이상형이 뭐에요?
2020. 9. 9. 22:59
📌 Python
파이썬에서는 모든 함수를 def 라고 만들고 한줄 들여쓴 상태로 시작한다. 다시 한번 강조하지만 어디서 함수가 시작하고 끝나는지 구분하기 위해선 꼭 들여쓰기를 해줘야한다. def make_dolcelatte(): print("1. 얼음을 넣는다.") print("2. 연유를 30ml 넣는다.") print("3. 찬 우유를 넣는다.") print("4. 에스프레소샷을 넣는다.") def make_blueberry_smoothie(): # 괄호와 콜론을 꼭 써야한다 print("1. 블루베리 20g을 넣는다.") print("2. 유유를 300ml 넣는다.") print("3. 얼음을 넣는다.") print("4. 믹서기에 간다.") def make_simple_latte(): print("1. 커피를 넣..
python - 리스트, 딕셔너리, 집합
2020. 9. 9. 21:55
📌 Python
리스트, 딕셔너리 for x in range(30): print(x) foods = ["된장찌개", "피자", "제육볶음"] for x in range(3): print(foods[x]) for x in foods: print(x) information = {"고향":"수원", "취미":"영화관람", "좋아하는 음식":"국수"} for x, y in information.items(): print(x) print(y) 30개의 수를 >> x 안에 넣고 >> 30번 반복한다. food를 >> x 안에 넣고 >> 하나씩 반복한다. 딕셔너리는 Key와 Value, 총 2개이므로 x,y 라는 2개의 변수에 넣어야 한다. 그리고 .items() 를 추가해 준다. 집합 리스트는 각 리스트마다 순서가 있다. 그러나 ..