Get started learning Python with DataCamp's free Intro to Python tutorial. Learn Data Science by completing interactive coding challenges and watching videos by expert instructors. Start Now!
This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join 11 million other learners and get started learning Python for data science today!
Good news! You can save 25% off your Datacamp annual subscription with the code LEARNPYTHON23ALE25 - Click here to redeem your discount
Clase și Obiecte
Obiectele sunt o încapsulare a variabilelor și funcțiilor într-o singură entitate. Obiectele își obțin variabilele și funcțiile din clase. Clasele sunt, în esență, un șablon pentru a crea obiectele tale.
O clasă de bază ar arăta cam așa:
class MyClass:
variable = "blah"
def function(self):
print("This is a message inside the class.")
Vom explica de ce trebuie să includem acel "self" ca parametru puțin mai târziu. Mai întâi, pentru a atribui clasa (șablonul) de mai sus unui obiect, ai proceda astfel:
class MyClass:
variable = "blah"
def function(self):
print("This is a message inside the class.")
myobjectx = MyClass()
Acum, variabila "myobjectx" deține un obiect al clasei "MyClass" care conține variabila și funcția definite în cadrul clasei numite "MyClass".
Accesarea Variabilelor unui Obiect
Pentru a accesa variabila din cadrul noului obiect creat "myobjectx", ai proceda astfel:
class MyClass:
variable = "blah"
def function(self):
print("This is a message inside the class.")
myobjectx = MyClass()
myobjectx.variable
Deci, de exemplu, mai jos ar afișa șirul "blah":
class MyClass:
variable = "blah"
def function(self):
print("This is a message inside the class.")
myobjectx = MyClass()
print(myobjectx.variable)
Poți crea mai multe obiecte diferite care sunt ale aceleași clase(au aceleași variabile și funcții definite). Totuși, fiecare obiect conține copii independente ale variabilelor definite în clasă. De exemplu, dacă am defini un alt obiect cu clasa "MyClass" și apoi am schimba șirul în variabila de mai sus:
class MyClass:
variable = "blah"
def function(self):
print("This is a message inside the class.")
myobjectx = MyClass()
myobjecty = MyClass()
myobjecty.variable = "yackity"
# Apoi afișăm ambele valori
print(myobjectx.variable)
print(myobjecty.variable)
Accesarea Funcțiilor unui Obiect
Pentru a accesa o funcție dintr-un obiect folosești o notație similară cu cea pentru accesarea unei variabile:
class MyClass:
variable = "blah"
def function(self):
print("This is a message inside the class.")
myobjectx = MyClass()
myobjectx.function()
Cele de mai sus ar afișa mesajul, "This is a message inside the class."
init()
Funcția __init__()
, este o funcție specială care este apelată când clasa este inițiată. Este folosită pentru atribuirea de valori într-o clasă.
class NumberHolder:
def __init__(self, number):
self.number = number
def returnNumber(self):
return self.number
var = NumberHolder(7)
print(var.returnNumber()) # Afișează '7'
Exercițiu
Avem o clasă definită pentru vehicule. Creează două vehicule noi, numite car1 și car2. Setați car1 să fie un decapotabil roșu în valoare de $60,000.00 cu numele Fer, și car2 să fie o camionetă albastră numită Jump în valoare de $10,000.00.
# define the Vehicle class
class Vehicle:
name = ""
kind = "car"
color = ""
value = 100.00
def description(self):
desc_str = "%s is a %s %s worth $%.2f." % (self.name, self.color, self.kind, self.value)
return desc_str
# your code goes here
# test code
print(car1.description())
print(car2.description())
# define the Vehicle class
class Vehicle:
name = ""
kind = "car"
color = ""
value = 100.00
def description(self):
desc_str = "%s is a %s %s worth $%.2f." % (self.name, self.color, self.kind, self.value)
return desc_str
# your code goes here
car1 = Vehicle()
car1.name = "Fer"
car1.color = "red"
car1.kind = "convertible"
car1.value = 60000.00
car2 = Vehicle()
car2.name = "Jump"
car2.color = "blue"
car2.kind = "van"
car2.value = 10000.00
# test code
print(car1.description())
print(car2.description())
#test_output_contains('Fer is a red convertible worth $60000.00.')
#test_output_contains('Jump is a blue van worth $10000.00.')
success_msg("Great job!")
This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join over a million other learners and get started learning Python for data science today!