※ 함수
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를 명시적으로 구현한다.
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출력
'A.I > Python' 카테고리의 다른 글
self.python(6). 모듈,패키지와 라이브러리, 내장함수 (2) | 2022.11.18 |
---|---|
self.python(4). 제어문 (if, while, for문) (0) | 2022.11.18 |
self.python(3). 딕셔너리와 집합 자료형 (0) | 2022.11.18 |
self.python(2). 리스트와 튜플 자료형 (0) | 2022.11.18 |
self.python(1).python 입력, 문법과 문자열 자료형 (4) | 2022.11.17 |