※ 함수

def add(a, b):   #a, b라는 매개변수
    return a+b

print(add(10,14))   # 24출력

 

 

※ 입력값이 몇개가 될 지 모른다면?

def 함수명 (*매개변수):
    수행문장

 

Ex-1)

def adds(*arg):
    sum = 0
    for i in arg:
        sum += i
    return sum


print(adds(1,2,3,3,4,5,6,6,6,77))   # 113 출력

 

Ex-2)

def add_mul(choice, *args):
    if choice == "add":
        result = 0
        for i in args:
            result = result + i

    elif choice == "mul":
        result = 1
        for i in args:
             result = result * i

    return result

print(add_mul("add", 1,2,3,3,4,5,6,6,6,77))   # 113 출력
print(add_mul("mul", 1,2,3,3,4,5,6,6,6,77))   # 5987520 출력

 

 

※ 키워드 파라미터 - feat. 딕셔너리

입력값의 개수를 모르고 딕셔너리로 만들고 싶을 때, **를 이용할 수 있다.

def print_kwargs(**kwargs):
    print(kwargs)

print_kwargs(name = "V2LLAIN", age = 22)

#--------출력--------#
{'name': 'V2LLAIN', 'age': 22}

 

 

 

 

※ lambda 

함수를 생성 시 사용하는 예약어로 보통 함수를 한줄로 간결하게 만들 때 사용

add = lambda a, b: a+b

print(add(3, 4))

※ lambda 함수는 return 명령이 없어도 결과값을 돌려준다.

 

 

 

 

 

 

 

 

 

 

※ 클래스 

class Calculator:
    def __init__(self):
        self.result = 0

    def add(self, num):
        self.result += num
        return self.result

cal1 = Calculator()     # 객체 cal1 생성
cal2 = Calculator()     # 객체 cal2 생성

print(cal1.add(3))
print(cal1.add(4))
print(cal2.add(3))
print(cal2.add(7))


#----출력----#
3
7
3
10

 

class Calculator:
    def setAddData(self, first, second):
        self.first = first
        self.second = second
        return first+second

cal = Calculator()

print(cal.setAddData(4, 2))     # 6출력

python에서는 this대신 self를 사용한다. 이때, 첫번째 매개변수인 self는 관례적 사용이다.

python은 다른 언어와 달리 self를 명시적으로 구현한다.

출처: https://wikidocs.net/28

 

class Calculator:
    def setData(self, first, second):
        self.first = first
        self.second = second
    def AddData(self):
        result = self.first + self.second
        return result

cal = Calculator()
cal.setData(10, 14)

print(cal.AddData())     # 24출력

 

 

 

※ _ _init_ _  초기화 함수

파이썬 함수이름으로 __init__을 사용하면 이 함수는 생성자가 된다.

class Calculator:
    def __init__(self, first, second):
        self.first = first
        self.second = second

    def setData(self, first, second):
        self.first = first
        self.second = second

    def AddData(self):
        result = self.first + self.second
        return result

cal = Calculator(10, 14)

print(cal.AddData())     # 24출력

 

 

 

 

 

 

 

※ 클래스의 상속 

상속은 기존 클래스를 변경하지 않고 기능을 추가, 변경 시 사용한다.

class Calculator:
    def __init__(self, first, second):
        self.first = first
        self.second = second

    def setData(self, first, second):
        self.first = first
        self.second = second

    def AddData(self):
        result = self.first + self.second
        return result

class CalPower(Calculator):
    def power(self):
        return self.first ** self.second

cal = CalPower(10, 4)

print(cal.power())     # 10000출력

 

 

 

 

 

 

 

 

 

 

 

 

 

+ Recent posts