2013-11-19 3 views
3

Я относительно новичок в Python. Я работаю над скриптом, который переназначает числовое представление цифры, найденной в строке, ее алфавитному аналогу. Поскольку функция относительно велика по размеру, я добавляю ее в качестве модуля для скрипта.Назначение функций функции модуля

У меня возникли проблемы с возвратом объекта из импортируемой функции. Я хотел бы использовать возвращаемый объект, но он, кажется, возвращается как None. Я изучил глобальные переменные, но я не знаю, правильно ли это.

Вот что я работаю с:

... 
import numassign 
for i in CharacterKey: # i is '0' 
    if i.isdigit():   
     FoundInt = numassign.NumberAssignment(input = i) 
     CharacterKeyList.append(FoundInt) 
     raw_input('{} reassigned to {}'.format(FoundInt, i)) 
    else: 
     CharacterKeyList.append(i) 
... 

Вот ссылки модуль (numassign):

... 
def NumberAssignment(input): 
    if input == 0: 
     FoundInt = 'Zero' 
     return FoundInt 
... 

В настоящее время возвращаются FoundInt в None.

None reassigned to 0 

Как перекрестно ссылаться на объекты из функции модуля? Я бы предпочел не загромождать свой код функциями, если бы мог импортировать их из ссылочного модуля.

+1

Не редактируйте свой вопрос, чтобы включить решение. Просто примите ответ, чтобы показать, что вопрос разрешен. – chepner

+0

Я до сих пор не мог принять ответ. Я буду отныне. – vbiqvitovs

ответ

2

Вы тестируете целое число, put передают строку.

Они могут печатать то же самое, но целые числа и строки никогда не проверяются как равные в Python. Тест для строки вместо:

if input == '0': 

Поскольку ваш if input == 0 терпит неудачу для input = '0', ваша функция никогда не достигает return заявления, оставив Python вернуться вместо значения по умолчанию None.

+0

Конечно. Вот почему его возвращение Нет. Я проверю его правильно. – vbiqvitovs

+0

Благодарим вас за запись. Возвращаемый объект правильно. Добавлен код в исходное сообщение. – vbiqvitovs

Смежные вопросы