파이썬의 내장 함수

파이썬은 개발자를 위해 풍부한 내장 함수를 제공합니다. 이 함수들은 일반적인 프로그래밍 작업을 간편하게 수행할 수 있도록 도와줍니다. 이번 글에서는 이러한 내장 함수들에 대해 자세히 알아보고, 각 함수의 사용법과 그 용례를 살펴보겠습니다.

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

위의 예시는 파이썬 내장 함수의 몇 가지 예제이며, 각 함수의 특성과 사용법에 대해 알아보았습니다. 이 외에도 파이썬은 다양한 내장 함수를 제공하며, 각 함수는 특정한 작업을 더 쉽고 빠르게 해결할 수 있도록 도와줍니다.

함수의 사용법을 숙지하고 적절히 활용하면, 더 효율적이고 가독성 있는 코드를 작성할 수 있습니다. 내장 함수들은 이러한 목표를 이루기 위한 기본적인 도구가 될 것입니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다