#내장함수
#abs() : 절대값을 리턴함
print(abs(10))
print(abs(-10))
print(abs(-3.14))
#all() : 값이 모두 참이면 true 거짓이 하나라도 있으면 false
# 모든 값에 대하여 and 연산한 것
# 반복 가능한 자료형에 대해서 :리스트 ,딕셔너리
array=[1.2,3]
print(all(array))
array=["hong","tom",""]
print(all(array))
array=[1,2,0]
print(all(array))
#참인지 거짓인지 에 대한 자료형
#ex10 예제 참조
#참인 자료형 (true) 거짓인자료형 (false)
#"python" ""반문자열은 false
# [1,2,3] []빈 배열은 false
# ()빈 튜플은 false
#0이 아닌 숫자 0 숫자 0은 false
# None(undefined) 빈 객체는 false
#any () : 값 중에서 하나라도 참이면 true, 모두 거짓이면 false
# :모든 값에 대해서 or 연산한 것
array=[1,2,0]
print(any(array))
array=["hong","tom",""]
print(any(array))
print(any([])) #빈 배열
print(any(())) #빈 튜플
a=None
print(any([1,2,a]))
#chr() :아스키코드 값을 입력받아 해당하는 문자를 리턴
print(chr(48)) #0
print(chr(97)) #a
print(chr(65)) #A
#dir () :객체가 가지고 있는 변수나 함수의 목록을 배열로 리턴
#__함수이름 __ : 오버라이드함수(재정의)에서 자식함수가 아닌 부모함수로 호출
array=[1,2,3]
arrayFuncs =dir(array)
print(arrayFuncs)
dic={'name':'hong'}
dicFuncs=dir(dic)
print(dicFuncs)
#divmod() 2개의 숫자를 입력받아, 몫과 나머지를 튜플로 리턴
print(divmod(10,3)) #(3,1)
print(divmod(1.3,0.2)) #무한 소수(6.0, 0.099999999999998)
#enumerate() : 순서있는 자료형 (list,tuple,string)을 열거할 때 사용
array=["hong","tom","hana"]
for item in array:
print(item)
#인덱스도 같이 표현하고 싶다
for index,item in enumerate (array) :
print(index,item)
#eval() : 문자열을 코드로 실행하게 해줌 PHP eval()
string ="10 + 20"
print (eval(string))
string="chr(97)"
print(eval(string))
#filter() : 함수를 통해 걸러내진 결과를 리턴
def plusNum(i):
return i >0
#함수이름, 배열(리스트)
array=list(filter(plusNum,[1,-1,2,-2]))
print(array)
#lambda : 코드 블럭의 표현식
def printName(name):
print(name)
return name+'님'
result =printName('홍길동')
print(result)
#람다식은 코드블럭을 변수로 만든다. 매개변수로 전달 또는 호출
printMyName=lambda name: print(name)
#람다식 변수를 호출한다
printMyName('홍길동')
printMyAge=lambda age: print(age)
#람다식 변수는 객체이므로 리스에 들어갈 수 잇음
array=[lambda name:print(name), lambda age: print(age)]
array[0]('홍길동')
array[1]('30')
#filter() 함수와 연동 true/false리턴
def plusNum(i):
return i >0
plusMyNum=lambda i: i>0
array=list(filter(plusMyNum,[1,-1,2,-2]))
print(array)
array=list(filter(lambda i: i>0,[1,-1,2,-2]))
print(array)
#hex() : 정수값을 입력받아 16진수로 리턴
print(hex(100))
print(hex(255))
print(hex(15))
#id() : 객체의 주소값 (레퍼런스)을 리턴
a=10
print(id(a))
print(hex(id(a)))
b=a
print(hex(id(b))) #a와 객체 주소값이 같음
#int() 정수값으로 형변환
print(int('10'))
print(int(3.14))
print(int('1111',2))
print(int('ffff',16))
#ininstane() : 클래스 속성 판단= true/false로 반환
class Person:
name='홍길동'
#객체 생성
person=Person()
print(isinstance(person,Person)) #true
student=10
print(isinstance(student,Person)) #false
#len() :입력 객체의 길이 리턴
print(len([1,2,3]))
print(len('abcdef'))
print(len((10,20,30))) #튜플
print(len({1:10,2:20,3:30})) #딕셔너리
#list(): 반복가능한 객체를 리스트로 만들어 리턴
print(list('abcdef')) #문자열
print(list((1,2,3))) #튜플
print(list([1,2,3])) #리스트를 넣으면 그대로 리스트 리턴
print(list({1:10,2:20,3:30})) #딕셔너리는 안됨
#map(): 반복가능한 객체를 입력받아 결과를 배열로 리턴
array=[1,2,3,4,5]
def multiply(x):
return x*10
arrayMap=list(map(multiply,array))
print(arrayMap)
lambdaVar= lambda x: x*10
arrayMap=list(map(lambdaVar,array))
print(arrayMap)
arrayMap=list(map(lambda x:x*10,array))
print(arrayMap)
#max() : 반복간으한 객체를 입력받아 최대값을 리턴
print(max([1,3,4,2]))
print(max('python programming')) #아스키 코드값 비교
#min() : 최소값 리턴
print(min([1,3,4,2]))
print(min('python_programming')) #아스키 코드값 비교
#oct() : 정수값을 8진수로 리턴
print(oct(15))
print(oct(7))
print(oct(8))
#ord() :문자를 아스키 코드 숫자로 리턴
print(ord('a'))
print(ord('A'))
print(ord('0'))
#pow() :x의 y제곱값을 리턴
print(pow(2,3)) #2의 3승
print(pow(10,3)) #10의 3승
#range() : 범위 객체를 리턴
print(range(10))
print(list(range(10)))
print(list(range(1,10))) #1부터 9까지
print(list(range(1,100,2)))#1부터 99까지 2씩 증가
print(list(range(100,1,-1))) #100부터 1까지 -1씩 감소
#str() :객체를 문자열로 리턴
print(str(10)+'은 문자열임')
#type() : 객체의 타입을 리턴
print(type(10)) #<class 'int'>
print(type('hong')) #<class 'str'>
print(type(3.14)) #<class 'float>
print(type([1,2,3])) #<class 'list'>
print(type((1,2,3))) #<class 'tuple'>
print(type({1:10,2:20})) #<class 'dict'>
xxx=None #빈 객체 (널)
print(type(xxx)) #<class 'NoneType'>
#zip() : 여러 리스트에서 요소를 하나씩 가져옴
array1=[1,2,3,4,5]
array2=['a','b','c','d','e']
for x,y in zip (array1, array2):
print(x,y)