не в состоянии понять вывод этого фрагмента кода - PullRequest
1 голос
/ 28 января 2020
i = 1
while (i < 10): 
    i += 1
    print(i),
print(type(i)),
Output 

2
3
4
5
6
7
8
9
10
<class 'int'>

Out[16]: (None,)

Я не могу понять, почему мы выходим [16]: (Нет) в выводе, когда я ставлю запятую после последней строки.

Ответы [ 3 ]

2 голосов
/ 28 января 2020

Это происходит потому, что функция print() возвращает None. Поэтому запуск

print(type(i)),

в вашей консоли эквивалентен запуску

None,

, который выводит кортеж на консоль, то есть

(None,)
0 голосов
/ 28 января 2020

print(type(i)), - это кортеж, состоящий из одного элемента, например 1, или (1,).

print вернет None, затем вы поместите его в кортеж, так что вы получите None,, что совпадает с (None,)

0 голосов
/ 28 января 2020

print возвращает None, что не отображается в блокноте. Добавление запятой превращает None в кортеж, который отображается. Кортеж с одним элементом всегда отображается с запятой.

...