본문 바로가기

전체 글81

Python - Module과 Package 파이썬에서 사용되는 모듈과 패키지에 관하여 정리한다. 모듈과 패키지 모두 지칭하는 단어만 다를 뿐이지 다른 언어들에 모두 존재하는 개념인 것 같다. Module 다른 언어와 비슷하게 main모듈로 사용할 목적인 모듈에서 다른 모듈들을 import 하여 사용한다. # main.py import test print(test.large_check(10, 5)) ################################# from test import large_check#다른 import 방법 print(large_check(10, 5))#어떤 모듈의 함수인지 알려줄 필요가 없다. # test.py def large_check(num1, num2): if num1 < num2: res = num2 elif n.. 2020. 7. 23.
Python - Class 파이썬도 당연하겠지만 Class를 사용할 수 있다. 관련된 내용을 정리해보자. 클래스 정의 예제 class Calculator: def __init__(self, id):#생성자 self.id = id#클래스 attribute(속성) def plus(self, num1, num2):#이하 클래스 method(메소드) return num1 + num2 def minus(self, num1, num2): return num1 - num2 def div(self, num1, num2): if num2 != 0: return num1 / num2 def check(self): return self.id 파이썬에서 클래스를 사용할 때는 주의할 점이 몇개있다. 클래스 이름은 첫문자를 대문자로 할 것 따르지 않았을 .. 2020. 7. 23.
Python - range와 scope range와 scope 사실 서로 별 관련은 없는 개념인데 겸사겸사 한꺼번에 정리한다. range range는 기본 제공되는 함수이다. 기본적으로 지정된 값만큼의 범위를 가진다고 이해하는게 좋다. 총 3개의 인수를 전달할 수 있고, 각각의 경우에 따른 세부 기능이 다르다. 인수 1개 - 0에서부터 인수로 입력한 숫자 - 1만큼의 범위를 가진다. 인수 2개 - 시작할 지점과 마무리 지점을 순서대로 지정한다. 시작 지점은 표시한 숫자부터, 마무리 지점은 인수 - 1 지점까지의 범위를 가진다. 인수 3개 - 인수 2개와 거의 동일하지만 3번째 인수의 값만큼 값을 건너뛰는 범위를 가진다. 사실 인수 2개를 사용하는 방법에도 기본값인 1이 적용된다. for i in range(4): print(i, end=', .. 2020. 7. 22.
Python - Decorator 파이썬에 있는 데코레이터라는 개념에 대해서 간단하게 정리해보자. closure 개념과 관련된 기능으로 어떤 함수가 실행되기 전에 먼저 실행되어야만 하는 조건을 가진 함수가 있다면 데코레이터를 적용하기 위해 만들어진 상황이다. def decorator_function(original_function): def wrapper_function(): print("함수가 호출되기 전") return original_function() return wrapper_function @decorator_function #1 def display_1(): print("display1 실행") @decorator_function #2 def display_2(): print("display2 실행") display_1() .. 2020. 7. 22.
위코드 Pre Course - 절대경로와 상대경로 (2) calculator 이라는 이름의 패키지를 한번 직접 만들어보면서 import 진행할 때 절대경로, 상대경로 둘 중 어떤 방식을 선택했는지, 생성한 파일은 어떤 역할을 하는지 등을 정리해본다. 예제 패키지의 구조 main.py # absoulte path # from calculator.add_and_multiply import add_and_multiply # relative path from .calculator.add_and_multiply import add_and_multiply if __name__ == '__main__': print(add_and_multiply(1,2)) add_and_multiply.py from .multiplication import multiply # from ca.. 2020. 7. 22.
위코드 Pre Course - 절대경로와 상대경로 (1) 주어진 Assignment 문제에 맞게 정리를 해보고 있다. sys.modules와 sys.path의 차이점을 서술 sys.modules 이미 로드되어있는 모듈에 이름을 매핑하는 딕셔너리 강제로 다시 로드할 수 있도록 조작할 수 있다. 딕셔너리형이라고 내부의 요소들을 마음대로 수정할 수는 없고, 필수적인 부분을 건들경우 파이썬 전체에 문제가 생길 수 있다. sys.path 모듈의 검색 경로를 지정하는 문자열의 리스트 환경변수와 설치시에 정한 기본값에 종속된다. 자유롭게 내부 데이터를 수정할 수 있지만 자료형이 문자열 또는 바이트 데이터로 한정된다. sys.path와 sys.modules의 차이점 sys.path는 print 결과가 보여주듯이 모듈이 위치한 경로를 가지고 있을 뿐이고 리스트형의 데이터이기 .. 2020. 7. 22.
위코드 Pre Course - Python 1 다행히도 오늘 진행한 repl.it 내용은 간단한 부분이 많아서 특별히 따로 정리할 내용이 많지는 않다. 파이썬 정수 나누기 //연산자로 수행한다. 간단한 연산자지만 있는 줄 몰랐다;;; 파이썬 제곱 연산 ** 연산을 이용해서 수행한다. 이것도 정수 나누기와 동일하게 있는 줄 몰랐음;;; 제곱 같은 건 라이브러리를 쓰거나 구현하거나 해야 할 줄 알았다. Literal String Interpolation print 문을 사용할 때 앞에 f 를 추가해준다. print(f "내용~~ 중간에 {변수}~~ {변수}~~") 식으로 사용해서 문자열 중간중간에 변수 속 데이터를 끼워넣어서 출력할 수 있다. 파이썬의 논리 연산자 &&, || 같은 기호가 아닌 and, or 등 그냥 단어를 사용하면 연산 가능 이제 파이.. 2020. 7. 21.
위코드 Pre Course - 파이썬의 인수(Argument) 파이썬에서 사용되는 인수에 대해서 정리하고 과제를 수행한다. 기본 인수(Positional Argument) 기본적인 사용방법으로 정의한 순서에 맞게 인수를 입력하는 방법 def basic_Arg(name, age): print(name) print(age) basic_Arg("왕민욱", 27) #"왕민욱" 문자열이 name으로, 27이 age로 할당된다. 키워드 인수(Keyword Argument) 함수를 호출할 때 어떤 인수에 데이터를 할당할 지 명시해주는 방법 def keyword_Arg(name, age): print(name) print(age) keyword_Arg(name="왕민욱", age=27) keyword_Arg(age=27, name="왕민욱")#두 호출 모두 정상적으로 작동한다. .. 2020. 7. 21.
위코드 Pre Cource - Semantic Web과 Tag 마지막 과제로 전체 내용에 대한 복습과 함께 다음 질문을 받았다. "사이트에 이미지를 넣는 방법은 두 가지가 있습니다. 태그를 사용하는 것과 태그에 background-image 속성을 추가하는 것. 두 가지 방법의 차이점과 각각 어떠한 경우에 사용하면 좋은지 설명해보세요." 흠... 잘 모르겠다. 일단 태그를 사용해서 이미지를 표시하던, background-image 속성을 사용해서 이미지를 표시하던 일단 이미지는 보이니까 기능적으로 어떤 차이점이 있는지를 우선적으로 알아보았다. 이미지 태그에서 사용 할 수 있는 옵션은 src, alt, title, longdesc, width, height 정도가 있다. src는 말그대로 필요한 이미지 파일의 링크 또는 디렉토리를 명시한다. 사실상 필수로 써야 함 a.. 2020. 7. 21.