- ๐ข Python ๋ณต์ต | ๊ฑฐ๋ถ์ด ๋ฐ ๐ข [ Class ]
1. Class
[๊ฐ์ฒด ์งํฅ ๊ตฌ์กฐ์ ์๊ด๊ด๊ณ]
| ๊ฐ์ฒด | Class | ||
| → | ์ํ | ์์ฑ | ← |
| → | ํ๋ | ๋ฉ์๋ | ← |
๊ฐ์ฒด : Class
์ํ : ์์ฑ
ํ๋ : ๋ฉ์๋
๐ ๋ฐ๋ผ์ Class๋ฅผ ์ ์ธํ ๋ ์์ฑ๊ณผ ๋ฉ์๋๊ฐ ๋ฐ๋์ ํ์ํจ
- def(self, ์ธ์)
- class์ ๋ฉ์๋๋ผ๊ณ ํ ์ ์๋ def๋ ๋ฌด์กฐ๊ฑด self๋ก ๋จผ์ ์๊ธฐ์์ ์ ์ธ์๋ฅผ ์ ์ธํด์ค์ผ ํ๋ค.
- ์ธ์์ ์์๋ ํธ์ถํ ๋ ๋ฐ์๋๋ฏ๋ก ์ค์ํ๋ค.
class Person:
def practice(self, any):
self.name = any
a = Person() ๐ Person์ ๊ฐ์ฒด๋ก a ์์ฑ
a.practice("์ด๋ฆ") ๐ any๋ผ๋ ์ธ์์ '์ด๋ฆ'์ ๋ฃ์ด์ฃผ๊ณ (any๋ ์
๋ ฅ๋ฐ์ ๋ณ์๊ฐ)
print(a.name)
๐ Person์ ๊ฐ์ฒด์ธ a๊ฐ ๊ฐ์ง๊ณ ์๋ ์์ฑ์ธ name์ ์ถ๋ ฅํ๋ฉด any์ ๋ค์ด๊ฐ '์ด๋ฆ'์ด ์ถ๋ ฅ๋จ
(์์ฑ๋ช
์ ๊ณ ์ + ์์ฑ์ ๋ค์ด๊ฐ๋ any๋ผ๋ ์ธ์๊ฐ์ด ๊ฐ๋ณ ๊ฐ)
- __init__
- __init__์ class๊ฐ ํธ์ถ๋ ๋๋ง๋ค ๋ฌด์กฐ๊ฑด ์คํ๋๋ ํจ์
- ๋ณดํต, ์์ฑ์ ๋ง์ด ์ ์ธํจ
lass Person:
def __init__(self, name):
self.name = name
๐ __init__ ํจ์๋ class ํธ์ถ์ ๋ฌด์กฐ๊ฑด ์คํ๋๊ธฐ ๋๋ฌธ์ name ์ธ์๊ฐ์ด self.name์ผ๋ก name ์ด๋ ์์ฑ๊ฐ์ ์ ์ฅ
def talk(self):
print("์๋
ํ์ธ์ ์ ๋" + self.name + "์
๋๋ค.")
๐ ์์ฑ๊ฐ์ ์ด์ฉํด ๋ฉ์๋ ์คํ
x = Person("์ด๋ฆ")
๐ x๋ฅผ Person์ ๊ฐ์ฒด๋ก ์ ์ธํ ์ธ์๋ช
์ผ๋ก '์ด๋ฆ'์ name์์ฑ์ ์ ์ฅ
x.talk()
๐ talk()๋ฉ์๋๋ฅผ ํธ์ถํด name์ด๋ ์์ฑ์ ์ด์ฉํด ๊ฒฐ๊ณผ๊ฐ ์ถ๋ ฅ
- ์์ฑ
- ์์ฑ ์ ์๋ ์์๊ฐ ์ค์ํ์ง ์๋ค. (์์ฑ != ์ธ์)
- ์์ฑ์ ํธ์ถํ ๋๋ ์คํ์ด ํ์ํ ๋ฉ์๋๊ฐ ์๋๊ธฐ ๋๋ฌธ์ '( )' ๋ฅผ ๋ถ์ฌ์ค ํ์๊ฐ ์๋ค.
- class์ ์์ฑ = ์ด๊ธฐ๊ฐ / class์ ๋ฉ์๋ ์ ์์ฑ = ๊ฐ๊ฐ์ ๋ค๋ฅธ ๊ฐ์ฒด๋ค์ด ๊ฐ์ง ์ ์๋ ์์ฑ๊ฐ (์ ๋ ฅ์ผ๋ก ๋ฐ์ ์ ์์)
class Circle:
pi = 3.14 ๐ ์์ฑ ์ ์ธ(์ด๊ธฐ๊ฐ)
def __init__(self, radius):
self.radius = radius
๐ radius ์ธ์๊ฐ์ radius์์ฑ์ ์ ์ฅ
def getArea(self):
return self.radius * self.radius * self.pi
๐ radius์์ฑ์ ์ด์ฉํด ๋ฉ์๋ ์์ฑ
c = Circle(5) ๐ radius์ธ์์ 5๋ฅผ ๋ฃ์ด์ radius์์ฑ์ 5๊ฐ ์ ์ฅ๋จ
print("๋ฐ์ง๋ฆ์ : ", c.radius) ๐ ์์ฑ๊ฐ์ ํธ์ถํ ๋ (๊ดํธ) ํ์์์
print("๋์ด๋ : ", c.getArea()) ๐ ๋ฉ์๋๋ฅผ ํธ์ถํ ๋ (๊ดํธ) ํ์ํจ : (์คํ์์ผ์ผ ๋ ๋๊ตฌ)'woncoding > TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| TIL | 9.22.๋ชฉ [Python ์ฅ๊ณ ] (0) | 2022.09.22 |
|---|---|
| TIL | 9.21.์ [์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ / Python ๋ณต์ต ๐ข] (0) | 2022.09.21 |
| TIL | 9.19.์ [Python ๋ณต์ต ๐ข] (0) | 2022.09.19 |
| TIL | 9.16.๊ธ [Python ๋ณต์ต ๐ข] (0) | 2022.09.19 |
| TIL | 9.15.๋ชฉ [Python ์ฌํ] (1) | 2022.09.16 |