λ°μ½λ μ΄ν°λ‘ κ²ν°μ μΈν° ꡬννκΈ°
λ°μ½λ μ΄ν°λ₯Ό μ¬μ©ν κ²ν°(getter)μ μΈν°(setter) λ©μλλ ν΄λμ€μ μμ±μ μμ νκ³ ν¨μ¨μ μΌλ‘ κ΄λ¦¬νλ λ° μ¬μ©λ©λλ€.
κ²ν°μ μΈν° μ μμ μ¬μ©λλ λ°μ½λ μ΄ν°λ λ€μκ³Ό κ°μ΅λλ€.
-
@property
: κ²ν° λ©μλλ₯Ό μ μν©λλ€. μ΄ λ©μλλ ν΄λμ€ μμ±μ λ°νν©λλ€. -
@μμ±λͺ .setter
: μΈν° λ©μλλ₯Ό μ μν©λλ€. μ΄ λ©μλλ ν΄λμ€ μμ±μ μ€μ λλ λ³κ²½ν©λλ€.
class Person: def __init__(self, name): self._name = name @property # κ²ν° λ©μλ μ μ def name(self): return self._name @name.setter # μΈν° λ©μλ μ μ def name(self, value): if isinstance(value, str): self._name = value else: raise ValueError("μ΄λ¦μ λ¬Έμμ΄μ΄μ΄μΌ ν©λλ€.") # ν΄λμ€ μ¬μ© μμ person = Person("νκΈΈλ") print(person.name) # 'νκΈΈλ' μΆλ ₯ person.name = "λ°μ² μ" print(person.name) # 'λ°μ² μ' μΆλ ₯ # μλͺ»λ κ° μ€μ μλ (μ€λ₯ λ°μ) # person.name = 123
μ΄ μμ μμ Person
ν΄λμ€λ _name
μμ±μ κ°μ§κ³ μμΌλ©°, @property
λ°μ½λ μ΄ν°λ₯Ό μ¬μ©ν name
κ²ν°μ @name.setter
λ°μ½λ μ΄ν°λ₯Ό μ¬μ©ν name
μΈν°λ₯Ό ν΅ν΄ μ΄ μμ±μ μ κ·Όν©λλ€.
Guidelines
AI Tutor
Publish
Design
Upload
Notes
Favorites
Help
Code Editor
Execution Result