Тревор Ховард имеет несколько категорий UIImage , которые прекрасно справляются с изменением размера. Если ничего другого, вы можете использовать код в качестве примера.
Примечание. Начиная с iOS 5.1, этот ответ может быть недействительным. См. Комментарий ниже.
Вы сами дали решение: из импорта *
будет работать нормально. Python не делает различий между функциями и переменными в этом отношении.
>>> from a import *
>>> if name == "Michael" and age == 15:
... print('Simple!')
...
Simple!
Как говорили другие,
from module import *
также будет импортировать переменные модулей.
Однако вы должны понимать, что вы не импортируете переменные, а просто ссылки на объекты. Назначение чего-то еще импортированным именам в импортирующем модуле не повлияет на другие модули.
Пример: предположим, что у вас есть модуль module.py
, содержащий следующий код:
a= 1
b= 2
Затем у вас есть два других модуля, mod1.py
и mod2.py
, которые выполняют следующие функции:
from module import *
В каждом модуле два имени, a
и b
создаются, указывая на объекты 1
и 2
соответственно.
Теперь, если где-то в mod1.py
вы назначаете что-то еще глобальному имени a
:
a= 3
имя a
в module.py
и имя a
в mod2.py
по-прежнему будут указывать на объект 1
.
Таким образом, из импорта модуля *
будет работать, если вам нужны глобальные объекты только для чтения, но не будет работать, если вы хотите глобальные объекты для чтения и записи. В последнем случае лучше просто импортировать import module
, а затем либо получить значение ( module.a
), либо установить значение ( module.a =…
) с префиксом модуля.
import module
, а затем либо получить значение ( module.a
), либо установить значение ( module.a =…
) с префиксом модуля. t работает, если вам нужны глобальные файлы для чтения и записи. В последнем случае лучше просто импортировать import module
, а затем либо получить значение ( module.a
), либо установить значение ( module.a =…
) с префиксом модуля. Вы не сказали этого прямо, но я предполагаю, что у вас возникли проблемы с манипулированием этими глобальными переменными.
Если вы управляете глобальными переменными изнутри функции, вы должны объявить them global
a = 10
def x():
global a
a = 15
print a
x()
print a
Если вы этого не сделаете, то a = 15
просто создаст локальную переменную и присвоит ей 15, а глобальная a останется 10
Вот что я бы сделал: Используйте свежий клон ревизии подсказки.
hg backout --merge -r revision_where_the_change_happened
, чтобы объединить обратные изменения в рабочая копия.
Теперь скопируйте рассматриваемый файл в вашу обычную рабочую копию и зафиксируйте
hg commit -m "Reversed the changes to file.h made in revision bla"
и выбросьте созданный вами выше клон.
Таким образом, mercurial не знает, что существует связь между revision_where_the_change_happened
и этот коммит. Если вы хотите, чтобы Меркуриал запомнил это, вместо этого выполните
hg revert {all files except the one in question}
после слияния обратной фиксации с рабочей копией и перед фиксацией. Для второго способа вам не нужно работать с клоном, потому что вы хотите сохранить обратную фиксацию.
Я предполагаю, что выбор того, какой способ вы используете, зависит от того, насколько велика часть набора изменений. изменение файла было.
Форма from [module] import [identifiers]
является более перспективной, поскольку вы можете легко увидеть, когда один импорт будет перекрывать другой.
Также обратите внимание, что «переменные» не отличаются от функций в Python с точки зрения их адресации - каждый идентификатор, например name
или sayBye
, указывает на какой-то объект. Идентификатор name
указывает на строковый объект, sayBye
указывает на функциональный объект, а age
указывает на целочисленный объект. Когда вы говорите Python:
from a import name, age
, вы говорите «возьмите те объекты, на которые указывает имя
и возраст
в модуле a
, и укажите на них в текущем область с теми же идентификаторами ».
Аналогичным образом, если вы хотите указать на них с разными идентификаторами при импорте, вы можете использовать форму
from a import sayBye as bidFarewell
. Указывается тот же функциональный объект, за исключением того, что в текущей области идентификатор, указывающий на него, - bidFarewell
, тогда как в модуле a
идентификатор, указывающий на него, - sayBye
.