我正在看youtube上的教学视频,并开始在http://code.google.com/edu/languages/google-python-class上做一些练习,但我对www.example.com文件中的以下问题感到困惑string1.py。我似乎无法理解的是,both_ends(s)中的“s”是什么:做什么?
# B. both_ends
# Given a string s, return a string made of the first 2
# and the last 2 chars of the original string,
# so 'spring' yields 'spng'. However, if the string length
# is less than 2, return instead the empty string.
def both_ends(s):
# +++your code here+++
# LAB(begin solution)
if len(s) < 2:
return ''
first2 = s[0:2]
last2 = s[-2:]
return first2 + last2
在strings1.py的底部有一些功能:
def main()
print 'both_ends'
test(both_ends('spring'), 'spng')
if __name__ == '__main__':
main()
那么程序是如何知道用“spring”替换(s)的呢?如果需要的话,我可以把整个文件都贴出来。只有140行。
5条答案
按热度按时间swvgeqrz1#
'spring'是作为参数传递给函数both_ends()的文字字符串,'s'是函数的形参。用实际参数替换形式参数在调用函数时执行。'test()'函数只是用来确认函数是否按预期运行。
roejwanj2#
当你调用一个函数时,你给予这个函数的值会被赋给函数头中相应的参数。在代码中:
k75qkfdt3#
s
是一个变量,我们假设它保存一个字符串。我们将'spring'
作为参数传入。flmtquvp4#
def both_ends(s)
中的s
是输入字符串的参数。通过调用len(s) < 2
检查该字符串的长度,并通过s[0:2]
和s[-2:]
按位置访问字符串中的各种字符zbsbpyhn5#
s
是函数的参数,但您将hello
或world
等真实的字符串插入到函数中,而不仅仅是字母s
。把它想象成一个数学函数:你有f(x) = x + 5
。当你插入一个数字,比如2
,你会得到f(2) = 2 + 5
。这正是both_ends函数所发生的事情。为了让它更简单,这里有一些代码:在代码中插入函数的方式与将字符串插入原始函数的方式相同。