본문 바로가기
대학교/데이터분석개론

2.파이썬의 제어문, 함수

by YS_LEE 2020. 6. 8.
반응형

if-else

 

if a>70:

    print("GOOD")

elif a>50: # (a<=70 and a>50)

    print("SOSO")

else : # (a<=50)

    print("BAD")

 

for Loop

 

for i in range(3,6):

  print(i) # 3 4 5

 

function

매개변수(parameter)와 인수(arguments)의 차이

매개변수는 함수에 입력으로 전달된 값을 받는 변수이고

인수는 함수를 호출할때 전달하는 입력값이다.

 

def 함수이름(매개변수)

    <함수 기능 실행>

    return 반환값,반환값

 

#파이썬은 함수가 매우 자유롭다.

파라미터 개수를 하나만 받을 수도,

여러개 받을 수도 있으며(매개변수 앞에 *을 붙이면 된다),

키워드 파라미터(매개변수 앞에 **)로 딕셔너리 저장등 도 가능하다.

반환값을 여러개로도 반환 가능하다.

 

lambda

복잡하지 않은 함수를 나타낼 때 사용, "미니함수"

 

lambda 매개변수1, 매개변수2, ... : 매개변수를 이용한 표현식

 

add = lambda a, b : a+b

result=add(3,4)

 

조건부 표현식

lambda 매개변수: (식1) if 조건식 else (식2)

 

(람다식에서 if elif는 지원하지 않는다

억지로 람다쓰지말고 def함수 쓰자)

 

k = lambda x: str(x) if x%3==0 else x

print(k(1)) # 1

print(k(9)) # '9'

 

map

Apply a function to each element of an iterable.

map(f,s) -> f는 함수(람다식도 가능), s는 iterable 

iterable: member를 하나씩 차례로 반환 가능한 object(list,str,tuple 등)

 

>>> a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

>>> list(map(lambda x: str(x) if x % 3 == 0 else x, a))

 

>>>x=[0,1,2,3]

>>>y = map(lambda z: z+200,x)

 

 

filter

반복 가능한 객체에서 특정 조건에 맞는 요소만 가져오기(필터링)

 

>>> def f(x):

...     return x > 5 and x < 10

...

>>> a = [8, 3, 2, 10, 15, 7, 1, 9, 0, 11]

>>> list(filter(f, a))

[8, 7, 9]

 

반응형

'대학교 > 데이터분석개론' 카테고리의 다른 글

5.2-Python Pandas_DataFrame  (0) 2020.06.12
5-1.Python Pandas_Series  (0) 2020.06.12
4.Pyplot Visualization  (0) 2020.06.08
3.Python Numpy  (0) 2020.06.08
1. 파이썬의 자료구조  (0) 2020.06.08