Python/기초

[Python] 내장함수와 외장함수

쇼미요미 2022. 5. 3. 00:21
728x90

안녕하세요. 쇼미요미입니다.

 

오늘은 내장함수와 외장함수에 대해서 알아보도록 하겠습니다.

 

 

1. 내장함수

- 파이썬에서 기본적으로 포함하고 있는 함수

 

1-1) 사용자 입력 값을 받는 함수 : input

print(int(input("숫자를 입력하세요: ")))

>>> 숫자를 입력하세요: 3
>>> 3

 

1-2) 절대값 판단 함수 : abs

print(abs(3))
>>> 3

------------------------------
print(abs(-3))
>>> 3

 

1-3) 모든 값이 참인지 거짓인지 판단 함수 : all

print(all([1, 2, 3]))
>>> True

---------------------------------------
print(all([1, 2, 3, 0]))
>>> False

 

1-4) 값 중 하나라도 참인지 판단 함수 : any

print(any([1, 2, 3, 0]))
>>> True

--------------------------------------
print(any([0, ""]))
>>> False

 

1-5) 어떤 객체를 넘겨줬을 때 그 객체가 어떤 변수와 함수를 가지고 있는지 알려주는 함수 : dir

print(dir([1,2,3]))

>>> ['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', 
'__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', 
'__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', 
'__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', 
'__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', 
'__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 
'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
print(dir({'1':'a'}))

>>> ['__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', 
'__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', 
'__gt__', '__hash__', '__init__', '__init_subclass__', '__ior__', '__iter__', '__le__', 
'__len__', '__lt__', '__ne__', '__new__', '__or__', '__reduce__', '__reduce_ex__', 
'__repr__', '__reversed__', '__ror__', '__setattr__', '__setitem__', '__sizeof__', 
'__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 
'pop', 'popitem', 'setdefault', 'update', 'values']
import random
print(dir(random))

>>> ['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 
'TWOPI', '_ONE', '_Sequence', '_Set', '__all__', '__builtins__', '__cached__', '__doc__', 
'__file__', '__loader__', '__name__', '__package__', '__spec__', '_accumulate', '_acos', 
'_bisect', '_ceil', '_cos', '_e', '_exp', '_floor', '_index', '_inst', '_isfinite', '_log', 
'_os', '_pi', '_random', '_repeat', '_sha512', '_sin', '_sqrt', '_test', '_test_generator', 
'_urandom', '_warn', 'betavariate', 'choice', 'choices', 'expovariate', 'gammavariate', 
'gauss', 'getrandbits', 'getstate', 'lognormvariate', 'normalvariate', 'paretovariate', 
'randbytes', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 
'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate']

 

1-6) 몫과 나머지를 튜플 형태롤 출력해주는 함수 : divmod

print(divmod(7, 3))

>>> (2, 1)

 

1-7) 더 많은 내장함수 정보를 알고 싶다면?

 

내장 함수 — Python 3.10.4 문서

내장 함수 파이썬 인터프리터에는 항상 사용할 수 있는 많은 함수와 형이 내장되어 있습니다. 여기에서 알파벳 순으로 나열합니다. abs(x) 숫자의 절댓값을 돌려줍니다. 인자는 정수, 실수 또는 __

docs.python.org

 

2. 외장함수

- 라이브러리 함수를 import 해서 쓰는 것

 

2-1) 확장자가 같은 모든 파일 찾는 함수 : glob

import glob
print(glob.glob("*.py"))

 

2-2) 현재 디렉토리 경로 알려주는 함수 : os

import os
print(os.getcwd())

-------------------------------------------------
import os
folder = 'sample'

if os.path.exists(folder):   #현재 경로에 해당하는 폴더가 있는지
    print("이미 존재하는 폴더입니다.")
    os.rmdir(folder)
    print("폴더를 삭제하였습니다.")
else:
    os.makedirs(folder)   #폴더 생성
    print(folder, "폴더를 생성하였습니다.")

 

2-3) 시간 관련 함수 : time

import time
print(time.localtime())

>>> time.struct_time(tm_year=2022, tm_mon=5, tm_mday=3, tm_hour=0, tm_min=16, tm_sec=18, 
tm_wday=1, tm_yday=123, tm_isdst=0)

-------------------------------------------------------------------------------------------
import datetime
print(datetime.date.today())

>>> 2022-05-03

 

2-4) 랜덤 함수 : random

import random
print(random.random()) # 0~1 사이의 난수

>>> 0.8323373520889928

-------------------------------------------
print(random.randint(1, 10)) #1~9까지의 난수

>>> 4

 

2-5) 더 많은 외장함수 정보를 알고 싶다면?

 

Python 모듈 목록 — Python 3.10.4 문서

numbers Numeric abstract base classes (Complex, Real, Integral, etc.).

docs.python.org

728x90