- 수를 절대값으로 바꿔주는 함수
- 첫 인자와 두 번째 인자로 나눴을때, 몫과 나머지를 튜플 객체로 반환하는 함수
val1, val2 = 9, 5
result_tuple = divmod(val1, val2)
print("divmod({0}, {1} => 몫: {2}, 나머지: {3}".format(val1, val2, *result_tuple))
- 여기서 *result_tuple에는 몫과 나머지가 저장된다.
- 파라미터1을 파라미터2만큼 제곱하는 함수
ex)
pow(3, 2) = 3^2 = 9
num_list = [1, 3, 5 ,7, 9]
list(map(lambda x: pow(x, 3), num_list))
- 위와 같이 람다로 함수를 구현하고, map으로 num_list의 튜플값들을 모두 제곱해서 리스트에 다시 저장하는게 가능하다.
- 반복 가능한 자료형(list, tuple, set, dictionary, 문자열)을 파라미터로 모두가 True면 True를 리턴, 그 외엔 False를 리턴하는 함수
value = [1, 3, 5]
print(all(value))
value = [0, 3, 5]
print(all(value))
1번 예제는 모두 1 이상이므로 1과 같이 True를 반환하고 2번 예제는 0이 존재하므로 False를 반환한다.
- all()함수와 비슷하지만 모두가 False면 false를 반환하고 그 외에 하나라도 True이면 True를 반환하는 함수
value = [0, 0, 1]
print(all(value))
value = [0, 0, 0]
print(all(value))
위의 예제 1은 1이 포함되어 모두 False가 아니므로 True, 예제 2는 False를 반환한다.
List, Tuple, 문자열과 같은 시퀀스형을 입력받아 인덱스를 포함하는 튜플 객체를 항목으로 구성하는 enumerate 객체를 반환하는 함수
num_list = [1, 2, 3, 4, 5]
for idx, val in enumerate(num_list):
print("num_list[{0}]: {1}".format(idx, val))
for object in enumearate(num_list):
print("object : {0}, {1}".format(object[0], object[1]))
위와 같이 enumerate로 튜플의 index, value를 저장해 각각 출력도 가능하고,
2번 예제처럼 object[0] = 인덱스, object[1] = 인자를 넣어 모든 튜플값을 출력할 수 있다.
조건에 해당하는 항목을 걸러내는 함수
def iseven(num):
return num % 2 == 0
# 짝수면 true
numbers = [1, 2, 3, 4, 5]
ret_val = filter(iseven, numbers)
# ret_val = filter(lambda n: n % 2 ==0, numbers)
print("{0}".format(type(ret_val)))
print("{0}".format(list(ret_val)))
- type으로 반환한 객체는 filter 객체다.
filter객체를 list로 바꿔 출력한다.- 결론적으로, 함수식에서 true를 반환하게 만든 num값을 filter로 가져오는 함수인 것이다.
- list() : 리스트로 변환
- tuple() : 튜플로 변환
- set() : 셋으로 변환(중복x)
- dict(): 딕셔너리로 변환. (key, value)를 가짐.
data_str = "Hello"
data_list = list(data_str)
data_tuple = tuple(data_list)
data_set = set(data_tuple)
data_dict = dict(enumerate(data_set))
print("dict({0}) => {1} {2}".format(data_set, type(data_dict), data_dict))
- 두 번째 인자로 반복 가능한 자료형을 받아와 자료형의 각 항목에 대해 첫 번째 인자로 전달 받은 함수를 적용한 결과를 맵 객체로 변환하는 함수
data_list = list("abcdefghi")
result = list(map(lambda x: x.upper(), data_list))
- 위와 같이 적용할 식과, 리스트를 map으로 적용하면, 모든 리스트의 인자가 대문자로 바뀐다.
- max()는 리스트, 튜플 등에서 최대값, min은 최소값을 구하는 함수이다.
- range(시작, 종료, 증감치)로 범위를 나타내는 함수다.
- sorted 함수는 기본적으로 객체를 오름차순으로 정렬해준다. 그리고 reversed()함수로 순서를 바꿔 내림차순으로 정렬도 가능하다.
- 둘 이상의 반복 가능한 자료형을 파라미터로 해서, 동일 위치의 항목을 묶어 튜플로 구성하는 zip객체를 생성하는 함수
- 단, 인자는 동일 자료형, 같은 항목의 갯수가 필수다.
data_list1 = [1, 2, 3]
data_list2 = [4, 5, 6]
data_list3 = ["a", "b", "c"]
print("list(zip({0}, {1})) => {2}".format(data_list1, data_list2, list(zip(data_list1, data_list2))))
결과 : list(zip([1, 2, 3], [4, 5, 6])) => [(1,4), (2, 5), (3, 6)]
- 결과에서 알 수있듯 같은 인덱스에 해당하는 인자가 묶인다.
- chr() : 정수에 해당하는 유니코드를 문자로 반환.
- ord() : 문자를 정수에 해당하는 정수로 반환
- hex() : 정수를 16진수로 반환
- 인자로 전달된 객체가 가진 변수, 메소드와 같은 속성 정보를 리스트 객체로 반환해줌. 인자를 전달하지 않고 호출하면 지역 스코프에 대한 정보를 리스트 객체로 반환.
- 현재의 전역 심볼 테이블을 보여주는 딕셔너리를 반환
-> 전역변수와 함수, 클래스의 정보 포함
- 현재의 지역 심볼 테이블을 보여주는 딕셔너리를 반환
-> 매개변수를 포함한 지역변수와 중첩함수의 정보 포함
- 인자를 가진 객체의 주소값(참조값)을 반환
-1. 첫 인자가, 두 번째 인자의 클래스의 인스턴스인지를 true/false로 반환
- 첫 인자가, 두 번째 인자의 클래스의 서브클래스인지를 true/false로 반환
- 문자열을 인자로 받아 문자열의 표현식을 실행한 경과값 반환.
express = "2 + 5 * 10"
print(eval(express))
2.
express = "hello, ssafy".upper()"
print(eval(express))
> - 이 경우에는 문자열로 표현되어있지만, 1은 52를 반환하고 2는 모두 대문자로 바꿔준다.