파이썬 내장함수/메서드
✔️ 내장함수 vs 메서드
▪️ 주체가 있는 함수에 경우 - 메서드
▪️ 그냥 바로 쓰는 경우 - 내장 함수
⭐ 함수의 3요소에 대해 복습하자 !
1️⃣ 인자, 인수, input, 입력값, 매개변수, args, 파라미터, ...
2️⃣ 반환값, 리턴값, return, 출력값, 결과값, output, ...
3️⃣ 함수의 기능 == 함수명
=> 파이썬은 반환값을 명시하지 않기 때문에 !! 파이썬에서는 메서드 시그니처 라는 말이 잘 안쓰인다 .
<작성 요령>
def 함수명():
기능작성
근데 이렇게 작성하면 출력되지 않는다 !
왜 ?
함수 선언만 한 상태라서 ❗
def printApple(): # () 인자 들어가고 output은 기재 안한다.
print('apple')
# 이렇게 만든 것을 사용자가 만들어서 "사용자 정의 함수" 라고 한다.
# 원래 그냥 사용하던 애들은 "내장함수" 라고 한다.
⭐ 함수의 장점 ⭐
▪️ 코드 재사용성 용이
▪️ 오류의 파급효과 절감
▪️ 개발시간단축, 비용절감
▪️ 유지보수 용이
< 1번 예시 >
def funcA(a):
print('a=',a)
def funcB(b):
print('b=',b)
return b
def funcC():
return 1234

funcB() 함수에 인자로 -13을 넣어 줬을때 아래에 -13 이 한번더 출력되는 현상을
에코 라고 한다 !

변수에 담아주면 에코가 안나온다.
✔️ 대입할 변수를 안줬을 때는 에코가 나오는데 ( == return 값이 shell에 그대로 드러났는데 )
✔️ 대입할 변수를 주면 에코가 안나온다 .
< 2번 예시 >
def funcD():
for i in range(10): # 다 완성을 안하면 실행이 안됨
pass # 이따가 할게 # 이따가 완성할게 # 개발 중인 스크립트에 있다
# 개발 완료된 스크립트에 pass 가 들어가있으면 안됨
def funcE(*a): # 인자를 몇개 넣을지 모르는 상황
# 애스트리스크, 가변 매개변수(크기가 변할수 있는 인자다)
print(a)
print(type(a)) # 가변 매개변수는 튜플 타입으로 넘어온다.
for v in a: # forEach 같은 개념
print(v)
⬆️ pass 와 인자에 몇개 넣을지 모르는 상황 예시

✔️ 튜플이라서 타입을 가리지 않고 가변이라서 3개든 4개든 넣을 수 있다
➡️ 이래서 파이썬이 확장성이 좋다
< 3번 예시 >
def funcF(a,b,c=123): # 디폴트 매개변수 #만약에 c가 값이 넘어오지 않았다면 123으로 설정해줄래?
print('a=',a)
print('b=',b)
print('c=',c)
✔️ 디폴트 매개변수를 여러개 설정할 수 있다. 가능한 만큼 설정 할 수 있다.
그렇다면 우리는 확인 할 수 있는것 !
< 4번 예시 >
print('안녕하세요',end=' ') # 디폴트 매개변수를 설정하는 일
print('파이썬 2일차입니다')
print('ㅎㅎㅎ')
✔️ 디폴트로 \n 이 존재하는 상황(줄바꿈이 존재) 인데 마지막에 end = ' ' 줄바꿈 안할래
✔️ 여기서 알수 있는 것 ❗
▪️ print() 함수에게는 end라는 인자값이 있었고 ,
▪️ end는 디폴트 매개변수 값으로 '\n'를 갖고 있었다!