《第016课:序列》答案中的一个问题
本帖最后由 Peteryo01223 于 2020-1-13 15:42 编辑小甲鱼的《第016课:序列》,课后作业中一道题:
题目:猜想一下 min() 这个BIF的实现过程
答案:
def min(x):
least = x
for each in x:
if each < least:
least = each
return least
print(min('123456789'))
请问:为何答案的code中,从来没有定义 x,但Python知道 x 就是下面的字符串“123456789”呢?是一个给 x 的默认设置吗? 本帖最后由 jackz007 于 2020-1-13 15:47 编辑
def min(x):
这一句定义了 x 是函数 min() 的输入参数,其性质是一个局部变量。Python 通过调用函数时所使用的实参类型来确定形参的变量类型。在本例中,x = '123456789' 显然是一个字符串。 jackz007 发表于 2020-1-13 15:43
这一句定义了 x 是函数 min() 的输入参数,其性质是一个局部变量。Python 通过调用函数 min() 时 ...
好的。另外,return least,这句做什么用的呢?怎么保证程序不无限循环下去呢? Peteryo01223 发表于 2020-1-13 15:47
好的。另外,return least,这句做什么用的呢?怎么保证程序不无限循环下去呢?
return least
return 语句有 2 个作用,其一是终止函数执行,返回函数调用处;其二是把函数的运算结果反馈给调用者。在本例中,least 是从输入参数 x 所代表的可迭代对象中,找到的数值最小的那个元素。
避免死循环的方法就是要通过循环变量来设置循环条件,在循环过程中,通过调整循环变量使循环过程逐渐向结束方向靠近并直至结束。 Peteryo01223 发表于 2020-1-13 15:47
好的。另外,return least,这句做什么用的呢?怎么保证程序不无限循环下去呢?
foreachinx这个循环就是枚举一个序列
序列结束,循环结束,不会无限下去 jackz007 发表于 2020-1-13 15:56
return 语句有 2 个作用,其一是终止函数执行,返回函数调用处;其二是把函数的运算结果反馈 ...
好的 wp231957 发表于 2020-1-13 15:58
foreachinx这个循环就是枚举一个序列
序列结束,循环结束,不会无限下去
好 理解~ 大佬们,我有个问题,这个代码的 least = x,这句代表什么呢
页:
[1]