Рубрики
Без рубрики

Разница между отелем и атрибутом | Питон

🔑 Недвижимость является специальным видом атрибута, который дает вам доступ к методам Getter, Setter и Delete, I.E., __get__, __set__ и __delete__.

Автор оригинала: Shubham Sayon.

Если вы эффективно приняли еще один объектно-ориентированный язык программирования, вы, вероятно, должны были реализовать, что условия- атрибуты и свойства обычно используются эквивалентно. Действительно, даже в типичном английском использовании слов « Атрибуты » и « Свойство » можно использовать как эквиваленты.

Но когда дело доходит до питона, свойства и атрибуты два разных веща. Итак, без дальнейшего ADO давайте узнаем о них.

🔑 Разница между имуществом и атрибутом в Python

💡 Вы можете думать о свойства как Особый вид атрибутов которые предоставляют Добрать , Сеттер и Удаление Функциональность атрибута.

Давайте посмотрим на следующий пример, чтобы понять разницу между двумя:

class Finxter:
    # This is an attribute
    def __init__(self,n):
        print("---Attribute---")
        self.name = n
        print("Welcome ", self.name,'\n')

    @property
    def foo(self):
        print("---Getter Method---")
        return self.name

    @foo.setter
    def foo(self,name):
        print("---Setter Method---")
        print("Setting Name as ",name,'\n')
        self.name= name

    @foo.deleter
    def foo(self):
        print("---Deleter Method---")
        del self.name


obj = Finxter('Finxter')
obj.foo = 'Chris'
print("Welcome", obj.foo,'\n')
del obj.foo

Выход:

---Attribute---
Welcome  Finxter 

---Setter Method---
Setting Name as  Chris 

---Getter Method---
Welcome Chris 

---Deleter Method---

Объяснение:

  • Первоначально __init__ Способ, который является атрибутом экземпляра, вызывается. Таким образом, выход – Добро пожаловать Finxter Отказ
  • Python, затем наткнулся на @Property декоратор. Таким образом, Добрать , Сеттер и Удаление Методы выполняются один за другим после этого.
Свойство Атрибут
◈ Недвижимость дает вам контроль над своими методами Getter, Setter и Delete, I.E., __get__, __set__ и __delete__. ◈ С атрибутом вы не можете работать с методами __get__, __set__ и __delete__.
◈ Недвижимость может рассматриваться как особый вид атрибута. ◈ Атрибуты могут быть описаны с помощью переменных, таких как имя, возраст, высота и т. Д. Это может быть из следующих типов: – 1. Атрибуты класса. 2. Атрибуты экземпляра

Давайте погрузиться глубоко в атрибуты и свойства иметь лучшее сцепление на них.

💎attributes в Python

В Python атрибуты могут быть из следующих типов:

  • Класс атрибутов
  • Атрибуты экземпляра

📌 Атрибуты класса в Python

  • В Python атрибуты класса являются атрибутами, созданными внутри определения класса и принадлежат к самому классу.
  • Атрибуты класса совместно используются между всеми другими объектами того же класса.

Пример:

class Job:
    # class attribute
    exp = 0

    def foo(self):
        Job.exp += 1
        return Job.exp


# Creating object for the class
obj_a = Job()
obj_b = Job()

# class attribute 'experience' is shared by all objects of the class
print("Name: Rashi \t Experience: ", obj_a.foo(), "Year")
print("Name: Shubham \t Experience: ", obj_b.foo(), "Years")

Выход:

Name: Rashi 	 Experience:  1 Year
Name: Shubham 	 Experience:  2 Years

Объяснение:

В приведенной выше программе атрибут класса exp делятся всеми объектами класса ‘ Работа ‘. Таким образом, он увеличивается на 1 каждый раз, когда новый экземпляр вызывает его.

Примечание: Атрибуты класса определяются за пределами конструктора __init__.

📌 Атрибуты экземпляра в Python

