본문 바로가기

언어/Python

내장함수

#내장함수 

#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)
















































































'언어 > Python' 카테고리의 다른 글

외장함수  (0) 2019.11.25
반복문~ 함수~ 예외처리  (0) 2019.11.22
자판기 프로그램 만들기 !  (0) 2019.11.22
문자열~리스트~조건,반복문  (0) 2019.11.21
변수~문자열  (0) 2019.11.20