01_Python

43_파이썬 내장함수

chuuvelop 2025. 1. 9. 22:29
728x90
내장함수
외부 모듈이 아닌 파이썬에 내장된 함수
print(), input(), len(),......

 

01. 문자열 내장함수

 

1. chr() / ord()

  • 모든 문자는 각각 문자 코드라고 하는 자신만의 코드 값이 있음
  • chr(): 특정 문자의 유니코드 값을 전달하면 해당 문자를 반환
  • ord(): 문자를 전달하면 해당 문자의 유니코드 값을 반환
ord("0")
48

 

ord("1")
49

 

chr(48)
'0'

 

chr(49)
'1'

 

ord("a"), ord("z")
(97, 122)

 

for i in range(97, 123):
    print(chr(i), end = " ")
a b c d e f g h i j k l m n o p q r s t u v w x y z

 

2. eval()

  • 표현식을 문자열로 전달하면 결괏값을 반환
eval("100 + 200")
300

 

"100 + 200"
'100 + 200'

 

a = 10

eval("a * 5")
50

 

eval("min(1, 2, 3)")
1

 

"[1, 2, 3, 4, 5]"
'[1, 2, 3, 4, 5]'

 

 

eval("[1, 2, 3, 4, 5]")
[1, 2, 3, 4, 5]

 

[1, 2, 3, 4, 5]  ##이것과 같은 결과
[1, 2, 3, 4, 5]

 

 

 

02. 숫자 내장함수

1. abs()

  • 절대값을 반환
abs(20)
20

 

abs(-10)
10

 

 

2. divmod()

  • 전달된 두 인수를 나누어 몫과 나머지를 반환
divmod(10, 3)   #10을 3으로 나누었을 때의 몫과 나머지
(3, 1)

 

money = 10000
price = 3000

n, remain = divmod(money, price)
print(f"빵을 {n}개 사고 {remain}원이 남았습니다")
빵을 3개 사고 1000원이 남았습니다

 

 

3. max() / min()

  • 전달된 인수 중 최대값을 반환 / 최소값을 반환
max(1, 10)
10

 

min(1, 10)
1

 

lst = [1, 2, 3, 4, 5]

print(max(lst), min(lst))
5 1

 

4. pow()

  • 두 인수의 거듭제곱을 반환
pow(10, 2)
100

 

pow(10, 3)
1000

 

pow(10, -3)
0.001

 

 

5. round()

  • 반올림한 값을 반환
round(1.5)
2

 

round(1.4)
1

 

round(1.55, 1)  ##소수점아래 첫째자리까지 반환
1.6

 

 

6. sum()

  • 합계를 반환
  • 숫자가 아닌 값은 전달 불가능
lst = [1, 2, 3, 4, 5]

sum(lst)
15

 

"h" + "e"  + "l"  + "l"  + "o" 
'hello'

 

sum("h", "e")  ##숫자 이외는 입력불가
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Cell In[4], line 1
----> 1 sum("h", "e")

TypeError: sum() can't sum strings [use ''.join(seq) instead]

 

 

 

02. 시퀀스 내장함수

1. enumerate()

  • 리스트에 저장된 요소와 인덱스가 함께 추출
for idx, element in enumerate(["가위", "바위", "보"]):
    print(idx, element)
0 가위
1 바위
2 보

 

2. range()

  • 특정 범위의 값을 생성
  • 주로 for문과 함께 사용
  • list() 함수로 리스트로 변환해서 사용하기도 함

       range(stop)

       range(start, stop)

       range(start, stop, step)

       start <= n < stop

 

list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

 

list(range(1, 11))
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

 

list(range(0, 30, 5))
[0, 5, 10, 15, 20, 25]

 

list(range(0, -10, -1))
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]

 

list(range(0))
[]

 

list(range(1, 0))
[]

 

 

3. len()

  • 객체의 길이(항목의 수)를 반환
lst = ["a", "b", "c", "d"]

print(len(lst))
4

 

dic = {"a" : "apple", "b" : "banana"}

print(len(dic))
2

 

len(range(10))
10

 

len(range(1, 10))
9

 

 

4. sorted()

  • 오름차순, 내림차순 정렬 결과를 반환
my_list = [6, 3, 1, 2, 5, 4]

sorted(my_list)
[1, 2, 3, 4, 5, 6]

 

sorted(my_list, reverse = True)  ##내림차순정렬
[6, 5, 4, 3, 2, 1]

 

sorted(my_list, reverse = False)  ##reverse는 False가 default값
[1, 2, 3, 4, 5, 6]

 

my_list  ##my_list 변수 자체가 정렬되는 것이 아님(비파괴적)
[6, 3, 1, 2, 5, 4]

 

my_list = sorted(my_list)
my_list
[1, 2, 3, 4, 5, 6]

 

5. zip()

  • 여러 개의 반복가능객체의 각 요소를 묶어서 반환
  • 전달된 객체들의 길이가 다르면 짧은 객체를 기준으로 동작
names = ["james", "emily", "amanda"]
scores = [60, 70, 80, 90]

for name, score in zip(names, scores):
    print(f"{name}의 점수는 {score}점 입니다.")
james의 점수는 60점 입니다.
emily의 점수는 70점 입니다.
amanda의 점수는 80점 입니다.

 

728x90

'01_Python' 카테고리의 다른 글

45_클래스_심화  (0) 2025.01.10
44_클래스  (1) 2025.01.10
42_데이터 입출력  (1) 2025.01.09
41_함수  (0) 2025.01.08
40_제어문>제어문연습(2)  (0) 2025.01.08