파이썬을 학습하면서 내장함수 활용 여부에 따라 코딩의 능률이 달라진다. 이번에는 내장함수에 대해 작성한다.
학부생활을 하면서, 특히 자바를 사용할 때 파이썬이 많이 그리웠다. 이유는 파이썬이 지원하는 내장함수가 많고 편리하기 때문이다.
🔦내장 함수(Built-in-Function)란?
파이썬 인터프린터에서 기본적으로 제공하고 있는 함수를 "내장 함수" 라고 한다.
✓ 사용 해야 하는 이유
- 외부 모듈과 다르게 import 하지 않고 바로 사용
- 개발자들이 간결하게 코드 작성 및 효율적인 프로그래밍 가능
- 다른 언어(JAVA,C)에 비해 매우 간결하게 핵심 기능을 구현
💻 내장 함수 종류
A
abs()
aiter()
all()
any()
anext()
ascii()
B
bin()
bool()
breakpoint()
bytearray()
bytes()
C
D
|
dir(__builtin__) // 입력해보고 확인해보자
★ 주요 내장 함수 설명
abs() : 주어진 숫자의 절댓값을 반환합니다. (복소수의 경우 해당 복소수의 크기 반환)
print("abs(-53)=",abs(-53))
-> 53
aiter(), anext() : async(비동기) for 로 동작하는 클래스를 만들기 위해 구현이 필요한 메서드
all() : 주어진 iterable(리스트, 튜플, 집합(set), 문자열)의 모든 요소가 참(True)인지 여부를 판단하는 함수
print(all([1, 2, 3])
-> True
print(all([0, 2, 3])
-> False
any() : iterable 의 요소 중 어느 하나라도 참이면 True 를 돌려줍니다. iterable이 비어 있으면 False.
print(any([1, 0, 1, 0]))
->True
print(any([0, 0, 0, 0]))
->False
ascii() : 주어진 객체를 ASCII 문자로 나타내는 문자열로 변환하는 함수
print(ascii('hello'))
->'hello'
print(ascii('안녕하세요'))
-> '\uc548\ub155\ud558\uc138\uc694'
bin() : 주어진 정수를 이진 형태의 문자열로 변환하는 함수, 단 앞에 '0b'가 붙는다
print(bin(3))
-> '0b11'
print(bin(-10))
-> '-0b1010'
breakpoint() : (3.7버전 이상) 프로그램 실행중에 디버거를 호출하고 해당 지점에서 프로그램 실행을 일시 정지시키는 함수
def calculate_sum(n):
total = 0
for i in range(n):
total += i
if total > 10:
breakpoint() # 디버깅 지점
return total
result = calculate_sum(5)
print(result)
//total이 10을 초과할 때마다 프로그램 실행을 일시 정지,ontinue 명령어를 입력하면 프로그램의 실행이 다시 시작
print(): 화면에 값을 출력하는 함수입니다. 주어진 인자들을 화면에 출력
print("Hello, World!")
-> Hello, World!
len(): 문자열, 리스트, 튜플 등과 같은 순서가 있는 시퀀스(sequence) 또는 컬렉션의 요소 수를 반환하는 함수.
print(len("Hello"))
-> 5
eval() : eval은 python code로 실행 가능한 문자열을 인자로 받아 실제로 실행해주는 함수
eval('5+4')
-> 9
eval('round(4.9)')
-> 5
input(): 사용자로부터 키보드 입력을 받는 함수입니다. 사용자가 입력한 값을 문자열 형태로 반환.
name = input("이름을 입력하세요: ") //가나다라 입력.
print("안녕하세요, " + name + "님!")
-> 안녕하세요, 가나다라님!
int(), float(), str(): 각각 정수, 실수, 문자열로 값을 변환하는 함수.
num_str = "10"
num_int = int(num_str)
print(type(num_int))
-> <class 'int'>
num_float = float(num_str) //10.0으로 바뀐다
print(type(num_float))
-> <class 'float'>
num = 10
num_str = str(num) # "10"으로 바뀐다
print(type(num_str))
-> <class 'str'>
range(): 정수 시퀀스를 생성하는 함수입니다. 주어진 범위 내에서 숫자의 시퀀스를 만든다.
for i in range(5):
print(i)
-> 0, 1, 2, 3, 4
# 범위는 0~4이다. 5가 아니다!!!
numbers = list(range(1, 10, 2))
print(numbers)
-> [1, 3, 5, 7, 9]
#1 부터 10 전까지 2씩 증가 <주의하자>
type(): 주어진 객체의 타입(type)을 반환하는 함수입니다.
num = 10
print(type(num))
-> <class 'int'>
name = "Alice"
print(type(name))
-> <class 'str'>
numbers = [1, 2, 3]
print(type(numbers))
-> <class 'list'>
sum(): 주어진 시퀀스의 모든 요소의 합을 반환하는 함수
numbers = [1, 2, 3, 4, 5]
total = sum(numbers)
print(total)
-> 15
max(), min(): 주어진 시퀀스에서 최댓값과 최솟값을 반환하는 함수
numbers = [1, 2, 3, 4, 5]
print(max(numbers))
print(min(numbers))
-> 5 #가장 큰 값
-> 1 #가장 작은 값
append(), pop() : 리스트에 요소를 추가하거나 제거하는 함수
#____.append 형식으로 사용
fruits = ['apple', 'banana', 'orange']
fruits.append('grape')
print(fruits)
->['apple', 'banana', 'orange', 'grape']
popped_fruit = fruits.pop()
print(popped_fruit)
-> 'grape'
print(fruits)
-> ['apple', 'banana', 'orange']
# 자료구조에 주로 사용 나중에 따로 다루겠다
sorted(): 주어진 시퀀스를 정렬하여 새로운 리스트로 반환하는 함수 (기본적으로 오름차순으로 정렬)
# 정수에서 의 예제
numbers = [5, 2, 8, 1, 9]
sorted_numbers = sorted(numbers)
print(sorted_numbers)
-> [1, 2, 5, 8, 9]
# 문자열 에서의 예제
letters = ['c', 'a', 'b', 'd']
sorted_letters = sorted(letters)
print(sorted_letters)
-> ['a', 'b', 'c', 'd']
#sort(reverse=True)옵션을 사용하면 내림차순으로 정렬
zip(): 주어진 여러 시퀀스의 요소들을 묶어서 튜플의 리스트로 반환하는 함수 (시퀀스의 길이가 다르다면 짧은 시퀀스 길이를 기준)
numbers = [1, 2, 3]
letters = ['a', 'b', 'c']
zipped = zip(numbers, letters)
print(list(zipped))
-> [(1, 'a'), (2, 'b'), (3, 'c')]
참조 - https://docs.python.org/ko/3/library/functions.html [파이썬 공식 문서]
- 추후에 지속적으로 가능한 모든 함수를 업로드할 예정이다.
'Language > Python' 카테고리의 다른 글
[OpenCV] Ubuntu 22.04 버전에서 OpenCV 4.10.0 GPU 적용하기 (2) | 2024.10.20 |
---|