# x값이 미정이므로
a(3) #이런식으로 넣게 되면 a = 3x3 = 9가 출력된다.
함수는 여러줄의 코드를 짧게 할 수 있다.
예, p라는 함수를 만들고
def p():
print('qㅁㄴㄻㄴㄻㄴㄹ')
p()만 치더라도 프린트문이 반환된다.
#두 수의 합과 곱을 반환하는 함수 실행
# x =double(9,10)
#print(x)
#결과: (19,90)
def double(a,b):
return a+b,a*b
x = double(9,10)
print(x)
#반지름 입력시 원의 면적 구하기
def circle_area(radius):
radius= int(input("원의 반지름을 입력하세요"))
result = (radius**2) *3.14
return print(f'반지름:{radius},%.2f'%result)
#입력값이 몇개인지 모를때,가변길이(알수없다.) 라는것을 명시적으로 표시
def adder(*args):
n = 0
for i in args:
n+=i
return n
#여러 과목의 점수를 받아 평균 구하기
def aver_(*params):
count = len(params)
n= 0
for i in params:
n+=i
return print(f'{count}과목의 평균:',n/count)
#키워드 파라미터
def SingleA(**kwargs):
print(kwargs)
#SingleA(10) #출력 X
SingleA(a=10) #딕셔너리 형태로 a:10으로 반환
SingleA(num=1,name='Kristina',age=30) #딕셔너리 형태로 반환
Q1. 실행결과가 아래와 같이 나오도록 작성
실행결과:
<class 'dict'>
Firstname is Dave
Lastname is Karim
Age is 32
Phone is 0103456789
#키워드 파라미터를 이용 아래 결과가 나오게 코드 작성하세요
def intro(**kwargs):
print(type(kwargs)) #데이터 타입 출력
for i,j in list(kwargs.items()): #키워드 파라미터를 이용하면 딕셔너리 형태로 반환되기 때문에 , list로 바꿔준후
print(f'{i} is {j}') # 변수 두개를 지정해서 출력 되도록 한다
<lambda == 예약어 같은 느낌 함수와 비슷하다>
double = lambda a,b:a+b
y =double(1,2)
print(y)
3
람다를 이용 데이터 1개 입력시 제곱값 출력
#람다 이용 데이터 1개 입력시 제곱값을 출력하기
x = lambda a:a**2
print(x(10)) = 100
print(x(5)) = 25
#세개의 인풋을 받아 연산 결과 반환
sum_ = lambda a,b,c:a+b+c
print(sum_(1,2,3))
def mul(n):
return lambda x : x*n
a = mul(3) #mul(3)을 하면, a = x: 3*x가 된다.
mul(10)(3) # 이런식으로 하면 n에 10, x에 3을 대입 해서 30을 출력한다
지역변수 : 호출된 함수 내에서만 유효
전역변수 : 하위의 모든 함수에서 유효
def func(x): #x는 매개변수 즉, 지역변수 x에 어떤값을 넣더라도 x =100이다
x=100
print('func() : x= ',x,',id=',id(x))
x = 10 #x를 10으로 지정
print('메인:x = ',x,',id=',id(x))
출력:
메인:x = 10 ,id= 140722204256336
func(x)# x를 10으로 지정했음에도, 함수안에 있는 x값은 바뀌지 않는다.
#출력:
func() : x= 100 ,id= 140722204259216
print('메인:x=',x,'id=',id(x)) #단, x=10으로 지정한건 전역변수이기 때문에 하위의 모든 함수에서 유효 하다.
출력:
메인:x= 10 id= 140722204256336
#재귀 호출
def add(n):
if n == 1: #n 이 1이라면, 리턴 1을 반환한다.
return 1
return n +add(n-1) # add(3)이라면 return n = 3이고, + add (n-1) 즉, add(2) n =2 + add 1이면 12반환 따라서 6
print(add(3))
출력:
6
'Python' 카테고리의 다른 글
Python 초급 - csv 파일 원하는 부분 불러오기 (0) | 2022.09.01 |
---|---|
Python 기초 - 파일 입출력 (0) | 2022.09.01 |
python 초급 - dict 와 for문 이용 (0) | 2022.08.29 |
Python 기초 - While문, 분기문 (0) | 2022.08.29 |
Python 기초 - for , 이중for 문 ,range함수 (0) | 2022.08.28 |