объект Ничего, кроме случаев класса в Python. Хотя класс можно рассматривать как план, для которого могут быть созданы объекты.

Атрибуты экземпляра уникальны для каждого экземпляра в Python. Это означает, что каждый атрибут экземпляра существует независимо в пределах объема его объекта и может быть изменен без влияния на другие экземпляры.

Пример:

# Creating a class
class student:
    def __init__(s):
        # Creating a constructor
        s.name = "Harry Potter"
        s.age = "19"
    # These are instance attributes

    # Defining a method
    def display(s):
        # Printing the details
        print("Student name-", s.name)
        print("Student age-", s.age)


# Creating object st for the student class
st = student()

# Calling the method
st.display()

Выход:

Student name- Harry Potter
Student age- 19

Рекомендуемый видеоурок на атрибутах 👇.

Источник: https://blog.finxter.com/python-attributes/

📜 Недвижимость в Python

Чтобы понять, что есть свойства в Python, давайте посмотрим на следующий пример:

# Creating a class
class Rectangle(object):
    # Defining a method
    def __init__(self, length, width):
        self.length = length
        self.width = width
        self.area = self.length*self.width


# instantiation
rect = Rectangle(5, 4)
print('Length = {}'.format(rect.length))
print('Width = {}'.format(rect.width))
print('Area = {}'.format(rect.area))

print()
# Changing the length and breadth of rectangle
rect.length = 6
rect.width = 8

print('Length = {}'.format(rect.length))
print('Width = {}'.format(rect.width))
print('Area = {}'.format(rect.area))

Выход:

Length = 5
Width = 4
Area = 20

Length = 6
Width = 8
Area = 20
  • В приведенном выше примере мы замечаем, что область прямоугольника – 20 Когда длина и ширина 5 и 4 соответственно. Но площадь прямоугольника остается прежней ( 20 ) даже после изменения значений длины и ширины до 6 и 8 соответственно.
  • Следовательно, мы, чтобы гарантировать, что Python вычисляет значения правильно, нам нужно использовать @Property декоратор.

    • @Property Является ли встроенный декоратор в Python, который позволяет вам легко добраться до доступа до доступа и методов установки.

Давайте посмотрим на решение нашей проблемы.

Решение

class Rectangle(object):
    # Defining a method
    def __init__(self, length, width):
        self.length = length
        self.width = width

    # Using property to calculate area of rectangle
    @property
    def area(self):
        return self.length * self.width


rect = Rectangle(5, 4)
print('Length = {}'.format(rect.length))
print('Width = {}'.format(rect.width))
print('Area = {}'.format(rect.area))

print()
# Changing the length and breadth of rectangle
rect.length = 6
rect.width = 8

print('Length = {}'.format(rect.length))
print('Width = {}'.format(rect.width))
print('Area = {}'.format(rect.area))

Выход:

Length = 5
Width = 4
Area = 20

Length = 6
Width = 8
Area = 48

Вывод

Таким образом, в этой статье вы узнали основные Различия между атрибутом и имуществом в Python Отказ Я надеюсь, что это помогло вам понять

  • «Каковы различные типы атрибутов в Python?»
  • «Что такое недвижимость в Python»?

Пожалуйста, Подписаться и Оставайтесь настроиться Для более интересных учебных пособий. Счастливое обучение! 📚

Автор: Шубхам Сайон Соавтор: Раши Агарваль

Python One-listers научит вас читать и писать «одноклассники»: краткие заявления полезных функций, упакованных в одну строку кода. Вы узнаете, как систематически распаковать и понимать любую строку кода Python и писать красноречие, мощно сжатый Python, как эксперт.

Получите свою копию Python One-listers здесь.

Я профессиональный Python Blogger и Content Creator. Я опубликовал многочисленные статьи и создал курсы в течение определенного периода времени. В настоящее время я работаю полный рабочий день, и у меня есть опыт в областях, таких как Python, AWS, DevOps и Networking.

Вы можете связаться со мной @: