[python] 파이썬 공부하기 - 내장 함수(Bulit-in Functions)

[python] 파이썬 공부하기 - 내장 함수(Bulit-in Functions)

2022. 9. 27. 17:43페퍼씨의 자기계발/페퍼씨와 파이썬

728x90
반응형

안녕하세요, 페퍼씨입니다.

 

파이썬에서 자주 사용되는 내장 함수(bulit - in) 들이 있는데, 그 함수들에 대해서 알아고자 합니다.

 

함수들을 외울 필요는 없지만, 이런것들이 있다는 것을 알아두고

 

나중에 쓸 일이 생겼을 때, 어? 이거 어떻게 쓰는 함수가 있었는데? 하고 생각난다면 찾아보면 됩니다.

 

있는지 알아서 찾아볼 수 있는거랑, 있나 없나도 모르는 것과는 조금 다르니까요 ㅎㅎ

 

https://docs.python.org/3/library/functions.html

 

Built-in Functions — Python 3.10.7 documentation

Built-in Functions The Python interpreter has a number of functions and types built into it that are always available. They are listed here in alphabetical order. abs(x) Return the absolute value of a number. The argument may be an integer, a floating poin

docs.python.org

파이썬 공식 홈페이지에 가면 Ducoment 들이 많이 있는데,

 

거기서 built-in function 들에 대해서 알아볼 수 있습니다.

 

 

Built-in Functions

 

abs

어떤 숫자를 입력받았을 때, 그 숫자의 절대값을 돌려주는 함수를 말한다.

 

abs(3.5)
>> 3.5
abs(-194)
>> 194

 

all

반복 가능한 자료형을 입력받고, 이 요소가 모두 참이면 True, 하나라도 거짓이 있으면 False를 나타낸다.

(=> 반복 가능한 자료형이란 for 문으로 그 값을 출력할 수 있는 것을 말하며,

     리스트, 튜플, 문자열, 딕셔너리, 집합, 등이 있다.)

all([1,2,3])
>> True

all([0,1,2,3])
>> False

all([])
>> True

 

any

반복 가능한 자료형을 입력받고, 이 요소가 하나라도 참이 있으면 True, 모두 거짓일 때 False를 나타낸다.

any([2,3, 0])
>> True # 2, 3이 참이므로 True

any([0,""])
>> False # 0과 빈 값 모두 거짓이므로 False

any([])
>> False # 빈 리스트는 거짓이므로 False

 

chr

유니코드를 입력받아, 그 코드에 해당하는 문자를 출력한다.

(유니코드는 전 세계의 모든 문자를 컴퓨터에서 일관되게 표현할 수 있게 설계되어 있으며, 숫자로 표현한다.)

chr(97)
>> 'a'

chr(44032)
>> '가'

 

divmod

divmod(a,b) 로 숫자 2개는 입력받고, a를 b로 나눈 몫과 나머지는 튜플로 나타낸다

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


 # 몫을 구하는 연산자 //
7 // 3  
>> 2

# 나머지를 구하는 연산자 %
7 % 3
>> 1

 

enumerate

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

(보통 for 문과 함께 쓰인다

: 반복되는 구간에서 객체가 어디 위치해 있는지 알려주는 인덱스값이 필요할 때 유용하게 쓰인다)

 

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

>> 0 body
>> 1 foo
>> 2 bar

 

filter

첫 번째 인수로 함수 이름을, 두 번째 인수로 그 함수에 차례로 들어갈 반복 가능한 자료형을 받는다.

그리고 두 번째 인수인 반복 가능한 자료형 요소가 첫 번째 인수인 함수에 입력되었을 때, 

참인 것만 filter 하여 값을 돌려준다.

 

# positive 함수 사용하기
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]


# filter 함수 사용하기
def positive(x):
    return x > 0

print(list(filter(positive, [1, -3, 2, 0, -5, 6])))
>> [1, 2, 6] # x>0 에 참인 1, 2, 6만 filter

# lambda로 더 간편하게 사용하기
list(filter(lambda x: x > 0, [1, -3, 2, 0, -5, 6]))
>> [1, 2, 6]

 

input

사용자 입력을 받는 함수로, 매개변수로 문자열을 주면 그 문자열은 입력받을 수 있는 프롬프트가 된다.

a = input()
hi
>> a
'hi'

b = input("이름을 입력해주세요 : ")
이름을 입력해주세요 :  # pepper 입력
>> 이름을 입력해주세요 :  pepper

 

isinstance

첫번째 인수로 인트턴스, 두 번째 인수로 클래스 이름을 입력받는다.

입력받은 인스턴스가 그 클래스의 인스턴싄지 판단하여 참이면 True, 거짓이면 False를 나타낸다.

# True 일 때
class Person: pass
	...
	a = Person()
    
isinstance(a, Person) # a는 Person 클래스에 속해 있음
>> True

# False 일 때
b = 3

isinstance(b, Person) # b가 Person 클래스에 속한 인스턴스가 아님
>> False

 

len

입력값의 길이 (요소의 개수)를 돌려주는 함수이다

len("python")
>> 6

len([1,2,3])
>> 3

len((1, 'a'))
>> 2

 

list

반복가능한 자료형을 입력받아 리스트로 만들어 돌려주는 함수이다.

