파이썬 프로그래밍의 기초:내장 함수

2018. 2. 2. 23:01Python-이론/python

내장 함수



파이썬 내부에는 프로그램을 편하게 사용하기 위해 제공해주는 기본함수들이 있다. 오늘은 그것을 알아보자.



abs

abs(x)는 어떤 숫자를 입력으로 받았을 때 그숫자의 절대값을 리턴해준다.


abs(3)
3
abs(-3)
3
abs(-1.2)
1.2


all

all(x)는 x를 입력 받아서 x가 모두 참이면 true를 반환하고 하나라도 거짓이면 False를 반환한다.


all([1,2,3])
True

all([0,1,2,3])
False


any

any(x)는 x 중 하나라도 참이 있을 경우 True를 리턴하고 모두 거짓이면 False를 리턴한다.


any([1,2,3,0])
True
any([0,""])
False


chr

아스키 코드값을 입력받아서 그 코드에 해당하는 문자를 출력한다.


char(97)
'a'
chr(48)
'0'


dir

dir은 객체가 자체적으로 가지고 있는 변수나 함수를 보여준다.


class simpleadd:
    def __init__(self):
        self.first = 10
        self.last = 10
    def add(self,first, last):
       result = first + last + self.first + self.last
       return result

add = simpleadd()

print(dir(add))
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'add', 'first', 'last']

이런 식으로 호출된다.



divmod

divmod는 두개의 값을 입력 받은 뒤에 a를 b로 나눈 몫과 나머지를 튜플 형태로 리턴하는 함수이다.


divmod(7,3)
(2,1)

divmod(8,4)
(2,0)


enumerate

이함수는 리스트, 튜플, 문자열을 입력 받아 인덱스 값을 포함하는 enumerate 객체를 리턴한다.


name = "hoon"
name2 = ["lee","sang","hoon"]
name3 = ("lee","sang","hoon")
print("문자열")
for (i,name) in enumerate(name):
    print(i,name)
print("리스트")
for (i,name) in enumerate(name2):
    print(i,name)
print("튜플")
for (i,name) in enumerate(name3):
    print(i,name)

문자열
0 h
1 o
2 o
3 n
리스트
0 lee
1 sang
2 hoon
튜플
0 lee
1 sang
2 hoon


eval

eval은 실행가능한 문자열로 입력을 받아서 실행하는 것이다. 예를 들어 코드이긴 하나 문자열로 된 코드를 이함수에 넣고 실행하면 실행이 된다.

eval('divmod(4,3)')
(1,1)


hex

hex(x)는 정수값을 입력받아 16진수로 변환하여 리넡하는 함수이다.


print(hex(2))
print(hex(35))
0x2
0x23


id

id는 객체를 입력받아서 고유 주소값을 리턴하는 함수이다.


a=3
print(id(3))
print(id(a))
b = a
print(id(b))


input

input은 프로그래머가 값을 입력하고 싶을때 사용하는 함수이다.

a = input()
"my life is long but Fire"


int

문자열형태의 숫자나 소수점이 있는 숫자 등을 정수형태로 반환해주는 함수이다.


int('3')
3
int ('3.4')
3
#2진수 11을 십진수로 표현
int('11'.2)
3
#16진수 1A를 십진수로 표현
int('1A',16)
26


isinstance

이함수는 인자로 인스턴스와 클래스를 받는데 인스턴스가 클래스를 통해 만들어진 함수인지 체크한다.


class simpleadd:
    def __init__(self):
        self.first = 10
        self.last = 10
    def add(self,first, last):
       result = first + last + self.first + self.last
       return result

add = simpleadd()

print(isinstance(add,simpleadd))
True


lambda

lambda는 def와 동일한 기능을 수행하면서 조금 더 간략하게 한줄로 만들어서 함수를 사용할 수 있다.


#lambda 인수1,인수2,인수3......:코드
sum = lambda a,b: a+b
sum(3,4)


len

len(s)는 입력값 s의 길이를 리턴하는 함수이다.


len("python")
6
len([1,2,3])
3
len((1,'a'))
2


list

list는 리스트, 문자열 등을 받아서 리스트로 반환해주는 역활을 한다.


list("python")
['p','y','t','h','o','n']


max

리스트, 문자열 등을 인수로 받아서 가장 큰 값을 반환하게 해주는 함수이다.


max([1,2,3])
3
max("python")
y


min

리스트, 문자열 등을 인수로 받아서 가장 적은 값을 반환해주는 함수이다.


min([1,2,3])
1
min("python")
'h'


oct

oct는 일반 숫자를 8진수로 반환해주는 함수이다.


oct(34)
'0o42'
oct(12345)
'0o30071'


ord

ord는 문자의 아스키 코드값을 리턴하는 함수이다.


ord('a')
97
ord('0')
48


pow

인수두개를 받아서 pow(a,b) a의 b승이 된다.


pow(2,4)
16
pow(3,3)
9


str

str은 문자열 형태로 객체를 변환하여 리턴하는 함수이다.


str(3)
'3'
str('hi')
'hi'
str('hi'.upper())
'HI'


tuple

tuple은 리스트, 문자열 등을 입력받아서 튜플형태로 바뀌어서 리턴해준다.


tuple("abc")
('a','b','c')
tuple([1,2,3])
(1,2,3)
tuple((1,2,3))
(1,2,3)


type

입력값의 자료형이 무엇인지 알려주는 함수이다.


type("abc")

type([])

type(open("test",'w'))



zip

zip(interable*)은 동일한 개수로 이루어진 자료형을 묶어주는 역활을 하는 함수이다.


list(zip([1,2,3],[4,5,6])
[(1,4),(2,5),(3,6)]
list(zip([1,2,3],[4,5,6],[7,8,9])
[(1,4,7),(2,5,8),(3,6,9)]