부트캠프/PYTHON

Day 8-1. 함수

례지 2022. 8. 31. 13:59
728x90
  • 입력값이 몇 개가 될지 모를 때(Non Keyword Arguments)

입력값이 정해지지 않으면 개수가 다를때마다 함수를 바꿔야 하기 때문에 번거롭다.
변수 앞에 *을 붙이면 개수가 미정이라 여러개의 변수로 계산할 수 있다.

  • 여러 과목의 점수를 받아 계산하기

  • 여러 개의 입력에 대한 리턴 방법 선택

곱셈을 하려면 0을 곱하면 모든 결과가 0이 되기 때문에 1로 초기값을 줘야한다.


  • 키워드 파라미터

들어온 데이터를 출력하면 임의의 매개변수를 잡아서 입력해야한다. 자동으로 딕셔너리로 출력된다.
드디어 리스트에 넣어서 출력하는 것을 성공했다!
for문을 돌려서 더 쉽게 출력.


  • Parameter, *args, **kwargs

parameter는 없으면 에러, *args는 튜플로 출력, **kwargs는 변수와 함께 지정하고 그것이 딕셔너리로 출력된다.


  • Default

woman의 default값은 True이다. default값을 생략해도 Woman은 True이기 때문에 Female이 나온다.
default(value parameter는 생략)는 non-default 앞에 오면 안된다.


Lambda 기능(Def와 동일한 기능)

lambda는 return을 항상 가지고 있는 상태라 return을 쓰지 않아도 반환된다.

  • Lambda 활용 데이터 1개 입력 시 제곱값 출력하기

제곱은 **2로 쓰면 되니까 하나의 변수만 쓰면 된다.

  • 세 개의 input을 받아 합 연산 결과 반환


지역변수와 전역변수
  • 지역변수(Local Variable): 호출된 함수 내에서만 유효
  • 전역변수(Global Variable): 하위의 모든 함수에서 유효

x=10은 전역변수이고 x=100은 func(x)내에서만 유효한 지역변수이다.

  • 지역변수 에러

x는 지역변수이기 때문에 에러가 나고 func안에는 return값이나 print문이 없기 때문에 아무것도 출력되지 않는다.

  • 전역변수로 변경하여 실행

  • 전역변수 변경

  • Keword Global

변수 앞에 Global을 쓰면 전역변수가 되어서 함수를 print한 후에는 함수의 x를 출력한다.

 

728x90

'부트캠프 > PYTHON' 카테고리의 다른 글

Day9-1. Python에서 파일 관리하기  (0) 2022.09.01
Day 8-2. 함수, python에서 파일 관리하기  (0) 2022.08.31
Day 7-2. 함수  (0) 2022.08.30
Day7-1. 연습 문제  (1) 2022.08.30
Day6-2. 분기문  (0) 2022.08.29