Python 연습/1. Python 설치와 실습 - 아나콘다

Q_01_10. 파이썬에서 기본적으로 제공하는 내장함수에는 어떤 것이 있는가?

Python통컨 2025. 3. 20. 17:16

파이썬에서 자주 사용되는 함수를 내장함수(Builtin Functions)라고 부르는데 기본적을 제공되고 있습니다. 이를 통해 많은 작업을 효율적으로 수행할 수 있습니다. 내장함수를 dir(builtins) 명령을 이용하면 그 내용을 알 수 있습니다.

>>> dir(builtins)

['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'BlockingIOError', 'BrokenPipeError', 'BufferError', 'BytesWarning', 'ChildProcessError', 'ConnectionAbortedError', 'ConnectionError', 'ConnectionRefusedError', 'ConnectionResetError', 'DeprecationWarning', 'EOFError', 'Ellipsis', 'EnvironmentError', 'Exception', 'False', 'FileExistsError', 'FileNotFoundError', 'FloatingPointError', 'FutureWarning', 'GeneratorExit', 'IOError', 'ImportError', 'ImportWarning', 'IndentationError', 'IndexError', 'InterruptedError', 'IsADirectoryError', 'KeyError', 'KeyboardInterrupt', 'LookupError', 'MemoryError', 'ModuleNotFoundError', 'NameError', 'None', 'NotADirectoryError', 'NotImplemented', 'NotImplementedError', 'OSError', 'OverflowError', 'PendingDeprecationWarning', 'PermissionError', 'ProcessLookupError', 'RecursionError', 'ReferenceError', 'ResourceWarning', 'RuntimeError', 'RuntimeWarning', 'StopAsyncIteration', 'StopIteration', 'SyntaxError', 'SyntaxWarning', 'SystemError', 'SystemExit', 'TabError', 'TimeoutError', 'True', 'TypeError', 'UnboundLocalError', 'UnicodeDecodeError', 'UnicodeEncodeError', 'UnicodeError', 'UnicodeTranslateError', 'UnicodeWarning', 'UserWarning', 'ValueError', 'Warning', 'WindowsError', 'ZeroDivisionError', '', 'buildclass', 'debug', 'doc', 'import', 'loader', 'name', 'package', 'spec',
'abs', 'all', 'any', 'ascii', 'bin', 'bool', 'bytearray', 'bytes', 'callable', 'chr', 'classmethod', 'compile', 'complex', 'copyright', 'credits', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'exec', 'exit', 'filter', 'float', 'format', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help', 'hex', 'id', 'input', 'int', 'isinstance', 'issubclass', 'iter', 'len', 'license', 'list', 'locals', 'map', 'max', 'memoryview', 'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'print', 'property', 'quit', 'range', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'vars', 'zip']

파이썬 내장함수 목록을 알아보기

파이썬에는 많은 내장 함수가 있으며, 이 함수들은 별도의 모듈을 임포트하지 않고도 바로 사용할 수 있습니다. 아래는 파이썬의 내장 함수 목록입니다:

