코딩공부/점프 투 파이썬

## 점프 투 파이썬 - 내장 함수 ( 1 )

integerJI 2020. 2. 9. 21:29

## 점프 투 파이썬 - 내장 함수

 

출처 : https://wikidocs.net/32

 

위키독스

온라인 책을 제작 공유하는 플랫폼 서비스

wikidocs.net

 

https://github.com/integerJI/blahblah_jeong

 

## 점프 투 파이썬 - 내장 함수

abs - 숫자를 입력받았을 때, 해당 숫자의 절댓값을 돌려준다.

abs(3) >>> 3 
abs(-3) >>> 3 
abs(-1.2) >>> 1.2 


all - 반복 가능한(iterable) 자료형 x를 입력 인수로 받으며 이 x가 모두 참이면 True, 거짓이 하나라도 있으면 False를 돌려준다.
※ 반복 가능한 자료형은 for문으로 그 값을 출력할 수 있는 것을 의미한다. 리스트, 튜플, 문자열, 딕셔너리, 집합 등

all([1, 2, 3]) >>> True 
# 리스트 자료형 [1, 2, 3]은 모든 요소가 참이므로 True를 돌려준다. 

all([1, 2, 3, 0]) >>> False 
# 리스트 자료형 [1, 2, 3, 0] 중에서 요소 0은 거짓이므로 False를 돌려준다. 


any - x 중 하나라도 참이 있으면 True를 돌려주고, x가 모두 거짓일 때에만 False를 돌려준다. all의 반대

any([1, 2, 3, 0]) >>> True 
# 리스트 자료형 [1, 2, 3, 0] 중에서 1, 2, 3이 참이므로 True를 돌려준다. 

any([0, ""]) >>> False 
# 리스트 자료형 [0, ""]의 요소 0과 ""은 모두 거짓이므로 False를 돌려준다. 


chr - 아스키(ASCII) 코드 값을 입력받아 그 코드에 해당하는 문자를 출력하는 함수

chr(97) >>> 'a' 
chr(48) >>> '0' 


dir - 객체가 자체적으로 가지고 있는 변수나 함수를 보여 준다.  
예시는 리스트와 딕셔너리 객체 관련 함수(메서드)를 보여 주며 2장의 자료형 관련 함수를 만날 수 있다.

dir([1, 2, 3]) >>> ['append', 'count', 'extend', 'index', 'insert', 'pop',...] 
dir({'1':'a'}) >>> ['clear', 'copy', 'get', 'has_key', 'items', 'keys',...] 


divmod - 2개의 숫자를 입력으로 받고 a를 b로 나눈 몫과 나머지를 튜플 형태로 돌려주는 함수 

divmod(7, 3) >>> (2, 1) 


enumerate - 열거하다는 뜻을 가진 이 함수는 순서가 있는 자료형(리스트, 튜플, 문자열)을 입력으로 받아 인덱스 값을 포함하는 enumerate 객체를 돌려준다. 
※ 보통 enumerate 함수는 다음 예제처럼 for문과 함께 자주 사용한다.

for i, name in enumerate(['body', 'foo', 'bar']): 
    print(i, name) 

0 body 
1 foo 
2 bar 

# for문을 사용할때 객체의 위차를 모를 때 사용하면 편하다. 



eval - 실행 가능한 문자열(1+2, 'hi' + 'a' 같은 것)을 입력으로 받아 문자열을 실행한 결괏값을 돌려주는 함수 

eval('1+2') >>> 3 
eval("'hi' + 'a'") >>> 'hia' 
eval('divmod(4, 3)') >>> (1, 1) 

# 보통 eval은 입력받은 문자열로 파이썬 함수나 클래스를 동적으로 실행하고 싶을 때 사용한다. 


filter - 첫 번째 인수로 함수 이름을, 두 번째 인수로 그 함수에 차례로 들어갈 반복 가능한 자료형을 받는다. 그리고 두 번째 인수인 반복 가능한 자료형 요소가 첫 번째 인수인 함수에 입력되었을 때 반환 값이 참인 것만 묶어서(걸러 내서) 돌려준다. 

def positive(l):  
    result = []  
    for i in l:  
        if i > 0:  
            result.append(i)  
    return result 

print(positive([1,-3,2,0,-5,6])) >>> [1, 2, 6] 


위에서 만든 positive 함수는 리스트를 입력값으로 받아 각각의 요소를 판별해서 양수 값만 돌려주는 함수이다. 

filter 함수를 사용하면 위 내용을 다음과 같이 간단하게 작성할 수 있다. 

def positive(x): 
    return x > 0 

print(list(filter(positive, [1, -3, 2, 0, -5, 6]))) >>> [1, 2, 6] 


여기에서는 두 번째 인수인 리스트의 요소들이 첫 번째 인수인 positive 함수에 입력되었을때 반환 값이 참인 것만 묶어서 돌려준다. 앞의 예에서는 1, 2, 6만 양수여서 x > 0 문장이 참이되므로 [1, 2, 6]이라는 결괏값을 돌려주게 된 것이다. 

lambda를 사용해서 더 짧게도 가능하다.

list(filter(lambda x: x > 0, [1, -3, 2, 0, -5, 6])) >>> [1, 2, 6] 


hex - 정수 값을 입력받아 16진수(hexadecimal)로 변환하여 돌려준다. 

hex(234) >>> '0xea' 
hex(3) >>> '0x3' 


id - 객체를 입력받아 객체의 고유 주소 값(레퍼런스)을 돌려준다. 

a = 3 
id(3) >>> 135072304 
id(a) >>> 135072304 
b = a 
id(b) >>> 135072304 


input - 사용자 입력을 받는 함수이다. 받은 문자열은 프롬프트가 된다.

a = input() 
hi 
a >>> 'hi' 
b = input("Enter: ") 
Enter: hi 
b >>> 'hi' 



int - 문자열 형태의 숫자나 소수점이 있는 숫자 등을 정수 형태로 돌려주는 함수로, 정수를 입력으로 받으면 그대로 돌려준다. 

int('3') >>> 3 
int(3.4) >>> 3 



int(x, radix)는 radix 진수로 표현된 문자열 x를 10진수로 변환하여 돌려준다. 

2진수로 표현된 11의 10진수 값은 다음과 같이 구한다.

int('11', 2) >>> 3 


16진수로 표현된 1A의 10진수 값은 다음과 같이 구한다.

int('1A', 16) >>> 26 

 

---