공부하는게 취미인 사람들 투딩
* 파이썬 가변 인자
함수에 인자값을 가변적으로 넘기는 방법
코드
#선언
def profile(name,age,*language): ①
print("이름:{0} \t 나이:{1} \t".format(name,age,), end=" ") ②
for lang in language: ③
print(lang, end=" ") ①
print() ④
#호출
profile("유재석",20,"Python","Java","C","C++","c#") ⑤
profile("김태호",20,"Python") ⑤
결과
이름:유재석 나이:20 Python Java C C++ c#
이름:김태호 나이:20 Python
① *변수명을 쓰면 원하는 만큼 인자값의 갯수를 받을 수 있다.
② end=" " 을 쓰면 줄바꿈 없이 한문장으로 출력해준다.
③ 들어오는 변수 만큼 for 문 돌린다.
④ 줄바꿈을 위해서 빈 프린트
⑤ 인자값을 원하는 대로 넣고 호출
결과처럼 인자값이 가변적인 경우에도 잘 출력된다.
*지역변수와 전역변수
#지역변수 : 함수내에서만 쓸수 있는 것. 함수가 호출될때 만들어졌다가 함수 호출이 끝나면 사라짐.
#전역변수 : 모든 공간, 프로그램 내에서 언제나 호출 가능 한 것.
코드
gun = 10def checkpoint(soliders) :
global gun ①
gun = gun - soliders ②
print("[함수 내] 남은 총 :{0}".format(gun))
print("전체 총 : {0}".format(gun))
checkpoint(2) # 2명이 경계 근무 나감
print("남은 총 : {0}".format(gun))
① global 전역 공간에 있는 gun 사용하겠다는 뜻으로 ① 없이 ② 을 실행시키면 에러난다.
* 보통은 public 을 바깥쪽에서 선언해 주는데... 파이썬은 함수내에서 전역변수를 쓰겠다고 global 을 쓰게되면 코드가 지저분해질것 같다... 왜 이렇게 만들었징.... ㅠㅠ . 그래서 가급적 인자값으로 넘겨주고 글로벌 변수값을 리턴하는 형태로 사용한다고 한다.
gun = 10
def checkpoint_ret(gun, soliders) : # 경계근무
gun = gun - soliders
print("[함수 내] 남은 총 :{0}".format(gun))
return gun
print("전체 총 : {0}".format(gun))gun = checkpoint_ret(gun,2)
print("남은 총 : {0}".format(gun))
#중괄호로 묶어주는게 없어서 더 헷갈릴것 같은데, 워드에 쓰면 그냥 한장에 쓰는것 같지만
def 안에 들여쓰기 하는 문장과 밖에 쓰는 문장은 구역이 다르다고 보면 된다.값을 넘겨주고 리터하지 않으면 통신이 안된다....
글로벌 변수 사용법 정도만 배웠다고 보면 될듯. 파이썬은 글로벌 변수보다 인자값으로 넘기고 리턴값으로 받는게 흔한가보다..... 더 공부하게 되면 알게 되겄징....
블로그에는 우클릭 방지가 걸려있어요. 코드복사는 카페에서 가능 합니다.
중간중간 제 생각이 첨삭된 부분이 있습니다. 실제 강의는 선생님걸로 들으세요~
파이썬 기초는 나도코딩님이 인프런사이트에서 강의한 내용을 바탕으로 공부한 내용을 정리한 것 입니다.
추천 : ★★★★★
목소리 :
딕션 :
속도 :
내용 :
결과물 :
'코딩(개발) > 파이썬' 카테고리의 다른 글
파이썬 표준 입출력 (0) | 2020.12.20 |
---|---|
파이썬 함수 문제 풀기 (0) | 2020.12.20 |
파이썬 함수 기초 (0) | 2020.12.19 |
파이썬 반복문(for / while) (0) | 2020.12.18 |
파이썬 if문 (0) | 2020.12.18 |
댓글