1樓:程式獵人
首先,你的提問中有一處有歧義,先澄清一下。
你這裡提到的不輸入值,不知道是說直接按回車還是按Ctrl-D(UNIX)或Ctrl-Z(Win)來產生乙個EOF結束輸入呢?
那麼,如果是按回車,輸入值將成為空字串 '',如果是EOF,則會有乙個 EOFError從input()函式丟擲。
前者既然你知道是空字串了,那就把對 None的判斷改成 ''即可,或者也可以直接
ifnot
new_name
:反正 None和''都會自動被判定為 False 。另外, else部分不要也行。
如果是後者,則要加乙個 try-except了。
try:
new_name = input(':')
except EOFError:
new_name = '5'
至於問題標題裡的 None那麼用, 嗯……其實,就跟普通常量一樣用法就行了……重要的是搞清楚什麼時候會返回 None。
2樓:即將甦醒的Python
1.None是乙個空值,空值是Python裡的乙個特殊值,用None表示。可以將None賦值給任何變數。
var = None; print(var) # None
if var is None:
print("var has a value of None") # print
else:
print("var:", var)
2.None有自己的資料型別,它屬於NoneType型別。None是NoneType資料型別的唯一值。
print(type(None)) #
3.None不等於空字串、空列表、0,也不等同於False。
a = ''; print(a == None) # False
b = ; print(b == None) # False
c = 0; print(c == None) # False
d = False; print(c == None) # False
4.None是乙個特殊的空物件,可以用來佔位。
L = [None] * 5; print(L) # [None, None, None, None, None]
5.對於定義的函式,如果沒有return語句,在Python中會返回None;如果有不帶值的return語句,那麼也是返回None。
def func():
x = 3
obj = func(); print(obj) # None
def func2():
return None
obj2 = func2(); print(obj2) # None
def func3():
return
obj3 = func3(); print(obj3) # None
6.對於定義的函式,如果預設引數是乙個可修改的容器如列表、集合或字典,可以使用None作為預設值。
def func4(x, y=None):
if y is not Noneprint("y:", y)
elseprint("y is None")
print("x:", x)
x = [1, 2]; obj4 = func4(x) # y is None
y = [3, 4]; obj4 = func4(x, y) # y: [3, 4]
3樓:肖肖肖肖不敢實名
new_name
=input
(":")if
new_name
:new_name
="5"
else
:pass
這樣就可以了,因為空字串轉義成Boolean值時會被認為時False
4樓:風雨
那說明你的 new_name 在任何情況下都不是 none 呀
5樓:Lemon1x
看樣子你應該學過其他語言,其他語言無輸入確實會返回如null undefined false等值,但Python無輸入返回的是空字串。
一般None用的不多,實際應用中一般用於函式的預設引數,或者函式沒寫返回值,直譯器就預設返回None。
Python在資料分析中怎麼用?
Python資料分析 Python日期和時間處理及操作時間序列分類 時間戳 timestamp 特定的時刻 固定週期 period 某月或某年 時間間隔 interval 由起始時間戳和結束時間戳表示datetime,time及calendar模組 datetime 以毫秒形式儲存時間和日期date...
小白求解 Python中 doc 是怎麼用的?
一心月 我剛才看書看到這裡,也是好奇如何使用,搜尋無果,靈機一動,懂了!def f i,s,l i必須是int型,s必須是str型,l必須是list型 if type i int print int else print ERROR if type s str print str else prin...
python中EasyDict是幹嘛用的?
可以方便地應用.來訪問dict的值。例如,普通的dictionary,訪問值只能用下面的方式 In 9 d In 10 d foo Out 10 3 In 11 d.fooAttributeErrorTraceback most recent call last in 1 d.foo Attribu...