Information Security
내장 함수 본문
내장 함수
(Built in Function)
-Python이 기본적으로 가지고 있는 함수
-외부 소스의 import 없이 사용할 수 있다.
-아무런 설정 없이 바로 사용할 수 있다.
abs(): 어떤 숫자를 입력받았을 때, 그 숫자의 절댓값을 리턴한다.
max(), min(): 다수의 인수를 받아서 그 안에서 최댓값, 최솟값을 리턴한다.
-문자열은 아스키코드 값으로 비교한다.
pow(x, y): x의 y 제곱한 결과를 리턴한다.
내장 함수 pow(x,y) 예제(피타고라스의 정리)
-sqrt()는 math 라이브러리에서 제공하는 제곱근을 리턴하는 함수이다. math 라이브러리를 import 하여 사용할 수 있다.
※ 파이썬 홈페이지(python.org)에서 [Documentation] - [Library Reference]에 들어가면 파이썬의 표준 라이브러리들이 나온다. 거기에서 math 라이브러리의 함수 목록을 확인하여 수학 관련 함수들을 사용할 수 있다.
divmod(a, b): a를 b로 나눈 몫과 나머지를 튜플로 리턴한다.
enumerate(): 순서가 있는 자료형(리스트, 튜플, 문자열)을 입력받아 인덱스 값을 추가한 데이터를 리턴한다.
-변수 i에 인덱스 값과 요소가 튜플 형태로 저장된다.
-첫 번째 변수 index에는 인덱스 값이, 두 번째 변수 value에는 요소가 저장된다.
len(): 입력받은 데이터의 길이(요소의 전체 개수)를 리턴한다.
list(): 입력받은 데이터를 리스트 형으로 변환하여 리턴한다.
-순서가 없는 자료형(set, dictionary)을 리스트 형으로 변환한다.
-집합과 딕셔너리는 순서가 없어서 인덱스로 접근할 수 없다. 그래서 리스트로 변환하여 접근한다.
딕셔너리는 key()를 이용하여 key만으로 이루어진 리스트를 만든 후 그 리스트를 이용하여 값에 접근할 수 있다.
sorted(): 입력받은 데이터를 정렬한 후 그 결과를 리턴한다.
-문자열을 입력할 경우 아스키코드 값의 순서대로(공백, 숫자, 대문자, 소문자) 정렬된다.
all(): 입력받은 모든 인자가 참이면 True, 하나라도 거짓이면 False를 리턴한다. 논리 연산 AND와 같다.
-0이 아닌 값은 참이다.
-문자열은 '', ""처럼 비어있으면 거짓이다.
any(): 입력받은 인자가 하나라도 참이면 True, 모두 거짓이면 False를 리턴한다. 논리 연산 OR와 같다.
if 문에서 any() 사용하기
isinstance(object, class): 첫 번째 인수로 인스턴스, 두 번째 인수로 클래스 이름을 받아 입력받은 인스턴스가 그 클래스의 인스턴스가 맞는지를 판단한다.
input(): 사용자의 입력을 받는 함수이다. 입력받은 내용은 문자열 자료형으로 저장된다.
type(): 입력받은 인자의 자료형을 리턴한다.
isinstance() 사용 예제1
isinstance() 사용 예제2
int(x): 입력받은 x를 정수형으로 변환한다.
int(x, radix): radix 진수로 표현된 x를 10진수로 변환하여 리턴한다.
-소수를 입력하면 소수점을 버리고 정수만 남겨 출력한다.
-'314'는 문자형이므로 정수형으로 변환한다.
-100110은 2진수이다. 이를 10진수로 변환하면 38이다.
str(x): 입력받은 x를 문자형으로 변환한다.
-0x는 16진수, 0o는 8진수를 나타낸다.
lower(): 대문자를 소문자로 변환
upper(): 소문자를 대문자로 변환
-메뉴에서 'h'를 입력하면 도움말이 나오도록, 'q'를 입력하면 종료되도록 만들고 싶은데, 사용자가 모르고 대문자로 입력할 경우 인식이 되지 않아서 불편할 수 있다. 이때 대문자를 소문자로 바꿔주는 lower()를 사용하면 대문자를 입력해도 인식할 수 있게 된다.
-이제 사람들이 실수로 대문자를 입력하여 발생하는 불편함을 해결하였다. 그런데 이번에는 입력할 때 모르고 공백을 함께 입력하는 사용자가 생겼다. 이런 불편함도 해결하기 위해 공백을 제거하는 strip()을 사용한다.
-대문자, 공백 문제 해결 끝!
split()
chr(x): 아스키코드값을 입력받아 그 코드에 해당하는 문자를 리턴한다.
ord(x): 문자를 입력받아 그 문자에 해당하는 아스키코드값을 리턴한다.
hex(x): 정숫값을 입력받아 16진수로 변환한다.