본문 바로가기

백엔드개발자 준비하기 - 파이썬

[파이썬] 클래스

자바랑 크게 다를 것 없음

생성자도 있고 안에 함수 정의도 가능

 

예시1

class myclass:
    myvar1 = 0
    myvar2 = 'abc'
    
    def __init__(self, a = 0, b = 'aaa'):
        self.myvar1 = a
        self.myvar2 = b
    def mymethod1(self, n):
        print(self.myvar1 * n, self.myvar2)
    def __str__(self):
        return 'mycalss : {}, {}'.format(self.myvar1, self.myvar2)

a = myclass(100, 'def')
print(a)
print(type(a))

a.mymethod1(5)

결과

mycalss : 100, def
<class '__main__.myclass'>
500 def

 

예시2

class myclass2(myclass):
    pass

b = myclass2()
b.mymethod1(10)

결과

0 aaa

 

예시3

class mylist(list):
    def remove_all(self, target_value):
        while target_value in self:
            self.remove(target_value)
        return self

mylist_1 = mylist(list('abccdc'))
mylist_1.append(1)
mylist_1.append(2)
print(mylist_1)

mylist_1.remove_all('c')

결과

['a', 'b', 'c', 'c', 'd', 'c', 1, 2]
Out[24]:
['a', 'b', 'd', 1, 2]

 

'백엔드개발자 준비하기 - 파이썬' 카테고리의 다른 글

[파이썬] requests  (0) 2023.02.13
[파이썬] 마크다운  (0) 2023.02.03
[파이썬] 모듈 임포트  (0) 2023.02.03
[파이썬] 형변환  (0) 2023.02.03
[파이썬] 데이터 처리  (0) 2023.02.03