abs(): 절대값 반환
all(): 모든 요소가 참이면 True, 아니면 False 반환
any(): 하나라도 참이면 True, 모두 거짓이면 False 반환
ascii(): 비 ASCII 문자를 이스케이프 시퀀스로 포함하는 문자열 반환
bin(): 정수를 이진 문자열로 변환
bool(): 값을 부울 값으로 변환
breakpoint(): 디버거 호출
bytearray(): 바이트 배열 객체 반환
bytes(): 바이트 객체 반환
callable(): 객체가 호출 가능하면 True, 아니면 False 반환
chr(): 유니코드 코드 포인트의 문자 반환
classmethod(): 클래스 메서드 반환
compile(): 소스 코드를 코드 객체로 컴파일
complex(): 복소수 반환
delattr(): 객체의 속성 삭제
dict(): 딕셔너리 객체 반환
dir(): 객체의 속성 및 메서드 리스트 반환
divmod(): 몫과 나머지를 튜플로 반환
enumerate(): 열거 객체 반환
eval(): 문자열을 실행하고 결과 반환
exec(): 동적 실행을 위해 문자열을 실행
filter(): 조건을 만족하는 요소를 반환하는 필터 객체 반환
float(): 부동 소수점 숫자 반환
format(): 형식화된 문자열 반환
frozenset(): 변경 불가능한 세트 반환
getattr(): 객체의 속성 값 반환
globals(): 전역 심볼 테이블 딕셔너리 반환
hasattr(): 객체에 속성이 있으면 True, 없으면 False 반환
hash(): 객체의 해시 값 반환
help(): 내장 도움말 시스템 호출
hex(): 정수를 16진수 문자열로 변환
id(): 객체의 고유 식별자 반환
input(): 사용자 입력 받기
int(): 정수 반환
isinstance(): 객체가 클래스의 인스턴스인지 확인
issubclass(): 클래스가 다른 클래스의 서브클래스인지 확인
iter(): 반복자 객체 반환
len(): 객체의 길이 반환
list(): 리스트 반환
locals(): 현재 지역 심볼 테이블 딕셔너리 반환
map(): 함수를 적용한 결과를 반환하는 맵 객체 반환
max(): 최대값 반환
memoryview(): 메모리 뷰 객체 반환
min(): 최소값 반환
next(): 반복자의 다음 항목 반환
object(): 새로운 빈 객체 반환
oct(): 정수를 8진수 문자열로 변환
open(): 파일 객체 반환
ord(): 문자의 유니코드 코드 포인트 반환
pow(): 거듭제곱 계산
print(): 출력
property(): 프로퍼티 객체 반환
range(): 불변 시퀀스 타입 반환
repr(): 객체의 문자열 표현 반환
reversed(): 역순 반복자 반환
round(): 숫자를 반올림
set(): 세트 객체 반환
setattr(): 객체의 속성 값 설정
slice(): 슬라이스 객체 반환
sorted(): 정렬된 리스트 반환
staticmethod(): 정적 메서드 반환
str(): 문자열 반환
sum(): 시퀀스의 합 반환
super(): 슈퍼클래스의 객체 반환
tuple(): 튜플 반환
type(): 객체의 타입 반환
vars(): 객체의 dict 속성 반환
zip(): 반복 가능한 객체들을 묶어서 반환
import(): 지정된 이름의 모듈 가져오기

파이썬에서 제공하는 는 여러 가지 기본 함수 중에서 자주 사용되는 파이썬의 기본 함수들을 소개합니다.

 

1. print()

화면에 값을 출력합니다.

print("Hello, Python!") # Hello, Python!

2. input()

사용자의 입력을 받아 문자열로 반환합니다.

name = input("Enter your name: ") print(f"Hello, {name}!") # 사용자가 입력한 이름 출력

3. type()

객체의 자료형을 반환합니다.

print(type(10)) # print(type("Python")) #

4. len()

문자열, 리스트, 튜플 등의 길이를 반환합니다.

print(len("Python")) # 6 print(len([1, 2, 3])) # 3

5. range()

일정 범위의 숫자 시퀀스를 생성합니다. 반복문에서 주로 사용됩니다.

for i in range(3):
    print(i)
# 출력: 0, 1, 2

6. abs()

숫자의 절댓값을 반환합니다.

print(abs(-5)) # 5 print(abs(3.5)) # 3.5

7. sum()

iterable 객체의 모든 요소를 더한 값을 반환합니다.

 

print(sum([1, 2, 3, 4])) # 10

8. max()

iterable 객체 내에서 가장 큰 값을 반환합니다.

print(max([1, 5, 3, 9])) # 9

9. min()

iterable 객체 내에서 가장 작은 값을 반환합니다.

print(min([1, 5, 3, 9])) # 1

10. round()

숫자를 반올림하여 반환합니다.

print(round(3.14159, 2)) # 3.14 print(round(4.6)) # 5

11. sorted()

