如何使用可选的第三个参数调用另一个函数?

时间:2014-08-02 09:07:44

标签: python string parameter-passing

我从this tutorial学习python。我试图解决第3次练习(7.16。练习,this page)。如果有人可以帮助我并给出一些提示,因为并不是我不知道怎么做,但我不确定我得到了我必须做的事情(" HOW TO DO& #34;不是问题,问题是"做什么")。

这是我到目前为止的代码(从第二次练习开始,因为这两个练习是相互关联的):

def count_letters(string, letter):
    count = 0
    for char in string:
        if char == letter:
            count+=1
    print count

2 个答案:

答案 0 :(得分:3)

可选参数是您可以提供或遗漏的参数,在后一种情况下,会指定默认值。

鉴于http://openbookproject.net/thinkcs/python/english2e/ch07.html#optional-parameters

中的第二个发现
def find(strng, ch, start=0):

start是可选参数。如果您调用find喜欢

find('foobar', 'o')

start隐式设置为0,因此find开始在索引0处查找,因此在该字符串的开头,如果您像

那样调用它
find('foobar', 'o', 3)
我们会使用

start = 3,并尝试在索引3处开始查找字母'o'(并且失败)。


练习7.16.3只是希望你从0开始,找到第一个匹配的索引,使用该索引找出一个新值继续搜索,再次找到...然后重复并计算匹配,直到找不到。

答案 1 :(得分:2)

可选的第三个参数是指string.find方法的start参数,它允许您指定搜索的起始索引。