Python

    [python][basic] module, package 이해하기

    module이란? 함수나 변수 또는 클래스를 모아 놓은 파일로, 이미 만들어져 있고 안정성이 검증된 함수들을 성격에 맞게 하나의 파이썬 파일에 묶어 놓은 것을 모듈이라고 한다. 이미 만들어진 모듈이 있다면 또 만들기보다는 이를 활용하면 보다 효율적이고 빠르게 개발할 수 있기 때문에 우리는 다른 사람들이 이미 만들어 놓은 모듈을 사용할 수도 있고 우리가 직접 만들어 재사용할 수도 있다. 외부 모듈에 있는 함수들을 활용하려면 이 모듈을 먼저 우리 코드로 가져와야하는데 이를 모듈을 import한다라고 말한다. import time print('5초간 프로그램을 정지합니다.') time.sleep(5) print('5초가 지나갔습니다.') 위 코드는 파이썬 내장 모듈인 time 모듈을 import키워드를 통해 ..

    [python][basic] 함수 return값 이해하기

    return값 함수는 값을 입력받아(input) 어떠한 처리를 통해서 결과 값(output)을 내놓고 종료된다. 함수가 수행되고 난 후 그 함수에서 처리한 결과값을 반환(리턴)하고 종료하는 경우가 많은데 이를 return값이라 한다. 함수는 한 개 이상의 값을 리턴할 수 있으며, 리턴값이 없을 수도 있다. 리턴값이 없는 경우는 return없이 함수 코드를 마무리 해도 된다. 리턴 값이 여러개인 경우에는 튜플로 리턴값을 만들어 리턴한다. def reverse(x,y,z): return z,y,x ret = reverse(1,2,3) print(ret) # (3,2,1)이 출력됨 r1, r2, r3 = reverse('a','b','c') print(r1); print(r2); print(r3) #'c','..

    [python][basic]지역변수 vs 전역변수 (global) 이해하기

    지역변수와 전역변수 구분 기준은 무엇일까? 변수의 유효한 범위가 기준이다. 지역변수 : 함수 내에서만 유효한 변수 (함수를 벗어나면 더 이상 유효하지 않음), 함수 내부에서 선언 전역변수 : 코드 전반에 걸쳐 유효한 변수, 함수 바깥 위치에서 선언, global키워드 사용 param = 10 strdata = '전역변수' def func1(): strdata = '지역변수' print(strdata) def func2(param): param = 1 def func3(): global param param = 50 func1() # '지역변수' 출력됨 print(strdata) # '전역변수' 출력됨 print(param) # 10 출력됨 func2(param) print(param) # 10 출력됨 f..

    [python][basic]함수 인자 이해하기 (매개변수, 가변 인자 *args, **kwargs)

    함수 인자란? 인자(Argument) : 전달인자. 함수에서 받는 값중 실제로 값을 가지고 오는 input의 값 블로그를 보다보면 인자와 매개변수에 대해 정리한 글들이 많다. 인자와 매개변수의 차이가 무엇인지 명확하게 아는 것은 중요하다. 그 차이에 집중해서 다시 정의하자면 아래와 같이 이해할 수 있다. 코드로 보면 이해가 더 쉽다. 인자( Argument ) 는 어떤 함수를 호출시에 전달되는 값을 말하고 매개 변수( Parameter ) 는 그 전달된 인자를 받아들이는 변수다. 아래 코드에서 매개변수는 t1, t2이고, 인자는 함수호출시에 전달하는 'hello', 'python'가 될 것이다. def add_txt(t1, t2='파이썬'): print(t1+" : "+t2) add_txt('hello'..

    [python][basic] 파이썬 코딩 컨벤션 정리

    코딩 컨벤션(coding convention)이란? 코딩 컨벤션은 코드를 작성할 때 코드를 읽고 협업하며 관리할 때 효율성을 증진시키기 위해서 어떤 일관된 코딩 스타일을 사전에 약속하는 것이다. 이러한 코딩 스타일 규약은 지키지 않아도 실행 결과에는 영향을 미치지 않는다. 단지 어떤 일관성이 있는 기준을 두어 통일하면 더 나은 품질의 코드를 작성하는데 그리고 협업할 때의 불편함을 줄이는 데에 도움이 되기 때문이다. 코딩 컨벤션은 함께 일하는 팀 단위마다 정하고 사용해도 되지만 일반적으로 같은 언어를 공유하는 공동체에서 제공하는 컨벤션 가이드가 존재한다. (파이썬의 경우 PEP 8) Python Enhance Proposal(PEP) PEP중에서도 PEP 8이 파이썬 언어의 컨벤션에 대한 제안서이다. ww..

    [python][basic] 파이썬 외장함수

    pickle¶ 객체의 형태를 그대로 유지하면서 파일에 저장하고 불러올 수 있다 dump를 통해 데이터 객체 저장 load를 통해 불러오기 In [2]: import pickle f=open("pickle.txt","wb") data={1:'python',2:'java'} pickle.dump(data,f) f.close() In [3]: f=open("pickle.txt",'rb') data=pickle.load(f) print(data) {1: 'python', 2: 'java'} os¶ os module은 환경 변수나 디렉터리, 파일 등의 OS 자원을 제어할 수 있게 도와주는 모듈 os.environ (내 시스템의 환경 변수 값을 알고 싶을 때)¶ 시스템은 제각기 다른 환경변수 값을 갖는다 os.en..

    [python][basic] PSL-sys module

    sys module: python library 중 하나이다. python library: 전 세계 파이썬 사용자들이 만든 유용한 프로그램을 모아 놓은 것. 그 중에서도 sys 모듈은 자주 사용됨 PSL: python standard library 우리는 이를 파이썬 외장함수라고 부른다 sys 파이썬 인터프리터가 제공하는 변수와 함수를 직접 제어할 수 있는 방법을 제공하는 모듈 명령 행에서 인수 전달하기 -sys.args python명령어 뒤의 모든 것들이 공백을 기준으로 나뉘어서 sys.argv리스트의 요소가 된다 확인해보기 위한 예제는 아래와 같다 #argv_test.py import sys print(sys.argv) 같은 디렉토리에 명령 프롬프트 창에서 python argv_test.py you ..

    [python][basic] 내장함수 Built-in function2

    built-in-function¶ len list map max, min oct open ord pow range round sorted str sum tuple type zip isinstance¶ isinstance(object, class) 입력: 첫번째 인수로 인스턴스, 두번째 인수로 클래스 이름 반환: 인스턴스가 그 클래스의 인스턴스인지를 판단하여 참이면 True, 거짓이면 False In [1]: class Person:pass #아무기능없는 person클래스 생성 a=Person() #인스턴스 생성 isinstance(a,Person) Out[1]: True In [2]: b=3 isinstance(b,Person) Out[2]: False len¶ len(s) 입력값의 길이(요소의 전채 개..

    [python][basic] 내장함수 Built-in function 1

    jupyter notebook에 정리한 내용 Built-in function 1¶ 파이썬에서는 자주 사용되는 함수를 내장 함수(Built-in Functions)라는 이름으로 기본적으로 제공 외부 모듈과는 달리 import가 필요하지 않기 때문에 아무런 설정 없이 바로 사용 가능한 함수들 In [3]: from IPython.core.display import display, HTML display(HTML("")) abs¶ 입력 : 숫자 반환값 : 절댓값 In [1]: print(abs(3)) print(abs(-3)) print(abs(-3.14)) 3 3 3.14 all¶ 입력 : 반환 가능한 (iterable) 자료형 x iterable 자료형 : list, tuple, string, dictio..