2015-04-25 5 views
-2

Я вроде как новый для Python, поэтому я читал через Pro Python, и у него был этот раздел о передаче аргументов ключевого слова переменной для работы. После прочтения этого раздела я написал следующий код, который, похоже, не работает.Python - Передача аргументов в функции

def fun(**a): 
    return a['height'] if a is not {} else 0 
+0

Показать код пожалуйста – user3818650

+0

Защиту весело (** а): возвращает [ 'высота'], если не {} еще 0 –

+0

код, пожалуйста. – skyline75489

ответ

4

Пустой хэш из аргумента не гарантированно является тем же объектом, что и новый пустой хэш.

Пробуйте сравнить с помощью a != {} или просто a['height'] if a else 0.

Или даже без проверки:

return a.get('height', 0) 
+1

Получите отличное предложение. В конце концов, {'spam': 3} не равен {} или falsey, но у него все еще нет его ключа ... – abarnert

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