列表的问题
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类型 里面要添加一个数组,如saver(x = []) saver() 本帖最后由 弈秋呜呜呜 于 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) 弈秋呜呜呜 发表于 2021-4-7 22:08
你调用saver函数的时候,传入了一个参数2,这时,2就被赋值给了x,即此时x=2,。此时你在函数内自然无法调用 ...
好像是这么回事 弈秋呜呜呜 发表于 2021-4-7 22:08
你调用saver函数的时候,传入了一个参数2,这时,2就被赋值给了x,即此时x=2,。此时你在函数内自然无法调用 ...
但是,我的意思不是这样的,我的意思是在传入X后,再添加一个1,你这就没有添加1这一步了 亢一飞 发表于 2021-4-7 21:40
里面要添加一个数组,如
你这个加在哪?函数体里吗?还是调用前边? 江湖散人 发表于 2021-4-7 22:33
但是,我的意思不是这样的,我的意思是在传入X后,再添加一个1,你这就没有添加1这一步了
??你此时的x=2,是一个整形,怎么添加1。你的意思是x+1吗 弈秋呜呜呜 发表于 2021-4-7 22:35
??你此时的x=2,是一个整形,怎么添加1。你的意思是x+1吗
不是的,我想当我传入2的时候,就会得到【2,1】这样的列表 江湖散人 发表于 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) 弈秋呜呜呜 发表于 2021-4-7 22:40
这样你看看,如果你传入的参数都是整形的话
好吧,你这结果是对的。我照着视频里写的,但是结果却是不一样的。视频里用的2.65版本的python,我这个是3.8版本。不知道怎么回事。 江湖散人 发表于 2021-4-7 22:44
好吧,你这结果是对的。我照着视频里写的,但是结果却是不一样的。视频里用的2.65版本的python,我这个是 ...
3.0版本以前的Python和之后的版本语法上有一些差别,看课程最好看新版的 弈秋呜呜呜 发表于 2021-4-7 22:46
3.0版本以前的Python和之后的版本语法上有一些差别,看课程最好看新版的
你有什么免费的课程推荐吗? 江湖散人 发表于 2021-4-8 10:02
你有什么免费的课程推荐吗?
免费课程就去B站搜索吧 弈秋呜呜呜 发表于 2021-4-8 19:07
免费课程就去B站搜索吧
我看B 站也就那么回事,有可能是我不会搜吧
页:
[1]