취준/[개발공부] python

05-3. 내장 함수, 외장 함수

우금붕 2023. 7. 4. 16:20

01. 내장 함수

 

  • 숫자를 입력으로 받는 함수
함수 입력값 역할
abs(x) 숫자(x) x의 절댓값 반환
divmod(a, b) 두 개의 숫자(a, b) (a/b, a%b)
(몫, 나머지) 튜플 반환
chr(i)
ASCII 코드 값(i) 해당하는 문자 반환
hex(x) 정수(x) 16진수
oct(x) 정수(x) 8진수 문자열
pow(x, y) 정수(x, y) x^y
range([start], stop [,step]) 정수 (start, stop, step)
- 인수 1개 : 0 ~ stop-1 까지
- 인수 2개 : start ~ stop-1 까지
- 인수 3개 : start ~ stop-1 까지 step 단위
범위 지정
보통 for문과 함께 쓰임
round(number [,ndigits]) 숫자(number, ndigits) number를 ndigits(소숫점 자릿수)에서 반올림

 

  • 문자/문자열을 입력으로 받는 함수
함수 입력값 역할
eval(s) 문자열(s) 실행 결과 값
함수, 클래스의 동적 실행 원할 경우
ord(c) 문자(c) ASCII 코드 값

 

 

  • 반복 가능한 자료형을 입력으로 받는 함수
함수 입력값 역할
all(s) 반복 가능한 자료형(s)
: 리스트, 튜플, 문자열, 딕셔너리, 집합
모두 참이면 True
하나라도 거짓이라면 False
any(x) 반복 가능한 자료형(x) 하나라도 참이면 True
모두 거짓이라면 False
enumerate(s)

순서가 있는 자료형(s)
: 리스트, 튜플, 문자열
인덱스 값을 포함한 객체로 변환
for i, name in enumerate(['a', 'b', 'c']) : print(i, name)
이라면 아래와 같은 값을 반환
0 a
1 b
2 c
filter(f, s)

함수명(f), 반복 가능한 자료형(s) 참 값만 걸러냄
list(filter(lambda x:x>0), 리스트) 처럼 사용해서 함수 없이 한 줄로 만들기 가능
int(x)

문자열/실수 등(x) 정수
int('x', radix) 처럼 사용하면 radix 진수인 x를 10진수로 변환 가능
len(s)   s의 길이
list(s) 반복 가능한 자료형(s). 리스트로 변환
map(f, iterable)

함수명(f), 반복 가능한 자료형(iterable) 자료형의 요소를 함수 수행 결과로 묶음
map(lambda a:a*2, 리스트) 처럼 사용해서 함수 없이 한 줄로 만들기 가능
max(iterable) 반복 가능한 자료형(iterable) 최댓값
min(iterable) 반복 가능한 자료형(iterable) 최솟값
sorted(iterable) 반복 가능한 자료형(iterable) 정렬해서 리스트로 반환
* sort()는 정렬만 하고 반환 X
sum(iterable) 반복 가능한 자료형(iterable)
tuple(iterable) 반복 가능한 자료형(iterable) 튜플로 변환
zip(*iterable)
반복 가능한 자료형(iterable) 여러 개 동일한 개수로 이루어진 자료형을 묶음
zip([1, 2, 3], [4, 5, 6])
일 경우 [(1, 4), (2, 5), (3, 6)]으로 묶임

 

 

함수 입력값 역할
dir()   자체적으로 가지는 변수/함수 반환
id(object) 객체(object) 고유 주소 값(레퍼런스)
input([prompt]) [prompt]는 생략 가능 사용자의 입력 받음
insinstance(object, class) 인스턴스명(object), 클래스명(class) 인스턴스가 클래스의 인스턴스인지 확인하여 True/False 값 반환
open(filename, [mode]) 파일명(filename), 읽기모드(기본 r) 파일 열기
str(object) 객체(object) 문자열로 변환

 

 

 

 

 

 

 

02. 외장 함수

함수 역할 종류
sys python 인터프리터가 제공하는 변수, 함수 직접 제어 sys.exit() 강제로 스크립트 종료
sys.path 자신이 만든 모듈 불러와 사용
picle 객체 형태 유지하면서 파일 저장, 불러오기 picle.dump(객체명, 파일 변수) 저장
picle.load(파일 변수) 불러오기
os os 자원 제어 os.environ 내 시스템의 환경 변수 값
os.chdir(위치) 디렉토리 위치 변경
os.getcwd() 현재 디렉토리 위치
os.system("명령어"]) 프로그램/명령어 호출
os.popen("명령어") 실행한 시스템 명령어의 결과 값
os.mkdir(디렉토리) 디렉토리 생성
os.rmdir(디렉토리) 디렉토리 삭제
os.unlink(파일명)  
os.rename(src, dst) 이름 변경. src → dst
shutil 파일 복사 shutil.copy(파일명1, 파일명2) 복사
glob 특정 디렉토리 내 파일명 알기 golb(pathname) 디렉토리 내 파일 리스트 만들기
tempfile 임시 파일 만들기 tempfile.mktemp() 중복없이 임시 파일명 무작위로 만들기
tempfile.TemporaryFile() 임시 저장 공간으로 사용할 파일 객체 돌려줌. 바이너리 쓰기 모드(wb)
time 시간 관련 time.time() 현재 시간 실수 형태. 초 단위
(1970.1.1 oh om os 기준. UTC 방식)
time.localtime() 연도 월 일 시 분 초 형태로 변환
(tm_year=~, ...)
time.asctime() 날짜 시간 보기 쉬운 형태로
Sat Apr 28 30:50:20 2021
time.ctime() 항상 현재 시간만
= time.localtime(time.time())
time.sleep(초) 일정 시간 간격 둠
time.sleep(1) = 1초 쉼
calendar 달력 보기 calendar.calendar(연도) = calendar.prcal(연도)
calendar.weekday(연도, 월, 일) 날짜 요일 정보
3 = 목요일
calendar.monthrange(연도, 월) (요일, 며칠까지 있는 달인지)
(1, 31) : 화요일 31일까지 있는 달
random 난수 발생 random.random() 0.0~1.0 사이 실수
random.randint(start, end) start~end 사이 정수
random.pop(변수) 리스트 요소 중 무작위로 하나 꺼내서 반환
random.shuffle(iterable) 리스트 항목 무작위 섞기
webbrowser 기본 웹 브라우저 자동 실행 webbrowser.open(주소) 웹이 이미 실행 중이면 이동, 아니면 새로운 웹 브라우저 실행 후 해당 주소로 이동
webbrowser.open_new(주소) 웹이 이미 실행 중이더라도 새로운 웹 브라우저 실행 후 해당 주소로 이동
threading 스레드 프로그램 threading.Thread(target=x)