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

Python Setattr ()

Встроенный SetaTTR Python Setattr (объект, строка, значение) требует три аргумента: объект, строка и произвольное значение. Он устанавливает атрибут, заданный строкой на объекте к указанному значению. После вызова функции есть новый или обновленный атрибут в данном экземпляре, названном и оценен, как указано в аргументах. Для … Python Setattr () Подробнее »

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

Встроенный Python setattr (объект, строка, значение) Функция занимает три аргумента: a объект , а строка и произвольно ценность Отказ Он устанавливает атрибут, заданный строкой на объекте к указанному значению. После вызова функции есть новый или обновленный атрибут в данном экземпляре, названном и оценен, как указано в аргументах. Например, setattr (объект, атрибут ', 42) эквивалентно объект.attribute Отказ

Применение

Узнайте пример! Вот пример того, как использовать setattr () Встроенная функция Отказ

Создать Автомобиль объект Porsche с новым атрибут Скорость и установите его на значение 100 :

# Define class with one attribute
class Car:
    None


# Create object
porsche = Car()
setattr(porsche, 'speed', 100)

# What's the value for attribute speed?
print(porsche.speed)
# 100

Видео Setattr ()

Синтаксис setattr ()

setattr () Объект имеет следующий синтаксис:

Syntax: 
setattr(object, attribute, value)         # Set or update object's attribute to value
Аргументы объект Объект, для которого должен быть установлен атрибут.
нить Имя атрибута должно быть установлено или обновлено.
объект Значение для установки атрибута.
Возвращаемое значение Никто Ничего не возвращается. Просто устанавливает или обновляет атрибут.

Упражнение интерактивных оболочек: понимание SetAttr ()

Рассмотрим следующий интерактивный код:

Упражнение : Прежде чем запустить код, угадайте вывод!

Но прежде чем мы будем двигаться дальше, я рад представить вам мою новую книгу Python Python One-listers (Amazon Link).

Если вам нравятся одноклассники, вы будете любить книгу. Это научит вам все, что нужно знать о Одно строка кода Python. Но это тоже Введение в компьютерную науку , наука о данных, машин обучения и алгоритмы. Вселенная в одной строке Python!

Книга была выпущена в 2020 году с помощью книги по программированию мирового класса Nostarch Press (San Francisco).

Ссылка: https://nostarch.com/pythononeliners.

Практическое применение: Python Setattr () Self

В Объектно-ориентированное программирование Вы часто можете видеть использование setattr () Встроенная функция в сочетании с объектом я в __init __ () Метод конструктора.

Идея состоит в том, чтобы иметь возможность создавать класс с динамическими атрибутами, выбранными во время выполнения пользователя или программой. Таким образом, вы можете создавать классы контейнеров, которые удерживают произвольные атрибуты.

class Person:
    def __init__(self, attributes):
        for key, value in attributes.items():
            setattr(self, key, value)


# Create two different persons
alice = Person({'name': 'Alice', 'income': 180000, 'eyes': 'blue'})
bob = Person({'firstname': 'Max', 'lastname': 'Power'})


# Different persons, different attributes
print(alice.name + ' ' + str(alice.income) + ' ' + alice.eyes)
print(bob.firstname + ' ' + bob.lastname)


# Output:
'''
Alice 180000 blue
Max Power
'''

Обратите внимание, что это очень удобный способ создания классов с разными именами атрибутов. Тем не менее, вы должны рассмотреть вопрос о том, сможете ли вы улучшить свое объектно-ориентированное моделирование, потому что концепция класса может не подходить, если не имеют одинаковых атрибутов.

Python Setattr () VS назначение

Существует два эквивалентных способа установки или обновления значения нового атрибута для объекта:

  • Используйте setattr (объект, "атрибут", значение) функция.
  • Используйте операцию назначения объект.attribute Отказ

Разница в том, что setattr () Требуется строковое значение имени атрибута, когда операция назначения требуется имя самого атрибута. Таким образом, если у вас есть только текстовое представление атрибута для установки, например, из словаря пар клавишных пар – вы должны использовать setattr () функция. Но если у вас есть явное имя атрибута, это часто более простое и читаемое для использования присвоения.

class Person:
    None


# ASSIGNMENT:
# Create Alice with one attribute name
alice = Person()
alice.name = 'alice'

# SETATTR():
# Create Bob with one attribute name
bob = Person()
setattr(bob, 'name', 'bob')

print(alice.name)
print(bob.name)

'''
alice
bob
'''

Связанные функции

  • getattr () Функция возвращает значение атрибута.
  • setattr () Функция меняет значение атрибута.
  • Hasattr () Функция проверяет, существует ли атрибут.
  • Делаттр () Функция удаляет существующий атрибут.

Резюме

Встроенный Python setattr (объект, строка, значение) Функция занимает три аргумента: a объект , а строка и произвольно ценность Отказ

Он устанавливает атрибут, заданный строкой на объекте к указанному значению. После вызова функции есть новый или обновленный атрибут в данном экземпляре, названном и оценен, как указано в аргументах.

Например, setattr (объект, атрибут ', 42) эквивалентно объект.attribute :

class O:
    None
    
obj = O()
setattr(obj, 'attribute', 42)
print(obj.attribute)
# 42

Я надеюсь, что вам понравилось статью! Чтобы улучшить свое образование Python, вы можете присоединиться к популярной академии по электронной почте Free Finxter:

Хотите увеличить свои навыки Python в веселой и легкой потребности? Рассмотрим следующие ресурсы и стать магистральным кодером!

Куда пойти отсюда?

Достаточно теории, давайте познакомимся!

Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?

Практические проекты – это то, как вы обостряете вашу пилу в кодировке!

Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?

Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.

Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.

Присоединяйтесь к свободному вебинару сейчас!

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.