Python #23 l 파이썬 날개달기_내장함수

신승호·2021년 3월 26일
0

Python

목록 보기
24/35
post-custom-banner

List

  • 파이썬 날개달기
    • 클래스(class)
    • 모듈(module)
    • 패키지(package)
    • 예외처리(exception)
    • 내장함수
    • 라이브러리(library)
    • 연습문제

파이썬 날개달기_내장함수


내장함수

abs

  • abs(x)는 어떤 숫자를 입력 받았을 때, 그 숫자의 절대값을 돌려주는 함수
>>> abs(3)
3
>>> abs(-3)
3
>>> abs(-1.2)
1.2

all

  • all(x)반복가능한(utterable) 자료형 x를 인수로 받으며, 이 x의 요소가 모두 참이면 True, 거짓이 하나라도 있으면 False를 돌려준다.

반복 가능한 자료형이란?

  • for 문을 그 값으로 출력 할 수 있는 것을 의미
  • ex) 리스트, 튜플, 문자열, 딕셔너리, 집합 등. .
>>> all([1, 2, 3])
True
>>> all([1, 2, 3, 0])
False				#  0 은 거짓이기 때문
>>> all([])
True				# 빈 값이면 True리턴

any

  • all(x)반복가능한(utterable) 자료형 x를 인수로 받으며, 이 x의 요소가 하나라도 참이 있으면 True를 돌려주고, 모두 거짓이면 False를 돌려준다

    all(x)와 반대

>>> any([1, 2, 3, 0])
True				# 1, 2, 3, 이 참이기 때문에 
>>> any([0, ""])
False				# 0과 “” 는 모두 거짓임
>>> any([])
False				# 빈 값인 경우 false 리턴

chr

chr(i)아스키(ASCII)코드 값을 입력 받아 그 코드에 해당하는 문자를 출력

아스키(ASCII)코드 : 0 에서 127 사이의 숫자를 각각 하나의 문자 or 기호로 대응시켜놓은 것

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

ord

ord(‘문자’) 문자의 아스키 코드값을 돌려주는 함수

ord 함수chr함수와 반대

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

dir

dir(반복 가능한(iterable) 자료형))은 객체가 자체적으로 가지고 있는 변수 or 함수를 보여준다.

***리스트와 딕셔너리의 객체 관련 함수(메서드)를 보여주는 예
>>> dir([1, 2, 3])
['append', 'count', 'extend', 'index', 'insert', 'pop',...]
>>> dir({'1':'a'})
['clear', 'copy', 'get', 'has_key', 'items', 'keys',...]

divmod

divmod(a,b)는 숫자 2개를 입력받아 a를 b로 나눈 나머지튜플 형태로 돌려준다.

>>> divmod(7, 3)
(2, 1)
>>> 7 // 3			# 몫을 구하는 연산자 “ // “
2
>>> 7 % 3			# 나머지를 구하는 연산자 “ % “
1

enumerate

enumerate순서가 있는 자료형(리스트, 튜플, 문자열)을 입력받아 인덱스(자료형의 현재 순서)값을 돌려준다.

보통 enumerate 함수는 for문과 자주 사용한다.

  • for문 처럼 반복되는 구간에서 객체가 현재 어느 위치에 있는지 알려주는 인덱스 값이 필요할 때 유용하다.
>>> for i, name in enumerate(['body', 'foo', 'bar']):
		print(i, name)
		
0 body                                             
1 foo
2 bar

eval

eval(expression)(expression)실행 가능한 문자열을 입력 받아 실행한 결괏값을 돌려준다.

주로 입력받은 문자열로 파이썬 함수나 클래스를 동적으로 실행하고 싶을 때 사용

>>> eval('1+2')
3
>>> eval("'hi' + 'a'")
'hia'
>>> eval('divmod(4, 3)')
(1, 1)

filter

filter함수는 결과 값이 참인 것만을 걸러낸다.
첫 번째 인수함수이름을, 두 번째 인수로 그 함수에 들어갈 반복 가능한 자료형을 받음

