2016-04-05 92 views
-2
class Employee: 
    def __init__(self, lastname, firstname = None): 
     self.lastname = lastname 
     self.firstname = firstname 

firstname = None在第二行是什麼意思?def method(parameter = None)是什麼意思?

+6

這是'firstname'的默認值。 – Maroun

+2

您是否閱讀過[新手指南](https://wiki.python.org/moin/BeginnersGuide)或其他教程? –

+0

在這種情況下,它是'firstname'的默認值。這比設置空字符串更受歡迎。當需要新的可變對象時,通常使用將參數的默認值設置爲「無」。如果您將默認值設置爲可變對象(如列表),那麼在程序的整個生命週期內重複使用該單個對象。使用'None'是表示需要新對象的pythonic方式。 – cdarke

回答

6

這使您可以調用此函數並省略該特定參數。如果你確實忽略了它,它將默認爲列出的值None。如果你確實傳遞了一個值,它將被使用。

>>> def f(arg='a'): 
...  print(arg) 
... 
>>> f() 
a 
>>> f('b') 
b