[python] 함수와 매개변수

2023. 4. 13. 12:10· 공부기록/Python
목차
  1. 가변형 매개변수, 언팩 연산자
  2. 언팩 연산자를 사용하여 하나 이상의 반환값 처리하기
  3. 함수 스코프를 갖는 변수의 유효 범위

가변형 매개변수, 언팩 연산자

연팩 연산자를 사용하는 튜플 형식의 가변 매개변수

error문구:

  total+=val
TypeError: unsupported operand type(s) for +: 'int' and 'tuple'

.res라는 변수에 따로 1,2,3,4,5를 담아 넣는 것과 직접 1,2,3을 넣는 것의 차이가 무엇일까? 

 

디버깅을 해보면 res로 넣는 1번의 경우에 params에 (1,2,3,4,5) 가 통째로 하나의 튜플로 들어가고... 튜플의 튜플로 들어가는 것 같다. 그냥 바로 1,2,3을 넣는 경우에는 1,2,3 이 인자로 전달되어 각각이 하나의 (인덱스 넘버-int)로 갖고 있는 하나의 튜플로 들어가는 것 같고. 

 

언패킹에 대해 조금 더 검색해 봄

차후 한번 더 읽어두자.

 

https://velog.io/@yunhlim/Python-%EC%96%B8%ED%8C%A8%ED%82%B9Unpacking-%EC%97%B0%EC%82%B0%EC%9E%90

 

[Python] 언패킹(Unpacking) 연산자

파이썬 언패킹 연산자 사용

velog.io

 

https://ihp001.tistory.com/91

 

[Python] 파이썬 아스테리스크(*)로 언패킹(Unpack)과 패킹(Pack)하기 - 튜플, 리스트, 키/값 페어 언패

파이썬에서 언팩킹과 팩킹 zip()의 파라미터는 1개가 될 수도 있고, 2개가 될 수도, 10개가 될 수도 있다. 밑의 실험을 보면 알 수 있다. >>> a = ['a1', 'a2'] >>> b = ['b1', 'b2'] >>> c = ['c1', 'c2'] >>> d = ['d1', 'd

ihp001.tistory.com

 

언팩 연산자를 사용하여 하나 이상의 반환값 처리하기

함수의 반환값으로 두개 이상을 보낼 수 있는데 그것을 출력할 때 

...
return (total1,total2)

#함수 반환값을 넣어줌
res=calc_sum(0,0.1,1,2)

#1. 단순출력, 튜플의 형태로 출력
print(res) #(3, 3.0)
print("Type: ",type(res)) #Type:  <class 'tuple'>

#튜플 형식의 반환값을 언팩 연산자를 사용하여 출력 
print("{0},{1}".format(*res)) #3,3.0
print("{0},{1}".format(res[0],res[1])) #3,3.0 #인덱스 활용
print("type: ",type(res[0])) #type: <class 'int'>

 

함수 스코프를 갖는 변수의 유효 범위

지역변수 params와 result는 함수값을 반환한 뒤에는 유효하지 않은 정보가 된다.

변수에 접근하는 순서: 함수 내 > 함수 스코프 내에 변수가 없을 때 전역 스코프로 > 여기서도 못 찾으면 name error발생

전역변수와 지역변수가 이름이 같을 때, 전역변수를 못 찾을 수 있으므로 이럴 땐 전역변수 이름 앞에 global을 기술한다.

def cgv():
    global x #함수 내에서 x는 전역 변수를 가리키게 된다.
    x +=1
    return x


x=5
print("[BF]전역변수 x의 값은: ",x)
cgv()
print("[AFT]전역변수 x의 값은: ",x)

[BF]전역변수 x의 값은:  5
[AFT]전역변수 x의 값은:  6

'공부기록 > Python' 카테고리의 다른 글

[함수] 고급함수  (0) 2023.04.14
[Window][Conda] CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.  (0) 2023.01.15
  1. 가변형 매개변수, 언팩 연산자
  2. 언팩 연산자를 사용하여 하나 이상의 반환값 처리하기
  3. 함수 스코프를 갖는 변수의 유효 범위
'공부기록/Python' 카테고리의 다른 글
  • [함수] 고급함수
  • [Window][Conda] CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
J융
J융
Recording of development
J융
Develop day by day
J융
전체
오늘
어제
  • 분류 전체보기 (67)
    • 공부기록 (63)
      • CS (8)
      • OS (15)
      • Algorithm (19)
      • Web (3)
      • HTML&CSS (6)
      • Electron (1)
      • JavaScript (5)
      • Network (0)
      • C (2)
      • Python (3)
      • Git (1)
    • 개발일기 (3)
      • Alice기록 (0)
      • Krafton Jungle 기록 (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 알고리즘
  • 엘리스AI트랙
  • os
  • 개발일기
  • 정글공부키워드
  • pintos
  • 부트캠프
  • vm
  • cs지식
  • 크래프톤정글
  • Web
  • #cs기초
  • JS기초
  • 수강후기
  • 기술면접대비
  • cs기초
  • CG
  • 비전공자개발자
  • 앨리스트랙
  • fe

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
J융
[python] 함수와 매개변수
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.