2022. 9. 27. 17:43ㆍ페퍼씨의 자기계발/페퍼씨와 파이썬
안녕하세요, 페퍼씨입니다.
파이썬에서 자주 사용되는 내장 함수(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')]'페퍼씨의 자기계발 > 페퍼씨와 파이썬' 카테고리의 다른 글
| [python] 파이썬 공부하기 - 입력기능과 출력기능 (0) | 2022.09.13 |
|---|---|
| [python] 파이썬 공부하기 - 연산자(Operator) (0) | 2022.09.13 |
| [python] 파이썬 공부하기 - boolean, 불 자료형(True or False) (1) | 2022.09.12 |
| [python] 파이썬 공부하기 - 집합 자료형_set 세트형 (0) | 2022.09.11 |
| [python] 파이썬 공부하기 - 집합 자료형_dict 딕셔너리형 (0) | 2022.09.11 |