본문 바로가기

프로그래밍언어/Python

ch05. 파이썬 날개달기 (내장함수, 라이브러리)

반응형

5. 내장함수

    - abs(x): x의 절대값을 반환한다.

    - all(x): iterable한 변수 x를 인수로 받아서, x의 모든 요소가 True인지 여부를 반환해준다.

    - any(x): iterable한 변수 x의 요소 중 하나라도 True가 있는 경우 True를 반환해준다.

    - chr(x): ASCII 값 x를 입력받아서 해당하는 문자를 출력한다.

    - ord(x): 입력받은 문자 x의 ASCII 코드를 반환해준다.

    - dir(x): 객체 x가 가지고 있는 변수나 함수를 보여준다. list나 dict 객체의 변수, 함수 등을 보여준다.

    - divmod(a, b): a를 b로 나눈 몫과 나머지를 튜플 형태로 반환한다.

    - enumerate(x): 순서가 있는 자료형(리스트, 튜플, 문자열)을 입력으로 받아 인덱스 값을 포함하는 enumerate 객체를 돌려준다.

      • (인덱스, 변수값)으로 튜플 형태로 반환한다.

    - eval(exp): 문자열로 입력받은 값을 연산하여 그 결과값을 반환한다.

    - filter(function_name, x): iterable한 변수 x에 대해서 function_name으로 입력받은 함수를 실행했을 경우 True의 값을 반환하는 값들만을 묶어서 반환해준다.

    - hex(x): 정수 x를 입력받아서 16진수로 변환하여 돌려준다.

    - oct(x): 정수 x를 8진수 문자열로 변환하여 돌려준다.

    - id(Obejct): 객체의 고유 주소값을 반환한다.

    - isinstance(object, class): 입력으로 받은 obejct가 class의 instance인지 여부를 반환해준다.

    - map(function , iterable_x): iterable_x의 각 요소들로 function을 수행한 결과를 묶어서 반환해준다.

    - pow(x, y): x를 y제곱한 결과를 반환해준다.

    - round(number[, ndigits]): number를 반올림해서 반환해준다. ndigits가 존재하는 경우, ndigit만큼의 소수점 아래까지만 반올림하여 반환한다.

    - zip(*iterable): 동일한 개수로 이루어진 자료형을 묶어 주는 역할을 하는 함수이다.

      • *iterable은 반복 가능(iterable)한 자료형 여러 개를 입력할 수 있다는 의미이다.

      • list(zip([1, 2, 3], [4, 5, 6])) -> [(1, 4), (2, 5), (3, 6)]

 

