Python-ում class-ի օբյեկտ ստեղծելուց հետո դուք չեք սահմանափակվում նախնական փուլում տրված արժեքներով, ուստի կարող եք փոփոխել օբյեկտի ատրիբուտները: Եկե՛ք կրկին դիտարկենք մեր Book class-ը: Book օբյեկտ ստեղծելուց հետո դուք կարող եք թարմացնել էջերի քանակը կամ հեղինակի անունը՝ ուղղակիորեն հասանելիություն ստանալով ատրիբուտին, ինչը հնարավոր է անել՝ օգտագործելով . օպերատորը և տալով նոր արժեք.
class Book:
def __init__(self, title, author, pages):
self.title = title # Assign title to the book instance
self.author = author # Assign author to the book instance
self.pages = pages # Assign number of pages to the book instance
self.is_read = False # Book has not been read yet
book1 = Book('To Kill a Mockingbird', 'Harper Lee', 281)
print(book1.pages) # 281
book1.pages = 324 # Update the number of pages
print(book1.pages) # 324
print(book1.author) # 'Harper Lee'
book1.author = 'Lee, Harper' # Update the author's name
print(book1.author) # 'Lee, Harper'
Առաջադրանք․ ստեղծեք «գիրք» class
Ձեր խնդիրն է նախագծել Book class՝ չորս ատրիբուտներով.
title - սկզբնադիր (default) "Untitled Book"
author - սկզբնադիր "Unknown Author"
price - սկզբնադիր 0.0
quantity_in_stock - սկզբնադիր 0
Class-ն իր կոնստրուկտորում պետք է սահմանի բոլոր ատրիբուտները՝ նշված սկզբնադիր (default) արժեքներով։ __init__()-ը չպետք է ընդունի արգումենտներ: Class-ը պետք է ներառի նաև display մեթոդ՝ գրքի ընթացիկ հատկանիշներն ընթեռնելի ձևաչափով ցուցադրելու համար: Ձևաչափը պետք է լինի` "Title: [title], Author: [author], Price: [price], Quantity in stock: [quantity_in_stock]".
Այնուհետև ծրագիրը կընդունի մուտքագրման երկու տող: Առաջին տողը պարունակում է ատրիբուտի անվանումը՝ (title, author, price, quantity_in_stock): Երկրորդ տողը պարունակում է արժեք՝ այդ ատրիբուտի համար:
Ձեր ծրագիրը պետք է վերագրի այս նոր արժեքը մուտքագրման մեջ նշված ատրիբուտին, այնուհետև կանչի Book օբյեկտի display մեթոդը՝ գրքի ընթացիկ ատրիբուտները տպելու համար:
Մուտք
Ելք
title
War and Peace
Title: War and Peace, Author: Unknown Author, Price: 0.0, Quantity in stock: 0