После сброса объекта с помощью print_r()
я смог получить доступ к массиву posts
с помощью:
print_r($the_query1 -> posts);
В Python обзор имеет три типа: глобальный, локальный и класс. Можно создать специализированные словари 'объема', чтобы передать должностному лицу / оценка (). Кроме того, можно использовать вложенные объемы (определяющий функцию в другом). Я нашел, что они были достаточны во всем моем коде.
, Поскольку Douglas Leeder уже сказал, главная причина использовать, это на других языках - переменный обзор, и этого действительно не происходит в Python. Кроме того, Python является самым читаемым языком, который я когда-либо использовал. Это шло бы вразрез с мелкой частицей удобочитаемости, чтобы сделать что-то как то, если - истинные приемы (Который Вы говорите Вас, хотят избежать). В этом случае я думаю, что лучший выбор состоит в том, чтобы осуществить рефакторинг Ваш код в несколько функций или использовать единственный объем. Я думаю, что доступные объемы в Python достаточны для покрытия каждой возможности, таким образом, локальный обзор не должен действительно быть необходимым.
я надеюсь, что это помогает.
Почему Вы хотите создать новые объемы в Python так или иначе?
нормальная причина того, чтобы сделать это на других языках - переменный обзор, но этого не происходит в Python.
if True:
a = 10
print a
переменные в понимании списка (Python 3 +) и генераторы локальны:
>>> i = 0
>>> [i+1 for i in range(10)]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> i
0
, но почему точно Вам нужно это?
Я рассматривал бы это как ясный знак, что пора создать новую функцию и осуществить рефакторинг код. Я не вижу причины создать новый объем как этот. Какая-либо причина в памяти?
Python имеет точно два объема, локальные и глобальные. Переменные, которые используются в функции, находятся в локальном объеме, в каком уровне отступа они были созданы. Вызов вложенной функции будет иметь эффект, который Вы ищете.
def foo():
a = 1
def bar():
b = 2
print a, b #will print "1 2"
bar()
Все еще как все остальные, я должен спросить Вас, почему Вы хотите создать ограниченный объем в функции.
Если Вы просто хотите создать временные переменные и позволить им, собраны "мусор" прямо после использования их, можно использовать
del varname
, когда Вы больше не хотите их.
, Если его только для эстетики, Вы могли бы использовать комментарии или дополнительные новые строки, никакое дополнительное добавление отступа, все же.
А объемом является текстовый регион программы Python, где пространство имен непосредственно доступно. “Directly accessible” здесь означает, что неполная ссылка на имя пытается найти имя в пространстве имен...
, читайте документация и разъясните свой вопрос.
btw, Вам не нужно if(TRUE){}
в C, простое {}
достаточно.
def a():
def b():
pass
b()
, Если я просто хочу некоторое дополнительное добавление отступа или отлаживаю, я буду использовать if True: