와이드윤 2020. 12. 23. 17:38
728x90

"""

20200818

파이썬 공부 19일차

"""

 

6일만에 공부하네.. 반성 또 반성

어제 오늘 몸살 때문에 난리다

 

# len

len(s)은 입력값 s의 길이(요소의 전체 개수)를 돌려주는 함수다.

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

 

# list

list(s)는 반본 가능한 자료형 s를 입력받아 리스트로 만들어 돌려주는 함수다.

print(list('python'))
print(list((1, 2, 3)))
>>> ['p', 'y', 't', 'h', 'o', 'n']
>>> [1, 2, 3]

리스트 함수에 리스트를 입력으로 주면 똑같은 리스트를 복사하여 돌려준다.

a = [1, 2, 3]
b = list(a)
print(b)
>>> [1, 2, 3]

 

# map

map(f, iterable)은 함수(f)와 반복 가능한(iterable) 자료형을 입력으로 받는다.

map은 입력받은 자료형의 각 요소를 함수 f가 수행한 결과를 묶어서 돌려주는 함수다.

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
print(list(map(two_Times, [1, 2, 3, 4])))
>>> [2, 4, 6, 8]

lambda를 사용하면 간략하게 사용이 가능하다.

print(list(map(lambda a: a * 2, [1, 2, 3, 4])))
>>> [2, 4, 6, 8]

 

# max

max(iterable)은 인수로 반복가능한 자료형을 입력받아 그 최댓값을 돌려주는 함수다.

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

y가 출력된 이유는 python 중 a~z에서 가장 마지막에 위치한 알파벳이기 때문이지

 

# min

max에 반해 min(iterable)은 인수로 반복가능한 자료형을 입력받아 그 최솟값을 돌려주는 함수다.

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

 

# oct

oct(x)는 정수 형태의 숫자를 8진수 문자열로 바꾸어 돌려주는 함수다.

print(oct(24))
print(oct(5432))
>>> 0o30
>>> 0o12470

 

# open

open(filename, [mode])은 '파일 이름'과 '읽기 방법'을 입력받아 파일 객체를 돌려주는 함수다.

읽기 방법(mode)을 생략하면 기본값인 읽기 전용 모드(r)로 파일 객체를 만들어 돌려준다.

  1. 모드 w: 쓰기 모드로 파일 열기
  2. 모드 r: 읽기 모드로 파일 열기
  3. 모드 a: 추가 모드로 파일 열기
  4. 모드 b: 바이너리 모드로 파일 열기

b는 w, r, a와 함께 사용한다.

 

# ord

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

ord 함수와 chr 함수는 정반대인 함수다.

print(ord('a'))
print(ord('~'))
>>> 97
>>> 126

 

# pow

pow(x, y)는 x의 y 제곱한 결괏값을 돌려주는 함수다.

print(pow(2, 5)) # 2의 5제곱
print(pow(5, 2)) # 5의 2제곱
>>> 32
>>> 25

 

# range

range([start,] stop [,step])는 for문과 함께 자주 사용하는 함수인데,

입력받은 숫자에 해당하는 범위 값을 반복 가능한 객체로 만들어 돌려준다.

 

1. 인수가 하나일 경우; 시작 숫자를 지정해 주지 않으면 range 함수는 0부터 시작한다.

print(list(range(5)))
>>> [0, 1, 2, 3, 4]

 

2. 인수가 2개일 경우; 입력으로 주어지는 2개의 인수는 시작 숫자와 끝 숫자다. 끝 숫자는 해당 범위에 포함되지 않으니 주의합시당

print(list(range(5, 11))) # 11은 포함 X
>>> [5, 6, 7, 8, 9, 10]

 

3. 인수가 3개일 경우

세 번째 인수는 숫자 사이의 거리다.

print(list(range(1, 11, 2))) # 1부터 10까지, 숫자 사이의 거리는 2
print(list(range(0, -10, -1))) # 0부터 -9까지, 숫자 사이의 거리는 -1
>>> [1, 3, 5, 7, 9]
>>> [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]

 

# round

round(number[, ndigits]) 함수는 숫자를 입력받아 반올림해주는 함수다.

print(round(2.2))
print(round(3.7))
>>> 2
>>> 4

 

소수점 n자리까지 표기하고 싶을 땐 ', n'을 추가하면 된다.

print(round(3.7652, 2))
>>> 3.77

 

# sorted

sorted(iterable) 함수는 입력값을 정렬한 후 그 결과를 리스트로 돌려주는 함수다.

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

리스트 자료형에도 sort 함수가 있다.

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

 

# str

str(object)은 문자열 형태로 객체를 변환하여 돌려주는 함수다.

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

 

# sum

sum(iterable)은 입력받은 리스트나 튜플의 모든 요소의 합을 돌려주는 함수다.

print(sum([9, 1, 7]))
print(sum((1, 9, 9, 6)))
>>> 17
>>> 25

 

# tuple

tuple(iterable)은 반복 가능한 자료형을 입력받아 튜플 형태로 바꿔 돌려주는 함수

이 역시 튜플이 입력으로 들어오면 그대로 돌려준다.

print(tuple("wideyoon"))
print(tuple([9, 1, 7]))
print(tuple((9, 6)))
>>> ('w', 'i', 'd', 'e', 'y', 'o', 'o', 'n')
>>> (9, 1, 7)
>>> (9, 6)

 

# type

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

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

 

# zip

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

*iterable은 반복 가능한 자료형 여러 개를 입력할 수 있다는 의미

print(list(zip([1, 2, 3], [4, 5, 6])))
print(list(zip([1, 2, 3], [4, 5, 6], [7, 8, 9])))
print(list(zip("abc", "def")))
>>> [(1, 4), (2, 5), (3, 6)]
>>> [(1, 4, 7), (2, 5, 8), (3, 6, 9)]
>>> [('a', 'd'), ('b', 'e'), ('c', 'f')]

 

으아 내장 함수 드디어 끝 5단원 진짜 오래 걸리네

 

 

728x90