6. 라이브러리

  ■ sys: 파이썬 인터프리터가 제공하는 변수와 함수를 직접 제어할 수 있게 해주는 모듈이다.

    - sys.argv: 명령행의 인수 리스트

    - sys.exit(): 스크립트 강제 종료

    - sys.path: 파이썬 모듈들이 저장되어 있는 위치로 path로 등록되어 있는 모듈들은 경로에 상관없이 불러올 수 있다.

 

  ■ pickle: 객체의 형태를 그대로 유지하면서 파일에 저장하고 불러올 수 있게 하는 모듈이다.

    - pickle.dump(data, f): 객체 data를 파일 f에 저장한다.

    - pickle.load(f): 파일 f에 저장되어있는 객체를 불러온다.

 

  ■ os: 환경 변수나 디렉터리, 파일 등의 OS 자원을 제어할 수 있게 해주는 모듈.

    - os.environ: 내 시스템의 환경 변수 값을 저장하고 있는 변수

    - os.chdir: 현재 디렉토리의 위치를 변경한다.

    - os.getcwd: 현재 자신의 디렉토리 위치를 반환한다.

    - os.system: 시스템 자체의 프로그램이나 기타 명령어를 파이썬에서 호출할 수도 있다.

      • os.system("명령어")처럼 사용한다.

      • os.system("dir")

    - os.mkdir(dir)

    - os.rmdir(dir)

    - os.unlink(file)

    - os.rename(src, dest)

 

  ■ shutil: 파일을 복사해주는 모듈이다.

    - shutil.copy("src.py", "dest.py")

 

  ■ glob: 디렉토리에 있는 파일들의 이름을 리스트로 반환해주는 모듈이다.

    - glob.glob("dir_path"): dir_path에 있는 파일들의 이름을 리스트로 반환해준다.

 

  ■ tempfile: 파일을 임시로 만들때 사용하는 모듈

    - tempfile.mkstemp(): 중복되지 않는 임시 파일의 이름을 무작위로 만들어서 반환한다.

    - tempfile.TemporaryFile(): 임시 저장 공간으로 사용할 파일 객체를 반환해준다.

 

  ■ time: 시간과 관련된 기능을 제공해주는 모듈

    - time.time(): UTC(Universal Time Coordinated 협정 세계 표준시)를 사용하여 현재 시간을 실수 형태로 돌려주는 함수이다.

      • 1970년 1월 1일 0시 0분 0초를 기준으로 지난 시간을 초 단위로 돌려준다.

    - time.localtime(): time.time()의 시간을 연도, 월, 일, 시, 분, 초, ... 의 형태로 바꾸어 주는 함수이다.

    - time.asctime(): time.localtime에 의해서 반환된 튜플 형태의 값을 인수로 받아서 날짜와 시간을 알아보기 쉬운 형태로 돌려주는 함수이다.

    - time.ctime()

      • time.asctime(time.localtime(time.time()))

time.ctime()	# 'Sat Apr 28 20:56:31 2001'

    - time.strftime(): 포맷을 통해서 시간을 세밀하게 표현할 수 있도록 해준다.

      • 시간 표현 포맷

%a 요일 줄임말 Mon
%A 요일 Monday
%b 달 줄임말 Jan
%B January
%c 날짜와 시간을 출력함 06/01/01 17:22:21
%d 날(day) [01,31]
%H 시간(hour)-24시간 출력 형태 [00,23]
%I 시간(hour)-12시간 출력 형태 [01,12]
%j 1년 중 누적 날짜 [001,366]
%m [01,12]
%M [01,59]
%p AM or PM AM
%S [00,59]
%U 1년 중 누적 주-일요일을 시작으로 [00,53]
%w 숫자로 된 요일 [0(일요일),6]
%W 1년 중 누적 주-월요일을 시작으로 [00,53]
%x 현재 설정된 로케일에 기반한 날짜 출력 06/01/01
%X 현재 설정된 로케일에 기반한 시간 출력 17:22:21
%Y 년도 출력 2001
%Z 시간대 출력 대한민국 표준시
%% 문자 %
%y 세기부분을 제외한 년도 출력 01

    - time.sleep(): 일정 시간동안 sleep

 

  ■ calendar: 파이썬에서 달력을 볼 수 있도록 하는 모듈이다.

    - calendar.calendar(연도): 그 해의 전체 달력을 볼 수 있다.

    - calendar.prcal(연도): calendar()와 동일한 결과 반환

    - calendar.weekday(연도, 월, 일): 날짜에 해당하는 요일 정보를 입력해준다.

      • 월요일은 0, 화요일은 1, 수요일은 2, 목요일은 3, 금요일은 4, 토요일은 5, 일요일은 6

    - calendar.monthrange(연도, 월): (달의 1일의 요일, 달의 마지막 일수) 튜플 형태로 반환한다.

 

  ■ random: 난수를 발생시키는 모듈

    - random.random(): 0.0 ~ 1.0 사이의 난수 발생

    - random.randint(a, b): 정수 a와 b 사이의 난수를 반환한다.

    - random.choice(x): 리스트 x에서 무작위로 하나의 요소를 선택하여 반환한다.

 

  ■ webbrowser: 자신의 시스템에서 사용하는 기본 웹 브라우저를 자동으로 실행하는 모듈

    - webbrowser.open(url)

    - webbrowser.open_new(url)

반응형