list("python")
>> ['p', 'y', 't', 'h', 'o', 'n']

list((1,2,3))
>> [1, 2, 3]

a = [1, 2, 3]
b = list(a)
print(b)
>> [1, 2, 3]

 

map

map(f, iterable)은 함수(f)와 반복 가능한(iterable) 자료형을 입력으로 받는다.

map은 입력받은 자료형의 각 요소를 함수 f가 수행한 결과를 묶어서 돌려주는 함수이다.

 

# 함수 만들어 사용하기
def two_times(numberList):
    result = [ ]
    for number in numberList:
        result.append(number*2)
    return result

result = two_times([1, 2, 3, 4])
print(result)
>> [2, 4, 6, 8]


# map 함수 사용하기
def two_times(x): 
	return x*2

list(map(two_times, [1, 2, 3, 4])) # 차례로 1번씩 들어가면서 모든 요소 값이 수행되면 값을 출력
>> [2, 4, 6, 8]


# lambda로 더 간략하게 만들기
list(map(lambda a: a*2, [1, 2, 3, 4]))
>> [2, 4, 6, 8]

 

 

max(), min()

iterable 한 자료를 입력받아 최대값(max), 최솟값(min)을 출력해준다

# max
max([1, 2, 3])
>>3
max("python")
>>'y'

# min
min([1, 2, 3])
>> 1
min("python")
>>'h'

 

 

open

open(파일명, 읽기 방법)은 "파일 이름"과 "읽기 방법"을 입력받아 파일 객체를 돌려주는 함수이다.

읽기 방법(mode)을 생략하면 기본값인 읽기 전용 모드(r)로 파일 객체를 만들어 돌려준다.

mode 의 종류
w : 쓰기 모드로 파일 열기
r : 읽기 모드로 파일 열기
a : 추가 모드로 파일 열기
b : 바이너리 모드로 파일 열기
# 바이너리 읽기 모드 :  b는 w, r, a와 함께 사용한다
file = open("pepper_file", "rb")

# 기본 읽기 모드 ,기본값으로 읽기보드 'r'을 가지므로 'r'은 생략 가능하다 
file_read = open("pepper_file.txt", 'r')
file_read2 = open("pepper_file.txt") 

# 추가 모드로 파일 열기
file_append = open("pepper_file_append.txt", 'a')

 

range

range(시작, 끝, 스텝)는 for문과 함께 자주 사용하는 함수이다.

입력받은 숫자에 해당하는 범위 값을 반복 가능한 객체로 만들어 돌려준다.

 

# 인수가 하나일 때 : 시작 정해져 있지 않으면 0부터 시작한다.
list(range(4))
[0, 1, 2, 3]

# 인수가 2개일 때
 list(range(5, 10)) # 끝 부분은 n-1 로 들어감을 명심하자
[5, 6, 7, 8, 9] 

# 인수가 3개 일 때
list(range(1, 10, 2))
>> [1, 3, 5, 7, 9]

list(range(0, -10, -1))
>> [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]

 

round

round(number[, ndigits]) 함수는 숫자를 입력받아 반올림해 주는 함수이다.

# round(number)
round(4.6)
>> 5
round(4.2)
>> 4

# round(number[, ndigits]) : [, ndigits] 은 반올림해서 표시하고 싶은 소수점의 자릿수를 의미한다.
round(5.678, 2)
>> 5.68

 

sorted

sorted(iterable) 함수는 입력값을 정렬한 후 그 결과를 리스트로 돌려주는 함수

리스트 자료형에도 sort 함수가 있지만,

리스트 자료형의 sort는 리스트 객체 자체만 정렬할 뿐 결과를 돌려주지 않는다.

sorted([4, 3, 2])
>> [2, 3, 4]

sorted((5, 8, 7, 6))
>> [5, 6, 7, 8]

sorted(['a', 'd', 'b'])
>> ['a', 'b', 'd']

sorted("zero")
>> ['e', 'o', 'r', 'z']

 

sum

입력받은 리스트나 튜플의 모든 요소의 합을 나타낸다.

sum([1,2,3])
>> 6

sum((4,5,6))
>> 15

 

tuple

반복 가능한 자료형을 입력받아 튜플 형태로 바꾸어 나타낸다..

만약 튜플이 입력으로 들어오면 그대로 튜플로 나타낸다.

tuple("abc")
>> ('a', 'b', 'c')

tuple([1, 2, 3])
>> (1, 2, 3)

tuple((4, 5, 6))
>> (4, 5, 6)

 

type

type(object)는 입력값의 자료형이 어떤 것인지 나타준다.

type("pepper")
>> <class 'str'>

type([ ])
>> <class 'list'>

type(())
>> <class 'tuple'>

type(open("test", 'w'))
>> <class '_io.TextIOWrapper'>

 

zip

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

여기서 말하는 iterable은 반복가능한 자료형 여러개를 입력할 수 있다는 의미이다.

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

list(zip([1, 2, 3], [4, 5, 6], [7, 8, 9]))
>> [(1, 4, 7), (2, 5, 8), (3, 6, 9)]

list(zip("abc", "def"))
>> [('a', 'd'), ('b', 'e'), ('c', 'f')]
728x90
반응형