여지껏 프로그래밍을 하기위해서 변수, 함수 등 대부분을 공부하셨을겁니다.
하지만 그 전에 먼저 여러분이 만들려는 프로그램이 이미 만들어져 있는지 살펴보기 바랍니다.
물론 공부를 위해서라면 누군가 만들어 놓은 프로그램을 또 만들 수도 있습니다.
하지만 그런 목적이 아니라면 이미 만들어진 것을 다시 만드는 것은 불필요한 행동이죠.
그리고 이미 만들어진 프로그램은 테스트 과정을 수없이 거쳤기 때문에 충분히 검증되어 있습니다.
따라서 무엇인가 새로운 프로그램을 만들기 전에는 이미 만들어진 것들,
그중에서도 특히 파이썬 배포본에 함께 들어 있는 파이썬 라이브러리를 살펴보는 것이 매우 중요합니다.
예를 들면 여러분들이 이미 많이 사용하는 print()문도 그중 일부입니다
아래는 가장 많이 사용하는 순으로 내장함수를 정리해 보았습니다
print()
인자로 전달된 값을 표준 출력 장치(일반적으로는 콘솔)에 출력합니다.
설명: print() 함수는 파이썬에서 가장 기본적이고 널리 사용되는 함수 중 하나입니다.
주로 디버깅, 결과 출력 등 다양한 용도로 사용됩니다.
print("Hello, World!") # 문자열 출력
print(3 + 5) # 수식의 결과 출력
len()
시퀀스(문자열, 리스트, 튜플 등)의 길이를 반환합니다.
설명: len() 함수는 시퀀스 자료형의 길이를 반환합니다.
시퀀스 자료형은 여러 항목이 순서대로 저장되는 자료형을 의미합니다.
my_list = [1, 2, 3, 4, 5]
print(len(my_list)) # 리스트의 길이 출력
input()
사용자로부터 표준 입력 장치(일반적으로는 키보드)로 값을 입력받습니다.
설명: input() 함수는 사용자로부터 키보드로 입력을 받아 문자열 형태로 반환합니다.
name = input("이름을 입력하세요: ")
print("안녕하세요,", name)
range()
정수의 시퀀스를 생성합니다.
설명: range() 함수는 정수의 시퀀스를 생성하여 반환합니다.
보통 반복문에서 사용되는데, 시작값, 종료값, 간격 등을 지정하여 사용할 수 있습니다.
for i in range(5):
print(i) # 0부터 4까지 출력
list()
반복 가능한(iterable) 객체를 리스트로 변환합니다.
설명: list() 함수는 다양한 iterable 객체를 리스트로 변환합니다.
문자열, 튜플, 집합 등을 리스트로 변환할 수 있습니다.
my_tuple = (1, 2, 3, 4, 5)
my_list = list(my_tuple)
print(my_list) # 튜플을 리스트로 변환하여 출력
dict()
키-값 쌍의 집합인 딕셔너리를 생성합니다.
설명: dict() 함수는 키-값 쌍의 집합인 딕셔너리를 생성합니다.
딕셔너리는 중복되지 않는 키와 이에 해당하는 값을 가집니다.
my_dict = dict(name="John", age=30)
print(my_dict) # {'name': 'John', 'age': 30} 출력
str()
객체를 문자열로 변환합니다.
설명: str() 함수는 주어진 객체를 문자열로 변환합니다.
객체의 __str__() 메서드를 호출하여 문자열로 변환합니다.
num = 123
num_str = str(num)
print(num_str) # "123" 출력
int()
문자열이나 소수점 숫자를 정수로 변환합니다.
설명: int() 함수는 문자열이나 부동소수점 숫자를 정수로 변환합니다. 소수점 이하를 버립니다.
num_str = "123"
num = int(num_str)
print(num) # 123 출력
float()
문자열이나 숫자를 부동소수점형으로 변환합니다.
설명: float() 함수는 문자열이나 정수를 부동소수점형으로 변환합니다.
문자열이 숫자로 이루어져 있어야 합니다.
num_str = "3.14"
num = float(num_str)
print(num) # 3.14 출력
sum()
반복 가능한(iterable) 객체의 모든 요소의 합을 반환합니다.
설명: sum() 함수는 반복 가능한(iterable) 객체의 모든 요소의 합을 반환합니다.
숫자 요소가 있는 리스트, 튜플 등에서 주로 사용됩니다.
my_list = [1, 2, 3, 4, 5]
total = sum(my_list)
print(total) # 15 출력
max()
반복 가능한(iterable) 객체에서 최댓값을 반환합니다.
설명: max() 함수는 반복 가능한(iterable) 객체에서 최댓값을 반환합니다.
숫자, 문자열 등 모든 요소에 대해 사용할 수 있습니다.
my_list = [3, 7, 2, 9, 5]
max_value = max(my_list)
print(max_value) # 9 출력
min()
반복 가능한(iterable) 객체에서 최솟값을 반환합니다.
설명: min() 함수는 반복 가능한(iterable) 객체에서 최솟값을 반환합니다.
숫자, 문자열 등 모든 요소에 대해 사용할 수 있습니다.
my_list = [3, 7, 2, 9, 5]
min_value = min(my_list)
print(min_value) # 2 출력
sorted()
반복 가능한(iterable) 객체를 정렬한 후 리스트로 반환합니다.
설명: sorted() 함수는 반복 가능한(iterable) 객체를 정렬한 후 리스트로 반환합니다. 원본 객체는 변경되지 않습니다.
my_list = [3, 1, 4, 1, 5, 9, 2, 6]
sorted_list = sorted(my_list)
print(sorted_list) # [1, 1, 2, 3, 4, 5, 6, 9] 출력
zip()
두 개 이상의 반복 가능한(iterable) 객체를 합쳐서 각 요소들을 튜플로 묶은 후 이를 반환하는 이터레이터를 생성합니다.
설명: zip() 함수는 여러 개의 리스트나 튜플 등을 하나로 묶어주는 역할을 합니다.
가장 짧은 길이의 iterable을 기준으로 합니다.
names = ['Alice', 'Bob', 'Charlie']
ages = [25, 30, 35]
zipped = zip(names, ages)
print(list(zipped)) # [('Alice', 25), ('Bob', 30), ('Charlie', 35)] 출력
enumerate()
반복 가능한(iterable) 객체의 인덱스와 값을 함께 반환하는 이터레이터를 생성합니다.
설명: enumerate() 함수는 반복 가능한(iterable) 객체의 인덱스와
해당 요소를 튜플로 묶어 순회할 때 인덱스와 함께 반환합니다.
fruits = ['apple', 'banana', 'cherry']
for index, fruit in enumerate(fruits):
print(index, fruit) # 각 요소와 인덱스를 함께 출력
map()
함수와 반복 가능한(iterable) 객체를 인자로 받아서, 각 요소에 함수를 적용한 결과를 반환하는 이터레이터를 생성합니다.
설명: map() 함수는 함수와 반복 가능한(iterable) 객체를 인자로 받아서,
각 요소에 함수를 적용한 결과를 반환하는 이터레이터를 생성합니다.
def square(x):
return x ** 2
numbers = [1, 2, 3, 4, 5]
squares = map(square, numbers)
print(list(squares)) # [1, 4, 9, 16, 25] 출력
filter()
함수와 반복 가능한(iterable) 객체를 인자로 받아서,
함수의 반환 값이 참(True)인 요소들로 구성된 이터레이터를 반환합니다.
설명: filter() 함수는 함수와 반복 가능한(iterable) 객체를 인자로 받아서,
함수의 반환 값이 참(True)인 요소들로 구성된 이터레이터를 반환합니다.
def is_even(x):
return x % 2 == 0
numbers = [1, 2, 3, 4, 5]
even_numbers = filter(is_even, numbers)
print(list(even_numbers)) # [2, 4] 출력
abs()
주어진 숫자의 절댓값을 반환합니다.
설명: abs() 함수는 주어진 숫자의 절댓값을 반환합니다. 음수인 경우 양수로 변환합니다.
num = -5
absolute_value = abs(num)
print(absolute_value) # 5 출력
round()
주어진 숫자를 반올림합니다.
설명: round() 함수는 주어진 숫자를 반올림하여 반환합니다. 소수점 이하 자릿수를 지정할 수 있습니다.
num = 3.14159
rounded_num = round(num, 2)
print(rounded_num) # 3.14 출력
open()
파일을 열고 파일 객체를 반환합니다.
설명: open() 함수는 파일을 열고 파일 객체를 반환합니다.
파일을 읽기 모드('r'), 쓰기 모드('w'), 추가 모드('a') 등으로 열 수 있습니다.
file = open('example.txt', 'r')
content = file.read()
print(content)
file.close()
type()
주어진 객체의 데이터 타입을 반환합니다.
설명: type() 함수는 주어진 객체의 데이터 타입을 반환합니다. 클래스 이름이 반환됩니다.
num = 42
print(type(num)) # <class 'int'> 출력
bool()
주어진 값의 불리언(Boolean) 값을 반환합니다.
설명: bool() 함수는 주어진 값의 불리언(Boolean) 값을 반환합니다.
0, 빈 문자열, 빈 리스트 등은 False로 취급됩니다.
print(bool(0)) # False 출력
print(bool(10)) # True 출력
print(bool("")) # False 출력
print(bool("Hello")) # True 출력
tuple()
반복 가능한(iterable) 객체를 튜플로 변환합니다.
설명: tuple() 함수는 반복 가능한(iterable) 객체를 튜플로 변환합니다.
리스트, 문자열, 딕셔너리 등을 튜플로 변환할 수 있습니다.
my_list = [1, 2, 3]
my_tuple = tuple(my_list)
print(my_tuple) # (1, 2, 3) 출력
set()
새로운 빈 집합(set)을 생성하거나 반복 가능한(iterable) 객체로부터 집합을 생성합니다.
설명: set() 함수는 새로운 빈 집합(set)을 생성하거나
반복 가능한(iterable) 객체로부터 집합을 생성합니다. 중복된 요소는 하나로 처리됩니다.
my_list = [1, 2, 2, 3, 3, 3]
my_set = set(my_list)
print(my_set) # {1, 2, 3} 출력
any()
반복 가능한(iterable) 객체 중 하나 이상의 요소가 참(True)인 경우 True를 반환합니다.
설명: any() 함수는 반복 가능한(iterable) 객체 중 하나 이상의 요소가 참(True)인 경우 True를 반환합니다.
모든 요소가 거짓(False)인 경우 False를 반환합니다.
my_list = [0, False, None, 1]
print(any(my_list)) # True 출력
all()
반복 가능한(iterable) 객체의 모든 요소가 참(True)인 경우에만 True를 반환합니다.
설명: all() 함수는 반복 가능한(iterable) 객체의 모든 요소가 참(True)인 경우에만 True를 반환합니다.
하나라도 거짓(False)이면 False를 반환합니다.
my_list = [True, 1, "Hello"]
print(all(my_list)) # True 출력
chr()
ASCII 코드 값을 문자로 변환합니다.
설명: chr() 함수는 ASCII 코드 값을 문자로 변환합니다.
0부터 127까지의 ASCII 코드에 해당하는 문자를 반환합니다.
print(chr(65)) # 'A' 출력
ord()
문자를 ASCII 코드 값으로 변환합니다.
설명: ord() 함수는 문자를 ASCII 코드 값으로 변환합니다. 주어진 문자의 ASCII 코드 값을 반환합니다.
print(ord('A')) # 65 출력
eval()
문자열로 표현된 파이썬 표현식을 실행하고 결과를 반환합니다.
설명: eval() 함수는 문자열로 표현된 파이썬 표현식을 실행하고 결과를 반환합니다.
주로 동적으로 코드를 실행해야 하는 경우에 사용됩니다.
주의해야 할 점은 보안상 취약할 수 있으므로 안전하지 않은 입력에 대해 사용하는 것을 피해야 합니다.
x = 10
result = eval("x + 5")
print(result) # 15 출력
format()
값을 형식화된 문자열로 변환합니다.
설명: format() 함수는 값을 형식화된 문자열로 변환합니다.
문자열 내부에 {}를 사용하여 값을 삽입할 수 있으며, 포맷 지정자를 사용하여 형식을 지정할 수 있습니다.
name = "John"
age = 30
message = "이름: {}, 나이: {}".format(name, age)
print(message) # "이름: John, 나이: 30" 출력
globals()
전역 심볼 테이블을 딕셔너리로 반환합니다.
설명: globals() 함수는 현재 전역 심볼 테이블을 딕셔너리로 반환합니다.
모듈에서 정의된 전역 변수들을 확인할 때 사용됩니다.
print(globals()) # 전역 변수들을 딕셔너리 형태로 출력
locals()
로컬 심볼 테이블을 딕셔너리로 반환합니다.
설명: locals() 함수는 현재 로컬 심볼 테이블을 딕셔너리로 반환합니다.
함수 내부에서 정의된 지역 변수들을 확인할 때 사용됩니다.
def example_func():
x = 10
print(locals()) # 로컬 변수들을 딕셔너리 형태로 출력
example_func()
setattr()
객체의 속성 값을 설정합니다.
설명: setattr() 함수는 객체의 속성 값을 설정합니다. 객체와 속성 이름, 그리고 값을 인자로 받습니다.
class Person:
pass
person = Person()
setattr(person, 'name', 'John')
print(person.name) # 'John' 출력
getattr()
객체의 속성 값을 가져옵니다.
설명: getattr() 함수는 객체의 속성 값을 가져옵니다. 객체와 속성 이름을 인자로 받습니다.
class Person:
name = 'John'
person = Person()
print(getattr(person, 'name')) # 'John' 출력
delattr()
객체의 속성을 삭제합니다.
설명: delattr() 함수는 객체의 속성을 삭제합니다. 객체와 속성 이름을 인자로 받습니다.
class Person:
name = 'John'
person = Person()
delattr(person, 'name')
print(person.name) # AttributeError: 'Person' object has no attribute 'name'
hex()
정수를 16진수 문자열로 변환합니다.
설명: hex() 함수는 정수를 16진수 문자열로 변환합니다. 접두사 '0x'를 붙여 반환합니다.
num = 16
hex_string = hex(num)
print(hex_string) # '0x10' 출력
oct()
정수를 8진수 문자열로 변환합니다.
설명: oct() 함수는 정수를 8진수 문자열로 변환합니다. 접두사 '0o'를 붙여 반환합니다.
num = 16
oct_string = oct(num)
print(oct_string) # '0o20' 출력
bin()
정수를 2진수 문자열로 변환합니다.
설명: bin() 함수는 정수를 2진수 문자열로 변환합니다. 접두사 '0b'를 붙여 반환합니다.
num = 16
bin_string = bin(num)
print(bin_string) # '0b10000' 출력
slice()
시퀀스의 슬라이스를 나타내는 객체를 생성합니다.
설명: slice() 함수는 슬라이싱에 사용할 객체를 생성합니다.
슬라이싱은 시퀀스에서 일부분을 추출하는 데 사용됩니다.
my_list = [1, 2, 3, 4, 5]
s = slice(2, 4) # 인덱스 2부터 3까지의 슬라이스를 나타내는 객체 생성
print(my_list[s]) # [3, 4] 출력
dir()
객체의 속성과 메서드를 리스트로 반환합니다.
설명: dir() 함수는 객체의 속성과 메서드를 나열한 리스트를 반환합니다. 클래스나 모듈 등을 인자로 받을 수 있습니다.
my_list = [1, 2, 3]
print(dir(my_list)) # 리스트의 속성과 메서드를 나열한 리스트 출력
id()
객체의 고유 식별자를 반환합니다.
설명: id() 함수는 객체의 고유 식별자를 반환합니다. 메모리 내의 주소 값입니다.
x = 42
print(id(x)) # x의 메모리 주소 출력
help()
객체에 대한 도움말 정보를 출력합니다.
설명: help() 함수는 객체에 대한 도움말 정보를 출력합니다. 클래스, 함수, 모듈 등에 대한 정보를 확인할 때 사용됩니다.
print(help(list)) # 리스트에 대한 도움말 출력
next()
이터레이터에서 다음 요소를 반환합니다.
설명: next() 함수는 이터레이터에서 다음 요소를 반환합니다.
이터레이터는 반복 가능한 객체의 요소를 하나씩 순회하며 반환합니다.
my_iter = iter([1, 2, 3])
print(next(my_iter)) # 1 출력
print(next(my_iter)) # 2 출력
reversed()
시퀀스를 역순으로 반환하는 이터레이터를 생성합니다.
설명: reversed() 함수는 시퀀스를 역순으로 반환하는 이터레이터를 생성합니다.
리스트, 튜플 등을 역순으로 순회할 때 사용됩니다.
my_list = [1, 2, 3, 4, 5]
reversed_list = reversed(my_list)
print(list(reversed_list)) # [5, 4, 3, 2, 1] 출력
pow()
거듭제곱 연산을 수행합니다.
설명: pow() 함수는 주어진 밑수의 지수승 값을 반환합니다. pow(x, y)는 x ** y와 동일합니다.
result = pow(2, 3)
print(result) # 8 출력
divmod()
두 개의 숫자를 인자로 받아서, 나눗셈의 몫과 나머지를 튜플 형태로 반환합니다.
설명: divmod() 함수는 두 개의 숫자를 인자로 받아서, 나눗셈의 몫과 나머지를 튜플 형태로 반환합니다.
quotient, remainder = divmod(10, 3)
print(quotient, remainder) # 3 1 출력
isinstance()
객체의 타입을 확인합니다.
설명: isinstance() 함수는 객체의 타입을 확인합니다. 특정 클래스의 인스턴스인지 여부를 확인할 때 사용됩니다.
x = 42
print(isinstance(x, int)) # True 출력
issubclass()
클래스가 다른 클래스의 서브클래스인지 여부를 확인합니다.
설명: issubclass() 함수는 클래스가 다른 클래스의 서브클래스인지 여부를 확인합니다.
class A:
pass
class B(A):
pass
print(issubclass(B, A)) # True 출력
iter()
반복 가능한(iterable) 객체에 대한 이터레이터를 반환합니다.
설명: iter() 함수는 반복 가능한(iterable) 객체에 대한 이터레이터를 반환합니다.
반복 가능한 객체는 문자열, 리스트, 튜플 등이 있습니다.
my_list = [1, 2, 3]
my_iter = iter(my_list)
print(next(my_iter)) # 1 출력
len()
시퀀스(문자열, 리스트, 튜플 등)의 길이를 반환합니다.
설명: len() 함수는 시퀀스 자료형의 길이를 반환합니다.
시퀀스 자료형은 여러 항목이 순서대로 저장되는 자료형을 의미합니다.
my_list = [1, 2, 3, 4, 5]
print(len(my_list)) # 5 출력
zip()
두 개 이상의 반복 가능한(iterable) 객체를 합쳐서 각 요소들을 튜플로 묶은 후 이를 반환하는 이터레이터를 생성합니다.
설명: zip() 함수는 여러 개의 리스트나 튜플 등을 하나로 묶어주는 역할을 합니다.
가장 짧은 길이의 iterable을 기준으로 합니다.
names = ['Alice', 'Bob', 'Charlie']
ages = [25, 30, 35]
zipped = zip(names, ages)
print(list(zipped)) # [('Alice', 25), ('Bob', 30), ('Charlie', 35)] 출력
enumerate()
반복 가능한(iterable) 객체의 인덱스와 값을 함께 반환하는 이터레이터를 생성합니다.
설명: enumerate() 함수는 반복 가능한(iterable) 객체의 인덱스와
해당 요소를 튜플로 묶어 순회할 때 인덱스와 함께 반환합니다.
fruits = ['apple', 'banana', 'cherry']
for index, fruit in enumerate(fruits):
print(index, fruit) # 각 요소와 인덱스를 함께 출력
map()
함수와 반복 가능한(iterable) 객체를 인자로 받아서, 각 요소에 함수를 적용한 결과를 반환하는 이터레이터를 생성합니다.
설명: map() 함수는 함수와 반복 가능한(iterable) 객체를 인자로 받아서,
각 요소에 함수를 적용한 결과를 반환하는 이터레이터를 생성합니다.
def square(x):
return x ** 2
numbers = [1, 2, 3, 4, 5]
squares = map(square, numbers)
print(list(squares)) # [1, 4, 9, 16, 25] 출력
filter()
함수와 반복 가능한(iterable) 객체를 인자로 받아서,
함수의 반환 값이 참(True)인 요소들로 구성된 이터레이터를 반환합니다.
설명: filter() 함수는 함수와 반복 가능한(iterable) 객체를 인자로 받아서,
함수의 반환 값이 참(True)인 요소들로 구성된 이터레이터를 반환합니다.
def is_even(x):
return x % 2 == 0
numbers = [1, 2, 3, 4, 5]
even_numbers = filter(is_even, numbers)
print(list(even_numbers)) # [2, 4] 출력
sorted()
반복 가능한(iterable) 객체를 정렬한 후 리스트로 반환합니다.
설명: sorted() 함수는 반복 가능한(iterable) 객체를 정렬한 후 리스트로 반환합니다. 원본 객체는 변경되지 않습니다.
my_list = [3, 1, 4, 1, 5, 9, 2, 6]
sorted_list = sorted(my_list)
print(sorted_list) # [1, 1, 2, 3, 4, 5, 6, 9] 출력
sum()
반복 가능한(iterable) 객체의 모든 요소의 합을 반환합니다.
설명: sum() 함수는 반복 가능한(iterable) 객체의 모든 요소의 합을 반환합니다.
숫자 요소가 있는 리스트, 튜플 등에서 주로 사용됩니다.
my_list = [1, 2, 3, 4, 5]
total = sum(my_list)
print(total) # 15 출력
max()
반복 가능한(iterable) 객체에서 최댓값을 반환합니다.
설명: max() 함수는 반복 가능한(iterable) 객체에서 최댓값을 반환합니다.
숫자, 문자열 등 모든 요소에 대해 사용할 수 있습니다.
my_list = [3, 7, 2, 9, 5]
max_value = max(my_list)
print(max_value) # 9 출력
min()
반복 가능한(iterable) 객체에서 최솟값을 반환합니다.
설명: min() 함수는 반복 가능한(iterable) 객체에서 최솟값을 반환합니다.
숫자, 문자열 등 모든 요소에 대해 사용할 수 있습니다.
my_list = [3, 7, 2, 9, 5]
min_value = min(my_list)
print(min_value) # 2 출력
abs()
주어진 숫자의 절댓값을 반환합니다.
설명: abs() 함수는 주어진 숫자의 절댓값을 반환합니다. 음수인 경우 양수로 변환합니다.
num = -5
absolute_value = abs(num)
print(absolute_value) # 5 출력
round()
주어진 숫자를 반올림합니다.
설명: round() 함수는 주어진 숫자를 반올림하여 반환합니다. 소수점 이하 자릿수를 지정할 수 있습니다.
num = 3.14159
rounded_num = round(num, 2)
print(rounded_num) # 3.14 출력