기록하는 코더

[Python] function 본문

Python

[Python] function

damda_di 2022. 12. 24. 20:43

파이썬 함수 특징

형태

자바에서는 함수 선언

int add(int a, int b){
	return a + b;
}

자바스크립트에서 함수 선언

function sum(a,b){
	return a+b
}

파이썬에서 함수 선언

def sum(a,b){
	return a+b
}

 

 

파이썬은 자바 스크립트에서 하는 함수 선언과 유사해보인다.

 

multiple return

파이썬의 함수는 한 함수로 여러 값을 반환할 수 있다.

2개 이상의 함수 값을 반환하는 경우 Tuple이라는 형태로 전달된다.

* Tuple : 자바에서 배열과 유사한 형태를 가짐

 

def smmdn(a,b):
    return a+b, a-b, a*b, a/b, a%b

sum,min,mul,div,nam = smmdn(5,4)
print(sum,min,mul,div,nam)
# 출력결과 : (9, 1, 20, 1.25, 1)


# 복수로 입력하는 경우 - 함수 내에 있는 값보다 적은 값으로 입력하는 경우
# print(sum,min,mul)
# ValueError: too many values to unpack (expected 3)


# 단수로 입력하는 경우
sum = smmdn(5,4)
print(sum[0])
# 출력결과 : 9

함수 예제

def add(a,b):
    return a+b

def minus(a,b):
    return a-b

def multiply(a,b):
    return a*b

def divide(a,b):
    return a/b

def remainder(a,b):
    return a%b

sum = add(5,4)
min = minus(5,4)
mul = multiply(5,4)
div = divide(5,4)
rem = remainder(5,4)

print("sum",sum)
print("min",min)
print("mul",mul)
print("div",div)
print("rem",rem)

 

from random import random

def rn():
    return random()

rnd = rn()
print("rnd", rnd)

 

def showScore(score):
    pass
    if score >= 90:
        print("A")
    elif score >= 80:
        print("B")
    elif score >= 70:
        print("C")
    elif score >= 60:
        print("D")
    else:
        print("F")


a = input("점수를 입력해주세요")
aa = int(a)
showScore(aa);

 

pass

def showWhat():

 

pass 없이 함수를 쓰고 실행하는 경우

IndentationError: expected an indented block after function definition on line 라는 오류가 발생한다.

 

def showWhat():
    pass

 

 

pass 구문은 일부 코드가 구문상 필요는 하지만 프로그램이 아무 작업도 하지 않기를 원하는 경우에 사용한다.

메소드 내에서 pass를 사용하면 자바의 추상메서드처럼 사용할 수 있다고 한다!

 

참고 링크 : https://blockdmask.tistory.com/535

'Python' 카테고리의 다른 글

[Python] PyQt 이용하기  (0) 2022.12.30
[Python] OOP(Object Oriented Programming)  (0) 2022.12.26
[Python] Random  (0) 2022.12.24
[Python] 조건문과 반복문  (0) 2022.12.24
[Python] 문자, 배열  (0) 2022.12.24