a. 함수
하나의 특별한 목적의 작업을 수행하기 위해 독립적으로 설계된 코드의 집합
b. 사용하는 이유
반복적인 프로그래밍 피할 수 있음
모듈화로 인해 전체적인 코드의 가독성이 좋아짐
프로그램에 문제가 발생하거나 기능의 변경이 필요할 때에도 손쉽게 유지보수 가능
c. 일반적 함수
입력값, 리턴값 모두 존재하는 함수
def add(a,b):
result = a + b
return result
a = add(3,4)
print(a)
d. 입력값이 없는 함수
리턴값만 존재하는 함수, 입력값 존재 X
def say():
return 'Hi'
a = say()
print(a)
def 함수명 (매개변수) :
실행문장
return 반환변수
def
함수를 만들 때 사용하는 예약어
함수명
함수를 만드는 사람이 임의로 만드는 것 가능
return
함수의 결괏값을 돌려주는 명령어
ex _1
def add(a,b): # a,b 는 매개변수
return a+b
print(add(3,4)) # 3,4는 인수
매개변수
함수에 입력으로 전달된 값을 받는 변수
인수
함수를 호출할 때 전달하는 입력값
ex _ 함수
# ex _ 비트코인 문자열을 화면에 출력하는 print_coin() 함수 정의
def print_coin():
print('비트코인')
ex _ 하나의 문자를 입력 받아 문자열 끝에 ':D' 스마일 문자열을 이어붙여 출력하는 print_with_smile 함수를 정의하라
def print_with_smile(string):
print(string +":D")
ex _ 두 수를 입력 받아서 뺀 결과를 return 하는 함수를 정의할 것
def number_minus(a,b):
result = a - b
return result
a = int(input("첫 번째 정수 : "))
b = int(input("두 번째 정수 : "))
result = number_minus(a,b)
print(result)
객체지향 프로그래밍에서 객체를 만들기 위해서는 객체를 바로 만들지 못하기 때문에 항상 class라는 것을 생성한 후에 이 클래스를 이용하여 객체 생성
a.객체
서로 연관된 데이터와 그 데이터를 조작하기 위한 함수를 하나의 집합에 모아놓은 것
b. 멤버 member / 속성 attribute
집합의 원소가 되는 변수 / 함수
c. method
객체의 속성인 함수
d. 생성자
클래스 인스턴스 생성 , 클래스 내에서 특별한 이름 (init)을 갖기만 하면 객체가 생성될 때 자동으로 호출되는 함수가 있는 것
class 클래스명 :
def __init__ (self):
# __init__() 클래스 생성자 메서드
ex _ __init__()
class Human:
def __init__(self, name, age, sex):
self.name = name
self.age = age
self.sex = sex
DH = Human("DH", 23 , "여자")
print(DH.name)
e. 클래스의 상속
기존 클래스에 있는 필드와 메서드를 그대로 물려받는 새로운 클래스를 만드는 것
기존 클래스가 라이브러리 형태로 제공되거나 수정이 허용되지 않는 상황에 사용
class 부모 클래스 :
. . . 내용 . . .
class 자식 클래스 (부모 클래스) :
. . . 내용 . . .
ex _ 부모 자식 클래스의 상속과 인스턴스 생성하여 속성 출력해보기
class Alphabet:
def __init__(self):
self.alphabet = 'Alphabet'
class A(Alphabet):
def __init__(self):
self.a = 'A'
def print_A(self):
print("a:", self.a)
class B(Alphabet):
def __init__(self):
self.b = 'B'
def print_B(self):
print("b:", self.b)
# A 클래스의 인스턴스 생성
a_instance = A()
# B 클래스의 인스턴스 생성
b_instance = B()
# A 클래스의 속성 출력
a_instance.print_A()
# B 클래스의 속성 출력
b_instance.print_B()
result
Python _ basic 에 이어서 기본적이지만 파이썬에서 가장 중요하다고 할 수 있는 함수 , 객체지향과 클래스 part에 대해 스터디 진행