프로그래밍 공부/Python

[파이썬] 복습 노트 - 8 | 함수와 내장함수

내 머리속 어딘가 2025. 3. 17. 13:58
반응형

1. 함수

- 특정 기능을 하는 코드 또는 코드의 묶음

- 함수의 종류 : 내장함수

                        외장함수

                        사용자 정의 함수

 

2. 내장함수

- 파이썬에서 항상 사용할 수 있는 함수가 내장되어 있음

- 별도의 설치나 import 할 필요가 없음 (외장함수의 경우 사용 전 import 후 사용)

 

1) 문자열 내장 함수

- eval() : 실행하고자 하는 표현식을 문자열로 전달하면 표현식의 결과값을 반환하는 함수

- str() : 전달받은 값을 문자열로 형변환하는 함수

            str(10) => "10"  소괄호 안에 들어가는 값들을 쌍따옴표를 붙여서 문자열로 반환한다.

 

print("100 + 200") # 문자열

# eval()
print(eval("100 + 200")) # 문자열로 전달받은 표현식을 인식하여 결과값을 반환

# print(sum("1, 3, 5, 7, 9")) # str
print(sum(eval("1, 3, 5, 7, 9")))

<출력 결과>
100 + 200
300
9
25

활용해보면 이런식으로 사용자 입력이 문자열로 저장되는 것을 활용해서 사용할 수도 있겠다.

그냥 제일 바깥쪽 따옴표를 떼는 명령어라고 생각하면 된다.

 

2) 숫자 내장함수(int or float)

- abs() : 전달된 값의 절대값을 반환

              10의 절대값 -> 10

              -10의 절대값 -> 10

- divmod() : 전달된 2개의 값을 나누어서 몫과 나머지를 하나의 튜플로 묶어서 반환

- int() : 전달된 값을 정수로 변환하는 함수

           전달된 값이 없을 때는 0을 반환

- float() : 전달된 값을 실수로 변환하는 함수

               전달된 값이 없을 때는 0.0을 반환

- max() : 전달된 값들 중에서 가장 큰 값을 반환

- min() : 전달된 값들 중에서 가장 작은 값을 반환

- sum() : 전달된 리스트나 튜플과 같은 반복 가능 객체의 합을 반환

               ** 숫자가 아닌 값을 넣으면 오류 발생

- pow() : 전달된 2개의 숫자의 거듭제곱을 반환(** 거듭제곱 연산자와 동일)

- round() : 전달된 값을 이용해서 반올림한 값을 반환

                전달된 값이 1개이면 정수로 반올림한 값을 반환

                전달된 값이 2개이면 두번째로 전달한 값만큼 소수점을 남겨둠

 

3) 시퀀스 내장함수

- range() : 전달된 값에 따라서 연속된 정수형 데이터를 생성하는 함수
- len() : 전달된 객체의 길이(항목의 수)를 반환하는 함수
- enumerate() : 리스트와 함께 사용할 수 있음
                        리스트에 저장된 요소와 인덱스 번호를 튜플로 묶음
                        (idx, 리스트 요소)

- zip() : 전달된 여러개의 반복 가능 객체의 요소를 튜플로 묶어서 반환하는 함수
전달된 반복 가능 객체의 길이가 서로 다르면 길이가 짧은 객체를 기준으로 동작함


- sorted() : 전달된 반복가능 객체의 오름차순 정렬 결과를 반환하는 함수
- sorted(반복가능객체, revese = True)
: 내림차순 정렬 결과를 반환


li.sort() : 오름차순 정렬 메소드
li.sort(reverse = True) : 내림차순 정렬 메소드



2. 문자열 메소드

 

- .count()

문자열 내부에 포함된 특정 문자열의 개수를 반환하는 메소드

 

- .find()

문자열 내부에 포함된 특정 문자열을 찾고자 할 때 사용하는 메소드
찾고자 하는 문자열이 있다면 그 문자열이 처음 나온 위치(인덱스)를 반환
찾는 문자열이 없으면 -1반환

 

- .index()

find() 메소드와 같은 기능을 하며 사용방법도 동일함
찾는 문자열이 없으면 오류 발생

# .count()
sok = "내가 그린 기린 그림은 목 긴 기린 그림이고, 네가 그린 기린 그림은 목 짧은 기린 그림이다"
print(sok, type(sok))

print(sok.count("기린")) # sok이라는 문자열에서 "기린"이 몇번 나옴? => 4
print(sok.count("그림")) # sok이라는 문자열에서 "그림"이 몇번 나옴? => 4

# .find()
data = "best of Best"
print(data.find("best")) # data라는 문자열에서 'best' 몇번 "인덱스번호"부터 나오는지? => 0번
print(data.find("worst")) # find() 메소드는 "없는 문자열"을 찾고자 한다면 -1이 나옴

# .index()
print(data.index("best")) # find()메소드와 동일
# print(data.index("worst")) 
# index() 메소드는 없는 문자열을 찾으려고 하면 오류 발생!! ata.find("worst")) 
# find() 메소드는 없는 문자열을 찾고자 한다면 -1이 나옴

# .index()
print(data.index("best")) # find()메소드와 동일
# print(data.index("worst")) # index() 메소드는 없는 문자열을 찾으려고 하면 오류 발생



- 대소문자 변환 메소드

.upper() 모두 대문자로 변환한 결과를 반환

.lower() 모두 소문자로 변환한 결과를 반환

.capitalize() 첫글자는 대문자로 나머지는 소문자로 변환한 결과를 반환

 

★★★★★ 정말 많이 사용하는 메서드

- .join()

전달된 반복가능 객체의 각 요소 사이에 특정 문자를 포함시켜
하나의 문자열로 반환하는 메소드

- .split()

하나의 문자열을 여러개의 문자열로 분리하여 저장한 리스트를 반환

괄호 안에 아무것도 넣지 않으면 띄어쓰기를 기준으로 문자열이 분리되고,

괄호안에 문자열을 넣으면 해당 문자를 기준으로 문자열이 분리된다.

분리된 문자열은 List 타입으로 반환

 

- .replace()

문자열의 일부 문자열을 다른 문자열로 바꾼 결과를 반환하는 메소드
전달된 2개의 문자열 중에 첫번째 문자열을 두번째 문자열로 바꿈

 

 

- 불필요한 문자열 제거 메소드

.strip()   :   양쪽 끝에 있는 불필요한 문자열 제거 

.lstrip()   :   왼쪽 끝에 있는 불필요한 문자열 제거

.rstrip()   :   오른쪽 끝에 있는 불필요한 문자열 제거

 

 

 

- .isdigit()

문자열이 숫자로만 구성되어 있는지 확인하는 메소드

모든 문자가 숫자로만 구성되어 있으면 True,

문자가 단 하나라도 있으면 False를 반환

단, 실수나 음수는 안됨 ("-", "." 를 문자로 인식)

0과 양의 정수만 판단

반응형