반응형
Notice
Recent Posts
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Today
Total
관리 메뉴

오식랜드

[python] class 본문

dev-log/python

[python] class

개발하는 오식이 2023. 1. 12. 14:59
반응형

class

  • class 선언
class 클래스명:
  • class 호출 시 즉시 실행 함수 init(self)
class JSS:
    def __init__(self): # class 호출 시 시작 함수 (__init__(self)는 고정)
        print('JSS 클래스 선언')

# 변수에 class저장
CallJSS = JSS()

# class 호출
CallJSS 

# 'JSS 클래스 선언' 출력
  • class 내의 함수 호출

init함수 외의 다른 이름의 함수는 즉시실행이 안된다

클래스변수.함수이름 으로 호출 가능!

class JSS:
    def __init__(self): # class 호출 시 시작 함수 (__init__(self)는 고정)
        print('JSS 클래스 선언')
    
    def later(self):
        print('later 함수')

CallJSS = JSS()
CallJSS
# 'JSS 클래스 선언' 출력

CallJSS.later()
# 'later 함수' 출력

이제 class를 이용해 자기소개서 양식을 만들어줍니다.

self를 사용하면 class의 init함수에서 받은 정보를 그대로 쓸 수 있게 됩니다.

# 자기소개 클래스
class JSS:
    def __init__(self):
        print('자기소개서 class 실행')
        self.name = input('이름 : ')
        self.age = input('나이 : ')
    
    def result(self):
        print('내 이름은 {name}입니다. 나이는 {age}세 입니다.'.format(name = self.name, age = self.age))

# 변수에 class 저장
CallJSS = JSS()

#class 호출 -> 자동으로 init 함수 시작됨
CallJSS

#JSS의 result함수 시작됨
CallJSS.result()

class 상속

이전의 JSS클래스를 그대로 가져가고, 거기에 더 추가를 하고싶을 땐, 아래처럼 괄호 안에 넣어주면 된다

class JSS2(JSS):
    def __init__(self):
        print('JSS 클래스의 init함수는 사라지고, JSS2의 init 함수가 실행됨')

JSS2에서 init함수를 새로 선언하면 JSS의 init함수는 사라지고 JSS2의 함수로 덮어씌워진다.

만약 JSS를 변경 없이 그대로 쓸거라면 pass를 입력해주면 된다

class JSS2(JSS):
    pass

JSS를 불러오되, 더 추가해서 작성하고 싶으면 super를 사용하여 괄호 안의 class를 불러올 수 있다

class JSS2(JSS): # JSS를 상속받음
    def __init__(self):
       super().__init__() # JSS의 init함수를 호출. super=괄호안의 클래스
       self.gender = input('성별 : ') # 추가할 내용

# 변수에 클래스 담음
CallJSS2 = JSS2()

#JSS2 클래스 호출
CallJSS2

 

출처 : https://nadocoding.tistory.com/

반응형

'dev-log > python' 카테고리의 다른 글

[python] package  (0) 2023.01.12
[python] module  (0) 2023.01.12
[python] 파일 입출력  (0) 2023.01.09
[python] 입출력  (0) 2023.01.09
[python] 함수  (0) 2023.01.09
Comments