달력

9

« 2020/9 »

 


Exception 계층도 (Exception hierarchy)

https://docs.python.org/3.6/library/exceptions.html#exception-hierarchy



'Development > Python' 카테고리의 다른 글

로그 수준(level)  (0) 2020.03.11
__init__.py  (0) 2020.03.11
Exception 계층도 (Exception hierarchy)  (0) 2020.03.11
예외의 종류  (0) 2020.03.11
shutil 모듈  (0) 2020.03.10
types  (0) 2020.03.10
Posted by codedragon codedragon

댓글을 달아 주세요


 

 

예외의 종류

NameError

·       선언하지 않은 변수 'x'에 접근

·       NameError: name 'x' is not defined

 

 

 

 

 

ZeroDivisionError

·       '0'으로 나눔

·       ZeroDivisionError: division by zero

 

 

 

 

 

IndexError

·       리스트의 접근 가능한 인덱스를 넘음

·       시퀀스 자료형이 범위를 벗어난 인덱스 참조 요구시에 발생시킴

·       리스트, 튜플, 문자열등에서도 동일한 조건에서 발생됨

·       IndexError: list index out of range

 

 

 

 

 

TypeError

·       지원하지 않는 연산(정수를 문자열로 나눔)

·       TypeError: unsupported operand type(s) for /: 'int' and 'str'

 

 

 

 

 

ValueError

·       입력받은 문자열 숫자를 숫자자료형인 int float 변환할 없을 발생됩니다.

·       , 숫자로 변환할 없는 문자열을 변환하려고 할때 발생합니다.

·       ValueError: invalid literal for int() with base 10: 'a1000'

 


'Development > Python' 카테고리의 다른 글

__init__.py  (0) 2020.03.11
Exception 계층도 (Exception hierarchy)  (0) 2020.03.11
예외의 종류  (0) 2020.03.11
shutil 모듈  (0) 2020.03.10
types  (0) 2020.03.10
tempfile  (0) 2020.03.10
Posted by codedragon codedragon

댓글을 달아 주세요

2020. 3. 10. 18:23

shutil 모듈 Development/Python



 

 

shutil 모듈

파일을 복사해 주는 파이썬 모듈입니다.

 

 

shutil.copy(src, dst)

 

src라는 이름의 파일을 dst로 복사합니다.

만약 dst가 디렉터리 이름이라면 src라는 파일 이름으로 dst라는 디렉터리에 복사하고 동일한 파일 이름이 있을 경우에는 덮어씁니다.

 

 

 


'Development > Python' 카테고리의 다른 글

Exception 계층도 (Exception hierarchy)  (0) 2020.03.11
예외의 종류  (0) 2020.03.11
shutil 모듈  (0) 2020.03.10
types  (0) 2020.03.10
tempfile  (0) 2020.03.10
임포트와 직접 실행시 분기 수행 방법  (0) 2020.03.10
Posted by codedragon codedragon

댓글을 달아 주세요

2020. 3. 10. 18:22

types Development/Python


 

 

types

파이썬 전체 자료형의 종류를 알아볼때 사용하는 파이썬 내장 모듈입니다.

 

 

 

 

# 클래스 이름을 문자열로 리턴

자료형.__class__.__name__

 

__class__

객체의 클래스 리턴

__name__

문자열로 리턴

__class__.__name__

클래스 이름을 문자열로 리턴

 

 



'Development > Python' 카테고리의 다른 글

예외의 종류  (0) 2020.03.11
shutil 모듈  (0) 2020.03.10
types  (0) 2020.03.10
tempfile  (0) 2020.03.10
임포트와 직접 실행시 분기 수행 방법  (0) 2020.03.10
Counter()  (0) 2020.03.10
Posted by codedragon codedragon

댓글을 달아 주세요

2020. 3. 10. 18:19

tempfile Development/Python


 

 

tempfile

파일을 임시로 만들어서 사용할 때 유용한 내장 모듈입니다.

 

 

 

메소드

설명

tempfile.mktemp()

