Как перечислить переменные или атрибут внутри функции класса?Python

Программы на Python
Ответить
Anonymous
 Как перечислить переменные или атрибут внутри функции класса?

Сообщение Anonymous »

Пример кода:

Код: Выделить всё

class hello:
cls_var_name='Hello_Class'
def setdata(self, value):
self.data=value
fun1_var_name='Setdata_Function'
def showdata(self):
fun2_var_name='Showdata_Function'
print(self.data)
Итак, с помощью функции dir() мы можем перечислить все атрибуты класса. но как составить список переменных/атрибутов внутри функции класса.
Демо:

Код: Выделить всё

>>> dir(hello)
['__doc__', '__module__', 'cls_var_name', 'setdata', 'showdata']
>>>
>>> dir(hello.setdata)
['__call__', '__class__', '__cmp__', '__delattr__', '__doc__', '__format__', '__func__', '__get__',
'__getattribute__', '__hash__', '__init__', '__new__', '__reduce__', '__reduce_ex__', '__repr__',
'__self__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'im_class', 'im_func', 'im_self']
>>>
>>> dir(hello.showdata)
['__call__', '__class__', '__cmp__', '__delattr__', '__doc__', '__format__', '__func__', '__get__',
'__getattribute__', '__hash__', '__init__', '__new__', '__reduce__', '__reduce_ex__', '__repr__',
'__self__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'im_class', 'im_func', 'im_self']
В приведенном выше выводе вы можете увидеть список атрибутов класса в каталоге (привет) результат:

Код: Выделить всё

'cls_var_name', 'setdata', 'showdata'
Но для результатов dir(hello.setdata) и dir(hello.showdata) выводятся все связанные атрибуты, но не переменные fun1_var_name и fun2_var_name, почему?

Подробнее здесь: https://stackoverflow.com/questions/726 ... of-a-class
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»