iterable 객체를 정렬하여 새로운 리스트를 반환합니다. sorted() 함수는 원본 리스트를 변경하지 않고 정렬된 리스트를 반환하는 반면, 리스트의 sort() 메서드는 원본 리스트를 정렬합니다.

numbers = [3, 1, 4, 1, 5]
print(sorted(numbers))  # [1, 1, 3, 4, 5]

12. reversed()

iterable 객체를 역순으로 반환합니다.

numbers = [1, 2, 3, 4]   
print(list(reversed(numbers)))  # [4, 3, 2, 1]

13. enumerate()

iterable 객체에서 인덱스와 값을 튜플로 반환합니다. 반복문에서 주로 사용됩니다.

for index, value in enumerate(["a", "b", "c"]):
    print(index, value)
# 출력:
# 0 a
# 1 b
# 2 c

14. zip()

 

여러 iterable 객체를 병렬로 처리할 수 있도록 묶어줍니다.

names = ["Alice", "Bob", "Charlie"]
ages = [24, 25, 23]

for name, age in zip(names, ages):
    print(name, age)
# 출력:
# Alice 24
# Bob 25
# Charlie 23

15. map()

함수와 iterable을 인자로 받아, 각 요소에 함수를 적용한 결과를 반환합니다.

def square(x):
    return x ** 2

numbers = [1, 2, 3, 4]
squared_numbers = list(map(square, numbers))
print(squared_numbers)  # [1, 4, 9, 16]

16. filter()

함수와 iterable을 인자로 받아, 함수의 조건을 만족하는 요소만을 반환합니다.

def is_even(x):
    return x % 2 == 0

numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(is_even, numbers))
print(even_numbers)  # [2, 4, 6]

17. all()

iterable의 모든 요소가 참이면 True를, 하나라도 거짓이면 False를 반환합니다.

print(all([True, True, True]))   # True
print(all([True, False, True]))  # False

18. any()

 

iterable 중 하나라도 참이면 True를 반환합니다.

print(any([False, False, True])) # True

11. eval()

문자열로 작성된 파이썬 표현식을 실행하여 그 결과를 반환합니다.

x = 1
print(eval('x + 1'))  # 2

20. dir()

객체가 가진 속성과 메서드를 나열합니다.

print(dir([1, 2, 3])) # 리스트가 가진 모든 메서드와 속성 나열

21. help()

객체에 대한 도움말을 출력합니다.

help(print) # print 함수에 대한 도움말 출력

22. isinstance()

특정 객체가 특정 클래스 또는 데이터 타입의 인스턴스인지 여부를 확인합니다.

print(isinstance(5, int))  # True   
print(isinstance("Python", str))  # True   

23. id()

객체의 고유한 식별자를 반환합니다. 객체의 메모리 주소를 기반으로 합니다.

x = 5
print(id(x))  # 객체 x의 고유 ID 출력

24. hash()

객체의 해시 값을 반환합니다. 해시 값은 불변 객체에 대해 고유한 값입니다.

 

print(hash("Python")) # "Python" 문자열의 해시 값 출력

25. bin(), oct(), hex()

정수를 각각 이진수, 8진수, 16진수 문자열로 변환합니다.

print(bin(10)) # '0b1010'
print(oct(10)) # '0o12'
print(hex(10)) # '0xa'

이러한 기본 함수들을 활용하면 파이썬 프로그래밍을 훨씬 더 효율적으로 수행할 수 있습니다. 각 함수는 다양한 작업을 쉽게 처리할 수 있도록 도와줍니다.

1. divmod()

두 숫자를 나눈 몫과 나머지를 동시에 반환합니다.

print(divmod(9, 2)) # (4, 1)

2. pow()

제곱을 계산하는 함수로, 두 개 또는 세 개의 인자를 받아 제곱을 수행합니다.

print(pow(2, 3)) # 8 (2 ** 3)
print(pow(2, 3, 5)) # 3 (2 ** 3 % 5)

3. open()

파일을 열고 파일 객체를 반환합니다. 파일을 읽거나 쓰기 위해 사용됩니다.