***아래의 positive 함수는 리스트를 입력값으로 받아 각각의 요소를 판별해서 양수 값만 돌려주는 함수 이다.

def positive(l): 
    result = [] 
    for i in l: 
        if i > 0: 
            result.append(i) 
    return result
>>>print(positive([1,-3,2,0,-5,6]))
[1, 2, 6]
***filter 함수 사용
def positive(x):
    return x > 0
>>>print(list(filter(positive, [1, -3, 2, 0, -5, 6])))
[1, 2, 6]
*** filter 과 lambda 사용
>>> list(filter(lambda x: x > 0, [1, -3, 2, 0, -5, 6]))
[1, 2, 6]

hex

hex(x) 정수 값을 입력 받아 16진수(hexacemical)로 변환해서 돌려주는 함수

>>> hex(234)
'0xea'
>>> hex(3)
'0x3'

id

id(object) 객체를 입력받아 객체의 고유 주소 값(레퍼런스)를 돌려주는 함수

>>> a = 3
>>> id(3)
135072304
>>> id(a)
135072304
>>> b = a
>>> id(b)
135072304
>>> id(4)
135072292

input

input(“문자열”) 사용자의 입력을 받는 함수, 매개변수로 문자열을 주면 그 문자열은 프롬프트가 된다.

>>> a = input()
hi
>>> a
'hi'
>>> b = input("Enter: ")
Enter: hi
>>> b
'hi'

int

int(x) 문자열 형태의 숫자, 소숫점이 있는 숫자를 정수형태로 돌려줌

>>> int('3')
3
>>> int(3.4)
3
  • int(‘x’, radix)는 ’x’자리엔 숫자, radix 자리엔 진수로 표현된 문자열이 들어가며, x10진수로 변환하여 돌려줌
>>> int('11', 2) 					# 2진수 11는 10진수 3
3
>>> int('1A', 16)				# 16진수 1A는 10진수 26
26

isinstance

isinstance(object, class) 첫 번째 인수로 인스턴스, 두 번째 인수로 클래스를 받음 / 입력된 인스턴스가 입력된 클래스의 인스턴지인지 판단해서 True, False를 돌려준다.

>>> class Person: 
		pass
>>> a = Person()
>>> isinstance(a, Person)
True
>>> b = 3
>>> isinstance(b, Person)
False

list

list(반복 가능한 자료형) 반복 가능한 자료형을 인수로 받아 리스트로 돌려주는 함수

>>> list("python")
['p', 'y', 't', 'h', 'o', 'n']
>>> list((1,2,3))
[1, 2, 3]
>>> a = [1, 2, 3]
>>> b = list(a)
>>> b
[1, 2, 3]

map

map(함수, 반복가능한 자료형)첫번째 인수로 함수(f)를 받고, 두번째 인수로 반복 가능한 자료형(utterable)을 입력받는다. 두번째 인수인 반복가능한 자료형을 첫 번쨰 인수인 함수가 수행해서 결과를 묶어서 돌려준다.

# two_times 함수는 리스트 요소를 입력받아 각 요소에 2를 곱한 결괏값을 돌려준다.
def two_times(numberList):
    result = [ ]
    for number in numberList:
        result.append(number*2)
    return result

result = two_times([1, 2, 3, 4])
print(result)
[2, 4, 6, 8]
*** map 함수 사용
>>> def two_times(x): 
...     return x*2
...
>>> list(map(two_times, [1, 2, 3, 4]))
[2, 4, 6, 8]
***map과 lambda 사용
>>> list(map(lambda a: a*2, [1, 2, 3, 4]))
[2, 4, 6, 8]

max

max(반복 가능한 자료형) 인수로 반복 가능한 자료형을 받아 그 최댓값을 돌려준다.

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

min

  • min(반복 가능한 자료형) 인수로 반복 가능한 자료형을 받아 그 최솟값을 돌려준다.
>>> min([1, 2, 3])
1
>>> min("python")
'h'

oct

oct(정수) 인수로 정수를 받고, 정수를 8진수 문자열로 돌려준다

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

open

open(“파일이름”, ‘읽기 방법’) 두번째 인수인 읽기 방법(mode)를 생략하면 기본값인 읽기 전용(r)로 진행된다.

