№1 Практическая онлайн-школа обучения языкам программирования Python (Django), JavaScript, Kotlin В. Бовсуновского.

Специальная, подарочная акция получения доступа к Django4!

Как, я, начал код писать в Python? Смотрите, если уперлись и ничего не получается.

  

11. (Python) Магический метод __getitem__ практическое применение. Офигенно полезный.

>

# -*- coding: utf-8 -*-

"""

Задача есть дом, 

нам нужно получить доступ к каждой квартире и поменять данные.

​

список - поместить много квартир

словарь - ключ и значение

[{номер квартиры(int): собственник(str)},{},]

​

__getitem__

​

получение

я получаю квартиру {} - dict

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

​

"""

'\nЗадача есть дом, \nнам нужно получить доступ к каждой квартире и поменять данные.\n'

import copy

​

class Building():

    """

    Args:

        room - [{key:"value"}, {key:"value"},.....]

    

    """

    

    # задаёт начальные параметры

    def __init__(self, room):

        

        self.room = room

    

    # создадим переменную и присвоим путстой список, 

    # в качестdе значения args

    room = []  

    

    def __getitem__(self, index):

        """

        Пропишем для себя метод __getitem__ ,

        цель которого извлекать объект

        

        """

        print("Вывод __getitem__ ")

        copy_obj = copy.copy(self)

        

        copy_obj.room = copy_obj.room[index]

        

        return copy_obj

        

copy_obj = Building([{1: "Васечкин"}])

# пробуем извлечь, проверяем работу __getitem__

print(copy_obj[0].room)

Вывод __getitem__ 
{1: 'Васечкин'}

# добавим словарь в наш список

copy_obj.room.append({"2":"Гаечкина"})

# выаодим наш словарь

print(copy_obj.room)

[{1: 'Васечкин'}, {'2': 'Гаечкина'}, {'2': 'Гаечкина'}]

# извлечём элемент 2 - {'2': 'Гаечкина'}

print(copy_obj[2].room)

Вывод __getitem__ 
{'2': 'Гаечкина'}

# создаим переменную с действием извлечение 2-го элемента

room_dict_output = copy_obj[2].room

Вывод __getitem__ 

# выведим результат

print(room_dict_output)

{'2': 'Гаечкина'}

# присваиваем новое значение словарю

room_dict_update = room_dict_output['2'] =("Болтикова")

# выаодим наш словарь

print(copy_obj.room)

[{1: 'Васечкин'}, {'2': 'Гаечкина'}, {'2': 'Болтикова'}]

room_dict_output['3'] = room_dict_output.pop('2')

print(copy_obj.room)

[{1: 'Васечкин'}, {'2': 'Гаечкина'}, {'3': 'Болтикова'}]

room_dict_output[3] = room_dict_output.pop('3')

print(copy_obj.room)

[{1: 'Васечкин'}, {'2': 'Гаечкина'}, {3: 'Болтикова'}]

Рекомендуется отвлечься и что бы было больше понимания зачем изучать типы данных серьёзно давайте начнём писать приложения.

Мы с вами попишем на Toga, напишем десктопное и мобильное приложение.





Вcе записи подраздела.


Сейчас вы проходите урок:
11. (Python) Магический метод __getitem__ практическое применение. Офигенно полезный.

<< Назад  |  Далее >>


Все уроки с тегом:  __getitem__