鱼C论坛

 找回密码
 立即注册
查看: 1888|回复: 14

[已解决]列表的问题

[复制链接]
发表于 2021-4-7 21:33:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
def saver(x=None):
        if x is None:
                x=[]
        x.append(1)
        print(x)

saver(2)
AttributeError: 'int' object has no attribute 'append'
直接报错了,咋回事啊?
它说int类型没有append这个函数。是这个意思吧,但是为什么呢?我又没有定义X是int类型
最佳答案
2021-4-7 22:40:26
江湖散人 发表于 2021-4-7 22:37
不是的,我想当我传入2的时候,就会得到【2,1】这样的列表

这样你看看,如果你传入的参数都是整形的话
def saver(x=None):
    if x:
        my_list = []
        my_list.append(x)
        my_list.append(1)
    print(x)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-4-7 21:40:24 | 显示全部楼层
里面要添加一个数组,如
saver(x = [])
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-7 21:42:21 | 显示全部楼层
saver()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-7 22:08:59 | 显示全部楼层
本帖最后由 弈秋呜呜呜 于 2021-4-7 22:10 编辑

你调用saver函数的时候,传入了一个参数2,这时,2就被赋值给了x,即此时x=2,。此时你在函数内自然无法调用append方法
你把第四行代码加一个缩进就行了
def saver(x=None):
    if x is None:
        x = []
        x.append(1)
    print(x)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-4-7 22:32:09 | 显示全部楼层
弈秋呜呜呜 发表于 2021-4-7 22:08
你调用saver函数的时候,传入了一个参数2,这时,2就被赋值给了x,即此时x=2,。此时你在函数内自然无法调用 ...

好像是这么回事
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-4-7 22:33:38 | 显示全部楼层
弈秋呜呜呜 发表于 2021-4-7 22:08
你调用saver函数的时候,传入了一个参数2,这时,2就被赋值给了x,即此时x=2,。此时你在函数内自然无法调用 ...

但是,我的意思不是这样的,我的意思是在传入X后,再添加一个1,你这就没有添加1这一步了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-4-7 22:35:45 | 显示全部楼层
亢一飞 发表于 2021-4-7 21:40
里面要添加一个数组,如

你这个加在哪?函数体里吗?还是调用前边?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-7 22:35:59 | 显示全部楼层
江湖散人 发表于 2021-4-7 22:33
但是,我的意思不是这样的,我的意思是在传入X后,再添加一个1,你这就没有添加1这一步了

??你此时的x=2,是一个整形,怎么添加1。你的意思是x+1吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-4-7 22:37:06 | 显示全部楼层
弈秋呜呜呜 发表于 2021-4-7 22:35
??你此时的x=2,是一个整形,怎么添加1。你的意思是x+1吗

不是的,我想当我传入2的时候,就会得到【2,1】这样的列表
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-7 22:40:26 | 显示全部楼层    本楼为最佳答案   
江湖散人 发表于 2021-4-7 22:37
不是的,我想当我传入2的时候,就会得到【2,1】这样的列表

这样你看看,如果你传入的参数都是整形的话
def saver(x=None):
    if x:
        my_list = []
        my_list.append(x)
        my_list.append(1)
    print(x)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-4-7 22:44:04 | 显示全部楼层
弈秋呜呜呜 发表于 2021-4-7 22:40
这样你看看,如果你传入的参数都是整形的话

好吧,你这结果是对的。我照着视频里写的,但是结果却是不一样的。视频里用的2.65版本的python,我这个是3.8版本。不知道怎么回事。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-7 22:46:03 | 显示全部楼层
江湖散人 发表于 2021-4-7 22:44
好吧,你这结果是对的。我照着视频里写的,但是结果却是不一样的。视频里用的2.65版本的python,我这个是 ...

3.0版本以前的Python和之后的版本语法上有一些差别,看课程最好看新版的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-4-8 10:02:59 | 显示全部楼层
弈秋呜呜呜 发表于 2021-4-7 22:46
3.0版本以前的Python和之后的版本语法上有一些差别,看课程最好看新版的

你有什么免费的课程推荐吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-8 19:07:39 | 显示全部楼层
江湖散人 发表于 2021-4-8 10:02
你有什么免费的课程推荐吗?

免费课程就去B站搜索吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-4-9 09:28:30 | 显示全部楼层
弈秋呜呜呜 发表于 2021-4-8 19:07
免费课程就去B站搜索吧

我看B 站也就那么回事,有可能是我不会搜吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-16 01:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表