파이썬은 개발자를 위해 풍부한 내장 함수를 제공합니다. 이 함수들은 일반적인 프로그래밍 작업을 간편하게 수행할 수 있도록 도와줍니다. 이번 글에서는 이러한 내장 함수들에 대해 자세히 알아보고, 각 함수의 사용법과 그 용례를 살펴보겠습니다.
1. print()
함수
print()
함수는 가장 많이 사용되는 함수 중 하나로, 콘솔에 출력을 표시하는 데 사용됩니다. 여러 개의 인수를 받아 하나의 문자열로 연결하여 출력할 수 있으며, 기본적으로 문자열 사이에 공백을 추가합니다.
print("Hello, World!")
print("Python", "is", "fun")
결과:
Hello, World! Python is fun
2. len()
함수
len()
함수는 객체의 길이를 반환합니다. 문자열, 리스트, 튜플, 딕셔너리 등 시퀀스 자료형에 주로 사용됩니다.
string = "Python"
print(len(string))
numbers = [1, 2, 3, 4, 5]
print(len(numbers))
결과:
6 5
3. type()
함수
type()
함수는 객체의 자료형을 반환합니다. 이 함수는 변수가 예상한 타입인지 확인하는 데 유용합니다.
print(type(3))
print(type(3.0))
print(type("Hello"))
결과:
<class 'int'> <class 'float'> <class 'str'>
4. input()
함수
input()
함수는 사용자로부터 문자열 입력을 받을 때 사용됩니다. 파이썬 3.x에서는 항상 문자열 형태로 입력을 받습니다.
name = input("Enter your name: ")
print("Hello, " + name + "!")
5. sum()
함수
sum()
함수는 숫자 시퀀스의 합계를 계산합니다. 이 함수는 주로 리스트나 튜플의 합계를 구하는 데 사용됩니다.
numbers = [1, 2, 3, 4, 5]
print(sum(numbers))
결과:
15
6. min()
와 max()
함수
min()
함수는 시퀀스에서 최소값을, max()
함수는 최대값을 반환합니다. 이 함수들은 숫자 시퀀스의 최솟값과 최댓값을 찾는 데 유용합니다.
numbers = [3, 1, 4, 1, 5, 9]
print(min(numbers))
print(max(numbers))
결과:
1 9
7. sorted()
함수
sorted()
함수는 주어진 시퀀스를 정렬한 결과를 반환합니다. 이 함수는 원래의 리스트를 변경하지 않고 새로운 정렬된 리스트를 생성합니다. 기본적으로 오름차순으로 정렬되며, reverse=True
를 사용하면 내림차순으로 정렬됩니다.
numbers = [3, 1, 4, 1, 5, 9]
print(sorted(numbers))
print(sorted(numbers, reverse=True))
결과:
[1, 1, 3, 4, 5, 9] [9, 5, 4, 3, 1, 1]
8. any()
와 all()
함수
any()
함수는 시퀀스 내에서 하나 이상의 요소가 True
일 경우 True
를 반환하고, 그렇지 않으면 False
를 반환합니다. all()
함수는 모든 요소가 True
일 경우 True
를 반환합니다.
bool_list = [True, False, True]
print(any(bool_list))
print(all(bool_list))
결과:
True False
9. zip()
함수
zip()
함수는 여러 시퀀스를 병렬로 묶어줍니다. 각 시퀀스의 요소를 튜플로 묶어 나열하며, 시퀀스 중 가장 짧은 것의 길이에 맞춥니다.
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
zipped = zip(list1, list2)
print(list(zipped))
결과:
[(1, 'a'), (2, 'b'), (3, 'c')]
10. enumerate()
함수
enumerate()
함수는 시퀀스의 요소를 인덱스와 함께 튜플로 반환합니다. 기본적으로 인덱스는 0에서 시작하며, 시작을 다른 숫자로 변경할 수 있습니다.
letters = ['a', 'b', 'c']
for index, letter in enumerate(letters):
print(index, letter)
결과:
0 a 1 b 2 c
11. range()
함수
range()
함수는 정수 시퀀스를 생성합니다. 이 시퀀스는 주로 반복문에서 사용됩니다. range()
는 세 개의 인수를 받을 수 있으며, 각각 시작값, 종료값, 증감값을 의미합니다.
for i in range(5):
print(i)
for i in range(1, 10, 2):
print(i)
결과:
0 1 2 3 4 1 3 5 7 9
12. filter()
함수
filter()
함수는 주어진 함수와 시퀀스를 받아서, 함수의 조건을 만족하는 요소를 걸러낸다. 결과값은 필터 객체이며, list()
를 통해 리스트로 변환할 수 있다.
def is_even(n):
return n % 2 == 0
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = filter(is_even, numbers)
print(list(even_numbers))
결과:
[2, 4, 6]
13. map()
함수
map()
함수는 주어진 함수와 시퀀스를 받아서, 함수가 적용된 결과를 돌려준다. 이는 주어진 모든 요소에 함수를 적용할 때 유용하다.
def square(n):
return n * n
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(square, numbers)
print(list(squared_numbers))
결과:
[1, 4, 9, 16, 25]
14. reduce()
함수
reduce()
함수는 누적 계산을 수행하여 하나의 결과를 반환하는 함수입니다. reduce()
함수는 functools
모듈에서 가져와야 합니다. 주요 사용 케이스는 시퀀스를 누적하여 값을 계산할 때입니다.
from functools import reduce
def add(x, y):
return x + y
numbers = [1, 2, 3, 4, 5]
total = reduce(add, numbers)
print(total)
결과:
15
위의 예시는 파이썬 내장 함수의 몇 가지 예제이며, 각 함수의 특성과 사용법에 대해 알아보았습니다. 이 외에도 파이썬은 다양한 내장 함수를 제공하며, 각 함수는 특정한 작업을 더 쉽고 빠르게 해결할 수 있도록 도와줍니다.
함수의 사용법을 숙지하고 적절히 활용하면, 더 효율적이고 가독성 있는 코드를 작성할 수 있습니다. 내장 함수들은 이러한 목표를 이루기 위한 기본적인 도구가 될 것입니다.