본문 바로가기

DS/fast campus daily report

7.3 (데이터엔지니어링) 기본 파라미터, 키워드 파라미터 이해, 변수의 스코프 이해-2, 3

기본 파라미터, 키워드 파라미터 이해, 변수의 스코프 이해-2 (17:02), 3 (19:47)

print 함수

  • sep, end, file 등
  • 기본 파라미터 뒤에 일반 파라미터가 올 수 없음
# 기본 파라미터 위치
def test (a,b=3,c=1):
    print (a,b,c)
    
test(10,20,1)

def test (a,b=3,c):
    print (a,b,c)
    
test(10,20,1)

keyword parameter (키워드 파라미터)

  • 파라미터의 이름을 명시하여 전달 가능
  • 이름이 없을 경우, 순서대로
# keyword parameter

test (x=1,y=3,z=3) # 기본파라미터를 하거나, 기본파라미터를 이용하지 않거나

multiple return (복수 값 반환)

  • tuple반환 이용
  • return 만 존재하면 None 반환
  • return이 없는 경우, 이 때도 None 반환
def weird_mul(x, y):
    if x > 10:
        return x * y
    print( x + y )
    return (x + 2) * y
    print( x + y ) # 실행안되는 코드

weird_mul(11,2)
def add_mul(x, y):
    a = x + y
    m = x * y
    
    return a, m

print( add_mul(10,11), type(add_mul(10,11)) ) # tuple 사용해서 여러값 반환한다

variable scope (변수의 범위)

# 함수범위
num1 = 10 # 전역변수
num2 = 20

def test ( num1, num2 ): # 지역변수
    print( num1, num2 )
    return num1 + num2

test (30,40)
print(num1, num2)

가변길이 파라미터

# 가변길이 파라미터
def test(*x): # args, arguments 
    print( type(x) ) # x param type 출력
    for item in x:
        print( item )
    
test(10, 20, 30, 40)

# result => tuple

# dict로 인식 
def test2(**x): # kwargs (keyword arguments), dict 로 인식함
    for key, value in x.items():
        print('key=',key, ', value=', value)
        
test2(a=1, b=2) 

'''
key= a , value= 1
key= b , value= 2
'''
# placeholder {} 이용하여 변수 할당
a = '오늘 온도: {}도, 강수확률은: {}% , 내일온도: {}도'.format(20,50,18)
print(a)

# placeholder {} 이용하여 변수 할당
b = '오늘 온도: {today_temp}도, 강수확률은: {today_prob}% , 내일온도: {tomorrow_temp}도'.format(today_temp=20,today_prob=50,tomorrow_temp=18)
print(a)

'''

오늘 온도: 20도, 강수확률은: 50% , 내일온도: 18도
오늘 온도: 20도, 강수확률은: 50% , 내일온도: 18도
'''