ICT COG Academy 4일차(1)

배운것 : 함수 ,람다식, pandas, numpy 를 사용한 csv파일 및 df편집

 

함수: 독립된 명령, 필요할때마다 호출해서 사용

종류: 인스턴스 함수, 내장 함수

 

인스턴스 함수: 단독으로 사용가능, replace(), format, upper()등등..

a=[1,2,3,4,5]
a.append(6)
print(a) //출력 [1,2,3,4,5,6]

내장 함수: python 내부에 이미 구현되어있는 함수

//내장함수
a=[1,2,3,4]
length=len(a)
print(length) //출력 4

함수 구현: 정의된 함수 뒤에 ":"을 붙여 수행할 코드 블럭을 만들어 놓는다.

def add(x,y):
	n=x+y
    return n
    
pritn(add(2,7)) //출력 9

default parameter(기본 인자 설정): 함수의 파라미터에 기본값 지정 가능, 파라미터에 값을 넣지 않으면, 사전에 지정한 값으로 자동설정

def print_x_y_z(x,y=10,z=5):
	print(f"x: {x}, y : {y}, z : {z}")
    
print_x_y_z(1,2,3) //출력 x: 1, y : 2, z : 3
print_x_y_z(1) //출력 x: 1, y : 10, z : 5
print_x_y_z(1,100) //출력 x: 1, y : 100, z : 5

deafulat parameter 오른쪽에 일반 파라미터는 올 수 없으니 주의

//올바르지 않는 예시

def test(x,y=1,z)
def test(x=1,y,z)
def test(x=1,y=1,z)

keyword parameter: 함수의 파라미터 이름을 직접 명시하여 전달,키워드 파라미터는 반드시 일반 파라미터 뒤에 와야된다.

def test(x,y,z=30):
	print(f"x: {x}, y: {y}, z: {z}")
test(10,20,30) //출력 x:10 y:20 z:30
test(y=20,z=30,x=10) //출력 x:10 y:20 z:30
test(10,y=20) //출력 x:10 y:20 z:30

multiple return : 복수 개의 값을 리턴한다. tuple로 자동 변환되어서 나온다.

def add_mul(x,y):
	add_result=x+y
    mul_result=x*y
    return add_result, mul_result
    
print(add_mul(10,20)) //출력 (30,200)
r1,r2=add_mul(10,20)
print(r1) //출력 30
print(r2) //출력 200

가변 길이 파라미터: 전달되는 파라미터의 개수가 고정적이지 않을때 사용. 보통 "*args"로 표현한다,

def test(*args):
	for item in args:
    	print(item)
        
test(10,2,30)
//출력
10
2
30

키워드 파라미터: **이 붙은 상태으 파라미터를 의미. 파라미터의 이름과 함께 값을 전달. dictionary의 형태로 파라미터가 결정된다.

def test2(**kwargs):
	for item in kwargs.items():
    print(item)
    
test2(
	name="Alex",
    age=27,
    email="abcdefg@gmail.com"
)
//출력
('name','Alex')
('age',27)
('email','abcdefg@gmail.com')
def test3(*args, **kwargs):
	print(args)
    print(kwargs)
    
test3(10,20,30,"a":1,"b":2,"c":3)
//출력
(10,20,30)
{'a':1,'b':2,'c':3}

람다식: 단일문으로 표현되는 익명함수. 1회성이다.

//x를 제곱하는 함수
def a1(x):
	return x**2
a1(5) //출력 25

//람다로 변경시
a2=lambda x: x**2
a2(5) //출력 25

람다식을 사용하여 리스트내의 이름을 글자 순대로 정렬

names=["alex","bob","teddy"]

names.sort(key=lambda s:len(s))
names

sort에서의 키값은 정렬기준을 뜻한다. 

'ICT COG Academy > AI 기본' 카테고리의 다른 글

ICT COG Academy 5일차(1)  (0) 2021.03.06
ICT COG Academy 4일차(2)  (0) 2021.03.05
ICT COG Academy 3일차  (0) 2021.03.01
ICT COG Academy 2일차(2)  (0) 2021.02.23
ICT COG Academy 2일차(1)  (0) 2021.02.21