Каково различие между Строкой (значение) и значением как Строка?

Нет необходимости проверять состояние if, просто используйте get, чтобы получить соответствующее значение и вернуть -1, если ключ отсутствует

contacts = {
    "John" : 938477566,
    "Jack" : 938377264,
    "Jill" : 947662781
}

contacts.get('John',-1) # -1 will be returned if key is not found

Форматирование печати

name_to_search='John'
print("Contact details: %s %i" % (name_to_search, contacts.get(name_to_search,-1)))
[ 118] или

name_to_search='John'
print("Contact details: {} {}" .format(name_to_search, contacts.get(name_to_search,-1)))
5
задан onekidney 6 November 2008 в 03:23
поделиться

2 ответа

Кастинг с Типом (переменная) может вызвать время выполнения exeception (RTE), в то время как "переменная, поскольку тип" возвратит пустой указатель вместо того, чтобы выдать исключение.

См. http://raghuonflex.wordpress.com/2007/07/27/casting-vs-the-as-operator/ для большего количества объяснений.

9
ответ дан 13 December 2019 в 22:19
поделиться

Строка (значение) создает новый Строковый объект из строкового литерала. Если аргументом конструктора не является строковый литерал, я предполагаю, что он называет .toString объекта аргумента () методом.

оцените, поскольку Строка будет просто пасовать назад значение, ЕСЛИ значением будет Строка или подкласс Строки. Это будет пасовать назад пустой указатель, если значение не будет иметь Строки типа.

Важная вещь отметить состоит в том, что Строка (val) создает новый объект, тогда как значение как Строка просто относится для оценки (и тесты для совместимости для Строкового представления).

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/String.html

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/operators.html#as

1
ответ дан 13 December 2019 в 22:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: