Найти - Пользователи
Полная версия: Дескрипторы
Начало » Python для новичков » Дескрипторы
1
spikejke
Доообрый день , ломаю голову над дескрипторами
 class Property:
	def __init__(self , func):
		self.func = func
	def __get__(self, obj , obj_type=None):
		if obj is None:
			return self
		return self.func(obj)
 class Class:
	@Property
	def somefunc(self):
		return 'value'
Объясните пожалуйста , что передаётся в return self.func([obj) , а именно в obj
scidam
Если не читать документацию, можно поступить следующим образом (добавить print):

  class Property:
	def __init__(self , func):
		self.func = func
	def __get__(self, obj , obj_type=None):
                print("I am the object:", obj)  # show info about the object
		if obj is None:
			return self
		return self.func(obj)
 class Class:
	@Property
	def somefunc(self):
		return 'value'
x = Class()
x.somefunc

Откуда можно будет сделать вывод, что obj – это x (instance of Class). В документации, однако, это написано
spikejke
scidam
Если не читать документацию, можно поступить следующим образом (добавить print):
Спасибо , понял спустя 30 минут как написал пост.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB