Python @property decorator

In Python, una funzione di decoratore esegue il wrapping di una funzione, aggiunge diverse funzionalità al codice esistente e quindi la restituisce. I metodi e le funzioni sono richiamabili perché possono essere chiamati. Di conseguenza, un decoratore è un callable che restituisce un callable. Questo è anche noto come metaprogrammazione perché una sezione del programma modifica un'altra sezione del programma in fase di compilazione. Nota: per ulteriori informazioni, consulta Decoratori in Python.

Python @property decorator

@property decorator è un decoratore integrato in Python che ti consente di definire le proprietà senza dover chiamare la proprietà della funzione incorporata (). Che viene utilizzato per restituire gli attributi di proprietà di una classe come parametri dal getter, setter e deleter specificati. Diamo un'occhiata ad alcuni esempi di come utilizzare il decoratore @property in Python: Esempio 1:

# Python program to illustrate the use of
# @property decorator
# Defining class
class Portal:
# Defining __init__ method
def __init__(self):
self.__name =''
# Using @property decorator
@property
# Getter method
def name(self):
return self.__name
# Setter method
@name.setter
def name(self, val):
self.__name = val
# Deleter method
@name.deleter
def name(self):
del self.__name
# Creating object
p = Portal();
# Setting name
p.name = 'CarToon'
# Prints name
print (p.name)
# Deletes name
del p.name
# As name is deleted above this
# will throw an error
print (p.name)

CarToon
## An error is thrown
Traceback (most recent call last):
File "main.py", line 42, in
print (p.name)
File "main.py", line 16, in name
return self.__name
AttributeError: 'Portal' object has no attribute '_Portal__name'

Python program to illustrate the use of
# @property decorator
# Creating class
class Celsius:
# Defining init method with its parameter
def __init__(self, temp = 0):
self._temperature = temp
# @property decorator
@property
# Getter method
def temp(self):
# Prints the assigned temperature value
print("The value of the temperature is: ")
return self._temperature
# Setter method
@temp.setter
def temp(self, val):
# If temperature is less than -273 than a value
# error is thrown
if val < -273:
raise ValueError("It is a value error.")
# Prints this if the value of the temperature is set
print("The value of the temperature is set.")
self._temperature = val
# Creating object for the stated class
cel = Celsius();
# Setting the temperature value
cel.temp = -270
# Prints the temperature that is set
print(cel.temp)
# Setting the temperature value to -300
# which is not possible so, an error is
# thrown
cel.temp = -300
print(cel.temp)

The value of the temperature is set.
The value of the temperature is:
-270
# An error is thrown
Traceback (most recent call last):
File "main.py", line 47, in
cel.temp = -300
File "main.py", line 28, in temp
raise ValueError("It is a value error.")
ValueError: It is a value error.

Suggested posts

Tieni traccia di chiunque abbia solo un numero di telefono | Indagine OSINT

Tieni traccia di chiunque abbia solo un numero di telefono | Indagine OSINT

Puoi essere un investigatore OSINT, un giocatore CTF o semplicemente qualcuno che riceve chiamate spam. Qualcuno che sta cercando di verificare il numero che hai visto in una pubblicità.

VITA SENZA LIMITI

Quando cresci tendi a sentirti dire che il mondo è così com'è e che la tua vita è vivere la tua vita dentro il mondo, senza mai rischiare la vita, basta seguire un percorso prestabilito e morire alla fine, e cercare di non farlo sfondare troppo i muri. Ma questa è una vita molto limitata.

Related posts

Conversazioni pericolose

Conversazioni pericolose

Se vogliamo continuare a prosperare su questo pianeta, dovremo avere conversazioni pericolose. Quelli che mettono in discussione ciò che abbiamo fatto, ciò che stiamo facendo e ciò che attualmente intendiamo continuare a fare (o stiamo pianificando di fare).

La sfida di lettura di Goodreads è tossica

La sfida di lettura di Goodreads è tossica

Il prurito alla mano si diffuse mentre mercanteggiavo con il libraio locale per un altro libro. Questo libro, come il resto che ho acquistato di recente, troverebbe il suo trono nella mia pila "Da leggere" (TBR); eppure l'ho comprato.

i pronomi sono super spaventosi

Mi colpisce Improvvisamente come spesso accade È di nuovo la via di mezzo <No, non quello nel pacifico tu marrone, quello al carnevale> Ogni titolo a voce alta…..

Raccolta di OSINT per la caccia alle minacce

Raccolta di OSINT per la caccia alle minacce

Ehi, cibernetici! Bentornati alla serie OSINT per la caccia alle minacce. Nel primo articolo, ti ho fornito una panoramica di OSINT e della sua importanza nella caccia alle minacce.