중복되지 않는 임시 파일의 이름을 무작위로 만들어서 리턴합니다.

 


'Development > Python' 카테고리의 다른 글

shutil 모듈  (0) 2020.03.10
types  (0) 2020.03.10
tempfile  (0) 2020.03.10
임포트와 직접 실행시 분기 수행 방법  (0) 2020.03.10
Counter()  (0) 2020.03.10
모듈 임포트  (0) 2020.03.10
Posted by codedragon codedragon

댓글을 달아 주세요


 

 

 

임포트와 직접 실행시 분기 수행 방법

·       __name__속성을 이용하여 모듈이 임포트되었을 또는 직접 실행했을   다르게 동작하도록 있습니다.

·       __name__속성을 이용한 구분방법은 모듈을 개발할 많이 사용합니다. 모듈을 수정하거나 코드를 추가할 마다 임포트해서 테스트 코드를 수행하는 것보다 직접 실행해서 테스트를 수행하게 되면 바로 테스트 결과를 확인할 있습니다.

 

 

#모듈이 직접 실행 되었을 때

if __name__ == '__main__':

   print ("모듈을 직접 실행")

else:

   print ("모듈을 임포트하여 실행")

  

 

 

 


'Development > Python' 카테고리의 다른 글

types  (0) 2020.03.10
tempfile  (0) 2020.03.10
임포트와 직접 실행시 분기 수행 방법  (0) 2020.03.10
Counter()  (0) 2020.03.10
모듈 임포트  (0) 2020.03.10
패키지 (Package)  (0) 2020.03.10
Posted by codedragon codedragon

댓글을 달아 주세요

2020. 3. 10. 17:41

Counter() Development/Python


 

Counter()

·       {collections} 모듈의 메소드입니다.

·       데이터의 개수를 사용합니다.

·       문자열을 입력했을 경우 {문자 : 개수}의 딕셔너리 형태로 값을 반환합니다.

 

from collections import Counter 

class collections.Counter([iterable-or-mapping])

 

 

http://bit.ly/2NYRWPY

 

 

 

 

Counter 객체의 멤버 메소드

method

description

elements()

·       입력된 값의 요소에 해당하는 값을 풀어서 반환합니다.

·       요소는 무작위로 반환하며, 요소 수가 1보다 작을 경우 elements는 이를 출력하지 않는다.

·       elements() 대소문자를 구분합니다.

·       sorted()를 이용하여 정렬해줄 수 있습니다. sorted(c.elements())

 

most_common(n)

·       데이터의 개수가 많은 순으로 정렬된 배열을 리턴합니다.

·       입력된 값의 요소들 중 빈도수(frequency)가 높은 순으로 상위 n를 리스트(list) 안의 튜플(tuple) 형태로 반환합니다.

·       n을 입력하지 않은 경우, 요소 전체를 [('', 개수)]의 형태로 반환합니다.

subtract()

·       요소를 추출합니다.

·       요소가 없는 경우에는 음수의 값을 반환합니다.

update()

·       Counter의 값을 갱신해 줍니다.

·       딕셔너리의 update()와 비슷하지만 입력값을 문자열 형태로도 입력 가능합니다.

 

 


'Development > Python' 카테고리의 다른 글

tempfile  (0) 2020.03.10
임포트와 직접 실행시 분기 수행 방법  (0) 2020.03.10
Counter()  (0) 2020.03.10
모듈 임포트  (0) 2020.03.10
패키지 (Package)  (0) 2020.03.10
빈 라인 추가 문제 해결  (0) 2020.03.09
Posted by codedragon codedragon

댓글을 달아 주세요


 

 

모듈 임포트

·       import는 이미 만들어진 파이썬 모듈을 사용할 수 있게 해주는 명령어입니다.

·       모듈 안의 어트리뷰트 (attribute; 함수, 데이터)들을 사용하려면 임포트를 해야 합니다.

·       Import 구문은 어디에서나 사용 가능 합니다.(함수, 제어문 내부에서도 import 있습니다.)

