python定義函式時,一般都會有指定返回值,如果沒有顯式指定返回值,那麼python就會預設返回值為none, 即隱式返回語句: return none
執行如下**
def直接執行函式的話,結果為:now():
print('
2018-03-20
')
但是如果列印函式的話
print(now())列印結果為:
相當於執行了
def如果不想要有none,那麼就要新增返回值now():
print('
2018-03-20')
return
none
print(now())
def但是如果**改成:now():
return
'2018-03-20
'print(now())
defnow():return print('2018-03-20')
print(now())
in function print>
編輯於 2018-03-30 12:53
print 函式的列印結果
>>> print()列印為空
>>> print(print由上述**,可以猜測該**的執行順序())none
先執行括弧裡的 print() 列印的內容為空,print函式執行完後自帶換行,接著再執行括弧外的 print 函式,即列印括弧裡的print() 的返回值,由此可知 print 函式的預設返回值為 none
再看如下**
>>> print(print('執行順序如上述所猜測的一樣123'
))123none
>>> def定義的函式 now, 函式體為空,未設定返回值,所以 now() 執行的返回值為 none 被列印出來now():
...
pass
(now())
none
>>> def現在 now 函式返回值是 print函式,所以列印 now() 就是返回的 print 函式now():
...
return
...>>>now
>>>now()
in function print>
(now)
>>> def分析上述**now():
...
return
print('你好'
)...
(now())
你好none
先執行括弧裡 now(),執行now函式的語句塊,now 函式只有乙個返回值 print('你好'),所以先列印出字串 '你好',由於 print函式的預設返回值是 none,最外層的 print 函式就把裡層的 print 函式的返回值也列印了出來
python定義函式時預設引數注意事項
如果在呼叫乙個函式時,沒有傳遞預設引數,則函式內的預設引數是對函式的預設引數屬性 defaults 的引用,如def func arg1 呼叫func時如果沒有傳參,上面的arg1就是func.defaults 0 的引用 沒傳遞預設引數,會發生以下情況 這樣在有些情況下會導致邏輯出錯的,例如 de...
python定義函式時預設引數注意事項
如果在呼叫乙個函式時,沒有傳遞預設引數,則函式內的預設引數是對函式的預設引數屬性 defaults 的引用,如呼叫func時如果沒有傳參,上面的arg1就是func.defaults 0 的引用 沒傳遞預設引數,會發生以下情況 這樣在有些情況下會導致邏輯出錯的,例如 func arg1 is not...
Python定義函式預設引數
慕課網 定義函式的時候,還可以有預設引數。例如python自帶的 int 函式,其實就有兩個引數,我們既可以傳乙個引數,又可以傳兩個引數 int 123 123 int 123 8 83int 函式的第二個引數是轉換進製,如果不傳,預設是十進位制 base 10 如果傳了,就用傳入的引數。可見,函式...