# 텍스트 파일 열기 (읽기 모드)
f = open("file.txt", "r")
contents = f.read()
f.close()

4. chr()

유니코드 값을 받아 해당하는 문자(character)를 반환합니다.

print(chr(65))  # 'A'
print(chr(97))  # 'a'

5. ord()

 

문자를 받아 해당하는 유니코드 값을 반환합니다.

print(ord('A')) # 65
print(ord('a')) # 97

6. hex()

정수를 16진수 문자열로 변환합니다.

print(hex(255)) # '0xff'

7. oct()

정수를 8진수 문자열로 변환합니다.

print(oct(255)) # '0o377'

8. bin()

정수를 2진수 문자열로 변환합니다.

print(bin(255)) # '0b11111111'

9. callable()

객체가 호출 가능한지 여부를 확인합니다. 함수나 메서드와 같이 호출할 수 있는 객체는 True를 반환하고, 그렇지 않으면 False를 반환합니다.

def func():
    pass

print(callable(func))  # True
print(callable(5))     # False

10. compile()

소스 코드를 코드 객체로 컴파일합니다. 컴파일된 코드 객체는 exec()나 eval()을 통해 실행할 수 있습니다.

code = "x = 5\nprint(x)"
compiled_code = compile(code, 'test', 'exec')
exec(compiled_code)

12. exec()

 

문자열로 작성된 파이썬 코드를 실행합니다. eval()은 단일 표현식만 평가할 수 있지만, exec()는 여러 줄의 코드를 실행할 수 있습니다.

code = """
for i in range(5):
    print(i)
"""
exec(code)

13. format()

문자열을 특정 형식으로 포맷팅합니다. str.format() 메서드와 비슷하게 동작합니다.

print(format(255, 'x'))  # 'ff' (16진수)
print(format(255, 'b'))  # '11111111' (2진수)

14. globals()

전역 심볼 테이블을 사전 형식으로 반환합니다. 즉, 현재 전역 공간에서 사용 가능한 모든 전역 변수를 보여줍니다.

x = 5
print(globals())

15. locals()

현재의 지역 심볼 테이블을 사전 형식으로 반환합니다. 지역 함수나 블록 내에서 사용되는 변수를 확인할 때 사용됩니다.

def func():
    y = 10
    print(locals())

func()  # {'y': 10}

17. repr()

객체의 공식적인 문자열 표현을 반환합니다. 이 표현은 객체를 다시 생성하는 데 사용할 수 있는 형식이어야 합니다.

print(repr("Hello\nWorld")) # 'Hello\nWorld'

18. setattr()

객체의 속성 값을 설정합니다.

 
class MyClass:
    pass

obj = MyClass()
setattr(obj, 'attribute', 42)
print(obj.attribute)  # 42

19. getattr()

객체의 속성 값을 반환합니다. 속성이 존재하지 않으면 AttributeError가 발생할 수 있습니다.

class MyClass:
    attribute = 10

obj = MyClass()
print(getattr(obj, 'attribute'))  # 10

20. delattr()

객체에서 속성을 삭제합니다.

class MyClass:
    attribute = 10

obj = MyClass()
delattr(obj, 'attribute')
# 이제 obj.attribute에 접근하면 AttributeError가 발생합니다.

21. hasattr()

객체에 특정 속성이 존재하는지 여부를 확인합니다.

class MyClass:
    attribute = 10

obj = MyClass()
print(hasattr(obj, 'attribute'))  # True

25. issubclass()

클래스가 특정 클래스의 서브클래스인지 여부를 확인합니다.

 
class Parent:
    pass

class Child(Parent):
    pass

print(issubclass(Child, Parent))  # True

이러한 기본 함수들은 파이썬의 다양한 기능을 활용하여 프로그래밍을 더욱 효율적으로 진행할 수 있도록 돕습니다. 각 함수는 특정 작업을 수행하는 데 유용하며, 필요할 때마다 활용하면 편리합니다.