클라이언트/ 서버/ 엔지니어 " 게임 개발자"를 향한 매일의 공부일지

파이썬 날개 달기 6 - 내장 함수 1 본문

프로그래밍 언어/파이썬

파이썬 날개 달기 6 - 내장 함수 1

huenuri 2024. 9. 8. 01:37

지금까지 파이썬으로 프로그래밍을 하기 위해 알아야 하는 것들을 대부분 공부했다. 이제는 공부를 위해 누군가 만들어 놓은 프로그램을 만들 수 있는 방법을 학습해보기로 하자. 무언가 새로운 프로그램을 만들기 전에 이미 만들어진 것들, 그중에서도 특히 파이썬 배포본에 함께 들어있는 파이썬 라이브러리를 살펴보는 것이 중요하다.

이미 몇 가지 내장 함수를 배웠다. print, del, type 등이 바로 그것이다. 이러한 파이썬 내장 함수는 파이썬 모듈과 달리 import가 필요하지 않기 때문에 아무런 설정 없이 바로 사용할 수 있다.

 

모든 것을 다 학습할 필요는 없지만 알아두면 좋으니 차근차근 살펴보기로 하자.


 

 

 

1. abs

abs(x)는 어떤 숫자를 입력받았을 때 그 숫자의 절대값을 리턴하는 함수이다.


 

 

 

2. all

all(x)는 반복 가능한 데이터 x를 입력값으로 받으며 이 x의 요소가 모두 참이면 True, 거짓이 하나라도 있으면 False를 리턴한다.

 

요소 0은 거짓이므로 False를 리턴한다.


 

 

 

3. any

any(x)는 반복 가능한 데이터 x를 입력으로 받아 x의 요소 중 하나라도 참이면 True, 거짓이 하나라도 있으면 False를 리턴한다.


 

 

 

4.  chr

chr(i)는 유니코드 숫자 값을 입력 받아 그 코드에 해당하는 문자를 리턴하는 함수이다.


 

 

 

5. dir

객체가 지닌 변수나 함수를 보여주는 함수이다.

 

이것은 리스트와 딕셔너리가 지닌 함수를 보여주는 예이다.


 

 

 

6. divmod

divmod(a, b)는 2개의 숫자 a, b를 입력 받는다. 그리고 a를 b로 나눈 몫과 나머지를 튜플로 리턴한다.


 

 

 

7. enumerate

열거하다는 뜻으로 순서가 있는 데이터(리스트, 튜플, 문자열)를 입력 받아 인덱스 값을 포함하는 enumerate 객체를 리턴한다.

 

인덱스 값과 함께 body, foo, bar가 순서대로 출력되었다. for 문처럼 반복되는 구간에서 객체 현재 어느 위치에 있는지 알려주는 인덱스 값이 필요할 때 enumerate 함수를 사용하면 매우 유용하다.


 

 

 

8. eval

문자열로 구성된 표현식을 입력으로 바 ㄷ아 해당 문자열을 실행한 결과값을 리턴하는 함수이다.


 

 

 

9. filter

무언가를 걸러낸다는 뜻으로 filter 함수도 이와 비슷한 기능을 한다. 첫 번째 인수로 함수, 두 번째 인수로 그 함수에 차례로 들어갈 반복 가능한 데이터를 받는다. 그리고 반복 가능한 데이터의 요소 순서대로 함수를 호출했을 때 리턴값이 참인 것만 묶어서 리턴한다.

 

positive는 리스트를 입력 받아 양수만 리턴하는 함 수이다. filter 함수를 사용하면 위 내용을 다음과 같이 작성할 수 있다.


 

 

 

람다 함수를 사용하면 더욱 간단해진다.


 

 

 

 

10. hex

hex(x)는 정수를 입력 받아 16진수 문자열로 변환하여 리턴하는 함수이다.


 

 

 

 

11. id

id(object)는 객체를 입력 받아 객체의 고유 주소값(레퍼런스)을 리턴하는 함수이다.

 

3, a, b가 모두 같은 객체를 가리키고 있다.

 

 

4는 다른 주소값임을 알 수 있다.


 

 

 

 

12. input

input([prompt])는 사용자 입력을 받는 함수이다. 입력 인수로 문자열을 전달하면 그 문자열은 프롬프트가 된다.


 

 

 

13. int

int(x)는 문자열 형태의 숫자나 소수점이 있는 숫자를 정수로 리턴하는 함수이다

 

int(x, radix)는 radix 진수로 표현된 문자열 x를 10진수로 변환하여 리턴한다. 예를 들어, 2진수로 표현된 '11'의 10진수의 값은 다음과 같이 구할 수 있다.

 

 

 


 

 

 

학습을 마치고

내장 함수의 기능이 너무 많아서 다음 포스트에서 이어서 학습하려고 한다. 그동안 모르고 사용했던 내장 함수들이 정말 많다는 것도 알게 되었다.

좀더 힘을 내서 학습해보자.