읽기 방법(mode) 의 종류

  • w : write, 쓰기 모드로 파일열기
  • r : read, 읽기 모드로 파일열기
  • a : add, 추가 모드로 파일열기
  • b : binary(2진법), 바이너리모드로 파일열기
    *** bw r a와 함께 사용
>>> f = open("binary_file", "rb")		# 바이너리모드로 파일 열기
>>> fread = open("read_mode.txt", 'r')  	# 읽기 모드로 파일 열기
>>> fread2 = open("read_mode.txt")		# 읽기 모드로 파일 열기
*** 두번째 인수를 생략하면 기본값인 r모드가 된다.
>>> fappend = open("append_mode.txt", 'a')	# 추가 모드로 파일 열기

pow

pow(숫자1, 숫자2) 숫자1의 숫자2 제곱한 결과값을 돌려주는 함수다.

>>> pow(2, 4)
16
>>> pow(3, 3)
27

ragne

range(시작 숫자, 끝 숫자+1, 숫자사이의 거리)

range함수는 for문과 함께 자주 사용

>>> list(range(5)) 			#인수가 하나일 경우 (끝 숫자+1)을 뜻한다.
[0, 1, 2, 3, 4]				# range 함수는 0부터 시작한다.
>>> list(range(5, 10))			# 인수가 2개일 경우 (시작 숫자, 끝 숫자+1)을 뜻한다.
[5, 6, 7, 8, 9]			
>>> list(range(1, 10, 2)) 		# 3번 째 인수는 숫자사이의 거리를 말한다.
[1, 3, 5, 7, 9]
>>> list(range(0, -10, -1))
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]

round

round(숫자, 반올림하고 표시하고싶은 소숫점 자리 수(ndigits))

반올림하고 표시하고싶은 소숫점 자리 수(ndigits)는 없을 수도 있다.

>>> round(4.6)
5
>>> round(4.2)
4
>>> round(5.678, 2)					# 소숫점 2자리 까지 표시하겠다.
5.68

sorted

sorted(반복가능한 자료형) 반복가능한 자료형을 솔팅해서 리스트로 돌려주는 함수

리스트 자료형에도 sort 함수가 있긴 하지만 리스트 객체 그 자체를 정렬만 할 뿐 정렬된 결과를 돌려주지는 않는다.

>>> sorted([3, 1, 2])
[1, 2, 3]
>>> sorted(['a', 'c', 'b'])
['a', 'b', 'c']
>>> sorted("zero")
['e', 'o', 'r', 'z']
>>> sorted((3, 2, 1))
[1, 2, 3]

str

str(숫자 또는 문자) 인수를 문자열 형태로 객체변환해서 돌려준다.

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

sum

sum(반복가능한 문자열) 입력받은 반복가능한 문자열(리스트, 튜플)의 모든 요소의 합을 돌려준다

>>> sum([1,2,3])
6
>>> sum((4,5,6))
15

tuple

  • tuple(반복가능한 자료형) 반복가능 자료형을 튜플형태로 돌려준다.

튜플형태의 리스트는 수정이나 추가가 불가하다

>>> tuple("abc")				# 문자열형태 -> 튜플 형태
('a', 'b', 'c')
>>> tuple([1, 2, 3])				# 리스트 형태 -> 튜플 형태
(1, 2, 3)
>>> tuple((1, 2, 3))				# 튜플 형태 -> 튜플 형태
(1, 2, 3)

type

type(문자 또는 숫자) 입력된 값의 자료형이 무엇인지를 알려준다

>>> type("abc")
<class 'str'>
>>> type([ ])
<class 'list'>
>>> type(open("test", 'w'))
<class '_io.TextIOWrapper'>

zip

zip(반복가능한 자료형 여려개 입력 가능)동일한 개수로 이루어진 자료형들을 묶어 주는 함수다.

>>> 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)]
>>> list(zip("abc", "def"))
[('a', 'd'), ('b', 'e'), ('c', 'f')]
profile
신승홉니다
post-custom-banner

0개의 댓글