·       import는 현재 디렉터리에 있는 파일이나 파이썬 라이브러리가 저장된 디렉터리에 있는 모듈만 불러올 수 있습니다.

 

 

 

import <모듈명>

·       기본적인 임포트 방법

·       모듈이름은 modulename.py에서 .py라는 확장자를 제거한 modulename 만을 가리킵니다. , 모듈명 .py파일의 파일명과 일치합니다.

 

 

 

<모듈명>.멤버

·       '모듈명.멤버' 형식으로 모듈 안의 데이터나 함수를 사용 할 수 있습니다.

 

 

 

 

 

 

모듈 임포트 다양한 방법

모듈을 임포트 하는 방법은 import <모듈명> 방법 이외에도 아래와 같이 다양한 방법이 있습니다.

 

from <모듈명> import <모듈함수>

from <모듈> import <어트리뷰트>

·       하나의 모듈 안에는 여러 함수들이 존재할 수 있는데, 이 중 하나의 함수만을 불러 사용하기 위해서는 "from 모듈명 import 함수명"으로 표현후 사용할 수 있습니다.

·       from...import... 방식으로 import 된 함수는 호출시 "모듈명.함수명"이 아니라 직접 "함수명"만으로 바로 사용 있습니다.


 

from modulename import union

result = union([1, 3, 5, 7], [2, 4, 6, 9])

print(result)

form modulename import sum

form modulename import multi

 

 

 


 

from <모듈명> import (모듈함수1, 모듈함수2)

·       하나의 모듈 안에 있는 여러 함수를 사용하기 위해 from... import (함수1, 함수2) 와 같이 import 뒤에 사용할 함수를 나열할 수 있습니다.

·       콤마(,)로 구분하여 필요한 함수를 여러개 불러와 사용할 수 있습니다.

 

modulename 있는  sum, multi라는 여러개의 메소드를 사용할 경우 사용합니다.

form modulename import (sum, multi)

 

 

 


 

from <모듈> import *

·       * 문자는 '모든 ' 의미하며 modulename.py의 모든 함수를 가져와서 사용하겠다는 의미입니다.

·       __ 시작되는 어트리뷰트(속성) 제외하고 모두 로딩합니다.

 

from modulename import *

from modulename import *

result = union([1, 3, 5, 7], [2, 4, 6, 9])

print(result)

 

 

 



import <모듈> as <별칭>

·       <모듈> 이름을 <별칭>으로 변경하여 임포트합니다.

·       모듈이름이 길거나 어떤 모듈을 다른 이름으로 참고하고자할때 이용하면 좋습니다.

 

import modulename as testset

result = testset.union([1, 3, 5, 7], [2, 4, 6, 9])

print(result)

 

 

 

 

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

 

패키지 (Package)

·       라이브러리(Library)

·       여러 모듈들을 한데 묶어서 정리해 놓은 구조로 물리적으로 여러 모듈 파일을 모아 놓은 디렉토리에 해당합니다.

·       디렉토리를 이용해서 모듈을 관리하며, 이때 디렉토리를 패키지라고 합니다.

·       모듈은 하나의 .py 파일을 가리키며, 패키지는 이러한 모듈들을 모은 것입니다.

·       파이썬을 설치할 때 함께 설치되는 패키지를 기본 패키지하고 하며 이외의 패키지는 파이썬을 설치한 후에 별도로 설치해야 사용할 있습니다.

 

 

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

 

 

라인 추가 문제 해결

윈도우즈의 경우 {csv} 모듈에 데이터를 쓸 때 각 라인 뒤에 빈 라인이 추가되는 문제가 발생합니다. 이를 없애기 위해서는 파일을 open 할 때 newline='' 와 같은 옵션을 지정해서 파일을 오픈해야 합니다.

 

구분

라인 추가 문제 해결 방법

파이썬 3

파일을 open 할 때 newline='' 와 같은 옵션을 지정합니다.

파이썬 2

 newline 옵션 없이 바이너리 모드로 오픈해야 합니다.

 

 


Posted by codedragon codedragon

댓글을 달아 주세요