rychair 发表于 2020-11-16 21:01:32

零基础入门学习Python第16讲课后作业3

3. 你认为调用 max('I love FishC.com') 会返回什么值?为什么?

小甲鱼老师的答案是:
   
会返回:'v',因为字符串在计算机中是以ASCII码的形式存储

以下是我的尝试:

>>> max('I love')
Traceback (most recent call last):
File "<pyshell#33>", line 1, in <module>
    max('I love')
TypeError: 'int' object is not callable

我在Python里面输入后为何是出错呢?谢谢高手指点

昨非 发表于 2020-11-16 21:03:39

本帖最后由 昨非 于 2020-11-16 21:22 编辑

因为在idle里你上边有个位置把max()方法给赋值了,所以在调用时出错了

你重启idle,输入
print(max('I love'))

回车,就好了,输出为:
v

冬雪雪冬 发表于 2020-11-16 21:04:06

重启一下idle或先执行一下del max

昨非 发表于 2020-11-16 21:05:57

冬雪雪冬 发表于 2020-11-16 21:04
重启一下idle或先执行一下del max

额,老师我想问一下,为啥max()被赋值报错显示int?

冬雪雪冬 发表于 2020-11-16 21:20:03

昨非 发表于 2020-11-16 21:05
额,老师我想问一下,为啥max()被赋值报错显示int?

如果前面赋值max = 3
则max('I love')相对应 3('I love')
即把整数当成函数去执行

昨非 发表于 2020-11-16 21:21:56

冬雪雪冬 发表于 2020-11-16 21:20
如果前面赋值max = 3
则max('I love')相对应 3('I love')
即把整数当成函数去执行

所以是在调用max(此时是int型)时,显示无法被调用吧

冬雪雪冬 发表于 2020-11-16 21:27:14

昨非 发表于 2020-11-16 21:21
所以是在调用max(此时是int型)时,显示无法被调用吧

是的

昨非 发表于 2020-11-16 21:33:34

冬雪雪冬 发表于 2020-11-16 21:27
是的

谢谢老师啦{:10_297:}

SLAV_KING 发表于 2020-11-17 17:59:56

昨非 发表于 2020-11-16 21:03
因为在idle里你上边有个位置把max()方法给赋值了,所以在调用时出错了

你重启idle,输入


yuan lai ru ci
页: [1]
查看完整版本: 零基础入门学习Python第16讲课后作业3