如何处理一个同时使用和不使用参数的函数



我写了一个函数,计算给定字符串中字母的出现次数。当使用字符串参数调用时,它是有效的,但我也希望在不使用argument的情况下处理它(返回一个空字典(。

from string import ascii_letters
def letter_frequency(word):
result = dict()
for letter in ascii_letters:
if word.count(letter) != 0:
result[letter] = word.count(letter)
return result

我试着用*args代替单词作为自变量,但后来它就像总是有一个空的自变量一样。

这应该有效,注意最后一行应该在循环之外:

def letter_frequency(word=""):
result = dict()    
for letter in ascii_letters:
if word.count(letter) != 0:
result[letter] = word.count(letter)
return result

将参数设置为默认值以使其可选。如果用户为参数输入值,它将覆盖默认值。

def display(required_arg, optional_arg1 = "1"):
print(required_arg, optional_arg1)
display("a")
# OUTPUT
# a 1
display("a", "b")
# OUTPUT
# a b

你好,您可以使用

word=None

但要知道用户必须调用类似的函数

letter_frequency(word="Sample")
#and for without argument simply
letter_frequency()

知道你还必须检查单词是否为无

if word==None:
#do something

最新更新