Описание тега python-datamodel
По вопросам о различных деталях, связанных с моделью данных Python: встроенные типы, классы, метаклассы, магические методы __dunder__, операторы, инициализация объекта, поиск атрибутов и т. Д. Всегда не забывайте использовать тег "python" вместе с этим. Приветствуется использование специальных тегов, таких как "операторы" или "метакласс".
1
ответ
How to make Python 2's __getitem__ work on a class?
How do I make item access ie. __getitem__available on a class object in Python 2.x? Я пробовал: class B: @classmethod def __getitem__(cls, key): raise IndexError тестовое задание: B[0] # TypeError: 'classobj' object has no attribute '__getitem__' pr…
29 апр '14 в 16:09
1
ответ
Как получить родительские классы класса в моем мета-классе?
У меня есть следующий скрипт: #!/usr/bin/python3 class MyMeta(type): def __new__(mcs, name, bases, dct): print(name + " " + str(bases)) return super(MyMeta, mcs).__new__(mcs, name, bases, dct) class A(metaclass=MyMeta): def foo(self): pass class B(A…
29 ноя '14 в 09:37
4
ответа
Поиск атрибутов python без какой-либо магии дескриптора?
Я начал более широко использовать протокол дескриптора Python в коде, который писал. Как правило, магия поиска по умолчанию в Python - это то, что я хочу, но иногда я обнаруживаю, что хочу получить сам объект дескриптора вместо результатов его __get…
27 окт '09 в 00:38
3
ответа
When where and how can i change the __class__ attr of an object?
Я хотел бы иметь возможность сделать: >>> class a(str): ... pass ... >>> b = a() >>> b.__class__ = str Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: __class__ assignment: onl…
10 июн '10 в 09:45
4
ответа
Удалять элементы при прохождении списка в Python
В Java я могу сделать с помощью Iteratorа затем с помощью .remove() метод итератора для удаления последнего элемента, возвращаемого итератором, например: import java.util.*; public class ConcurrentMod { public static void main(String[] args) { List&…
30 авг '09 в 02:18
0
ответов
Учитывая метод, как получить класс, который определяет этот метод?
Если это метод класса, эта задача проста: class MyClass: @classmethod def some_fun(cls): pass fun = MyClass.some_fun my_class = fun.__self__ print (my_class is MyClass) # True Однако это работает только потому, что some_fun это classmethod, Давайте …
14 фев '19 в 20:10
5
ответов
python ImportError: невозможно импортировать имя 'Faker' из 'faker'
Привет , поэтому я писал этот сценарий для предварительного заполнения своей базы данных Django, но когда я перестал ее писать, я получил странную ошибку: Мой сценарий: import os os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'first_project.setting…
03 дек '18 в 12:49
13
ответов
Получить полное имя класса объекта в Python
В целях ведения журнала я хочу получить полное имя класса объекта Python. (Под полной квалификацией я подразумеваю имя класса, включая имя пакета и модуля.) Я знаю о x.__class__.__name__, но есть ли простой способ получить пакет и модуль?
07 янв '10 в 11:50
1
ответ
Документ модели данных Python: несвязанный пользовательский объект метода и объект метода класса
В справочной модели данных автор приложил немало усилий, объясняя, как создаются и управляются пользовательские методы:(см. http://docs.python.org/reference/datamodel.html и roll вниз) Пользовательские объекты методов могут быть созданы при получени…
01 фев '12 в 04:47
1
ответ
От RangeIndex до DatetimeIndex
Я анализирую временные ряды действия (исторические с 2000 по 2018 год). Я хочу иметь возможность лучше анализировать свои временные ряды (например, ежемесячно, ежеквартально), помещая все данные datetime в DatetimeIndex. Как мне это сделать? Являетс…
03 июн '18 в 14:55
2
ответа
Переменная Шредингера: ячейка __class__ волшебным образом появляется, если вы проверяете ее наличие?
Здесь есть сюрприз: >>> class B: ... print(locals()) ... def foo(self): ... print(locals()) ... print(__class__ in locals().values()) ... {'__module__': '__main__', '__qualname__': 'B'} >>> B().foo() {'__class__': <class '__main…
03 май '16 в 00:12
2
ответа
isinstance(тип, объект) = правда, почему?
Я понимаю, что объект является экземпляром типа, а тип наследуется от объекта. Таким образом, следующие отношения имеют смысл: isinstance(object, type) # returns True, ok issubclass(type, object) # returns True, ok Я также знаю, что isinstance (a, b…
24 май '18 в 03:03
12
ответов
Получение имени класса экземпляра?
Как узнать имя класса, который создал экземпляр объекта в Python, если функция, из которой я делаю это, является базовым классом, из которого был получен класс экземпляра? Я думал, что модуль проверки мог бы помочь мне здесь, но, похоже, он не дает …
04 фев '09 в 11:37
3
ответа
python __getattr__ help
Читая книгу, я наткнулся на этот код... # module person.py class Person: def __init__(self, name, job=None, pay=0): self.name = name self.job = job self.pay = pay def lastName(self): return self.name.split()[-1] def giveRaise(self, percent): self.pa…
16 янв '11 в 15:26
1
ответ
Почему не все имена в dir(x) действительны для доступа к атрибутам?
Зачем кодеру вставлять вещи в __dict__ что нельзя использовать для доступа к атрибутам? Например, в моем экземпляре Plone, dir(portal) включает в себя index_html, но portal.index_html поднимает AttributeError. Это также верно для __class__ атрибут P…
27 янв '09 в 20:30
4
ответа
Цикл по методам объекта Python / IronPython
Как правильно перебрать методы объекта Python и вызвать их? Учитывая объект: class SomeTest(): def something1(self): print "something 1" def something2(self): print "something 2"
30 май '09 в 04:24
4
ответа
Почему в Python нет метода "__req__" (отраженного равенства)?
У меня есть маленький вспомогательный класс: class AnyOf(object): def __init__(self, *args): self.elements = args def __eq__(self, other): return other in self.elements Это позволяет мне делать сладкую магию, как: >>> arr = np.array([1,2,3,…
30 ноя '17 в 15:51
3
ответа
Как бы вы определили, где определены каждое свойство и метод класса Python?
Учитывая экземпляр некоторого класса в Python, было бы полезно определить, какая строка исходного кода определяет каждый метод и свойство (например, для реализации 1). Например, дан модуль ab.py class A(object): z = 1 q = 2 def y(self): pass def x(s…
27 янв '09 в 19:37
15
ответов
Запретить создание новых атрибутов за пределами __init__
Я хочу иметь возможность создать класс (в Python), который когда-то инициализируется с __init__, не принимает новые атрибуты, но принимает модификации существующих атрибутов. Есть несколько способов взлома, которые я вижу, чтобы сделать это, наприме…
30 авг '10 в 19:20
1
ответ
Модель данных Python: снова перепутан с методом классов
Говорят, что: Когда он даст объект метода класса, он преобразуется в связанный пользовательский объект метода, чьи атрибуты im_class и im_self являются C. в ссылке И я сделал EX. >>> class C(object) : ... @classmethod ... def cm(cls) : prin…
02 фев '12 в 04:32