함수의 개념
특정 작업을 수행하는 명령문의 집합
→ 특정 작업을 함수의 이름으로 대체
→ 유사한 유형의 문제를 해결할 수 있도록 고려
사용자 정의 함수
→ 내장 함수와 달리 사용자의 목적에 따라 정의된 함수
반환 값에 따른 함수의 종류
→ 반환 값이 없는 함수 : print
→ 반환 값이 있는 함수 : input, format, int
반환 값이 없는 함수 정의
def 함수이름(매개변수 리스트):
내용
→ 함수의 이름은 식별자
→ 매개변수 리스트는 0개 이상의 값을 함수 내부로 전달
→ 함수 내부에서 매개변수 리스트는 변수와 동일하게 사용
반환 값이 있는 함수 정의
def 함수이름(매개변수 리스트) :
명령 블록
return 반환값 리스트
→ 실행 후 결과 값을 남기는 함수
→ return 명령어와 반환 값을 열거
→ 함수 내부에 여러 개의 return 사용 가능
format 함수
실수 데이터 형식화
# 형식 지정자
format(3.141592,">10.2f")
# > = 정렬 방향
# 10 = 필드 폭
# .2 = 소수점 이하 자리수
# f = 데이터 타입
# 출력 값 [][][][][]3.142 // [] 는 공백
동시 할당의 개념
복수 개의 변수에 값을 동시에 할당
→ 변수의 개수에 상응하는 값을 콤마(,)로 나열
# 변수 할당
temp = 27
season = "summer"
# 이렇게 사용 가능
temp,seacon = 27,"summer"
교환(swap)
복수 개의 변수에 할당하는 값을 맞바꿈
# 일반적인 교환 방법
temp = hei
hei = rad
rad = temp
#파이썬의 교환 방법
rad, hei = hei , rad
## 오름차순 예시
a = int(input("첫번째 숫자를 입력하세요: "))
b = int(input("두번째 숫자를 입력하세요: "))
c = int(input("세번째 숫자를 입력하세요: "))
def sort3(a, b, c) :
if a > b :
a,b = b,a
if a > c :
a,c = c,a
if b > c :
b,c = c,b
print(a,b,c)
sort3(a,b,c)
함수의 확장
값의 전달
함수가 호출될 때, 값이 형식 매개변수에 전달 ( 변수 전달 x === 값이 전달 o )
x = 1
print("x의 값은" , x)
inc(x) #error inc가 선언되기 전
def inc(x):
x = x + 1
print("x의 값은 " , x)
print("x 의 값은" , x)
변수의 스코프
프로그램에서 변수가 참조 될 수 있는 영역
전역변수 : 프로그램 전체 영역에서 접근
지역변수 : 선언된 함수 내부에서만 접근
x = 1
print("x의 값은" , x)
def inc(x):
y = x + 1
print("y의 값은 " , y)
inc()
print("x 의 값은" , x)
print("y 의 값은" , y) #error y 가 없음
기본 매개변수
함수 호출 시 매개변수가 전달되지 않을 경우
기본 값이 전달되는 매개변수
→ 일반 매개변수 앞에 위치할 수 없음
def 함수이름(매개변수 리스트, 매개변수 = 값 리스트) :
명령 블록
return 반환값 리스트
print("hello" , "i am python")
print("hello","i am python" , sep=" ") #sep=" " 가 기본 매개변수
가변 매개변수
변수의 개수가 한정되어 있지 않음
→ 일반 매개변수 앞에 위치 할 수 없다
→ 1개만 사용 가능하다
'KNOU > 요약정리' 카테고리의 다른 글
[python] 모듈 (0) | 2023.05.16 |
---|---|
[python] 객체지향 (0) | 2023.05.16 |
[python]구조적 프로그래밍 패러다임 (0) | 2023.05.16 |
[python] 파이썬의 이해 (0) | 2023.05.16 |
[C 프로그래밍] 메모리 동적 할당 (0) | 2023.05.10 |
댓글