Используйте методы UIPageViewControllerDelegate и настройте защиту, чтобы предотвратить создание новых просмотров страниц при обнаружении чрезмерных поворотов страниц.
Для отображения значения приятно можно использовать печать модуль. Самый легкий способ вывести все переменные с ним состоит в том, чтобы сделать
from pprint import pprint
pprint(globals())
pprint(locals())
, Если Вы работаете в CGI, полезная функция отладки модуль cgitb , который отображает значение локальных переменных как часть traceback.
PHP's var_export () обычно шоу сериализированная версия объекта, который может быть должностным лицом () 'd для воссоздавания объекта. Самая близкая вещь, к которой в Python repr ()
"Для многих типов, эта функция, предпринимает попытку возвратить строку, которая привела бы к объекту с тем же значением при передаче оценке () [...]"
print
Для Ваших собственных классов, просто определение __str__
метод
typedef std::function< void(Args..., my_own_type) > my_own_type;
твердо выразить.
– Yakk - Adam Nevraumont
1 February 2014 в 06:37
Таким образом, я взял ответы от этого вопроса и другой вопрос и подошел ниже. Я подозреваю, что это не pythonic достаточно для большинства людей, но я действительно хотел что-то, что позволяет мне получить глубокое представление значений, которые имеет некоторая неизвестная переменная. Я ценил бы любые предложения о том, как я могу улучшить это или достигнуть того же легче поведения.
def dump(obj):
'''return a printable representation of an object for debugging'''
newobj=obj
if '__dict__' in dir(obj):
newobj=obj.__dict__
if ' object at ' in str(obj) and not newobj.has_key('__type__'):
newobj['__type__']=str(obj)
for attr in newobj:
newobj[attr]=dump(newobj[attr])
return newobj
Вот использование
class stdClass(object): pass
obj=stdClass()
obj.int=1
obj.tup=(1,2,3,4)
obj.dict={'a':1,'b':2, 'c':3, 'more':{'z':26,'y':25}}
obj.list=[1,2,3,'a','b','c',[1,2,3,4]]
obj.subObj=stdClass()
obj.subObj.value='foobar'
from pprint import pprint
pprint(dump(obj))
и результаты.
{'__type__': '<__main__.stdClass object at 0x2b126000b890>',
'dict': {'a': 1, 'c': 3, 'b': 2, 'more': {'y': 25, 'z': 26}},
'int': 1,
'list': [1, 2, 3, 'a', 'b', 'c', [1, 2, 3, 4]],
'subObj': {'__type__': '<__main__.stdClass object at 0x2b126000b8d0>',
'value': 'foobar'},
'tup': (1, 2, 3, 4)}
Я использую самописный класс Printer, но dir () также хорош для вывода полей / значений экземпляра.
class Printer:
def __init__ (self, PrintableClass):
for name in dir(PrintableClass):
value = getattr(PrintableClass,name)
if '_' not in str(name).join(str(value)):
print ' .%s: %r' % (name, value)
Пример использования:
Printer(MyClass)
Я думаю, что лучший эквивалент PHP var_dump ($ foo, $ bar)
- это объединить print
с vars
:
print vars(foo),vars(bar)
authorized_keys
. – Swaroop C H 11 October 2008 в 11:27