课程
/后端开发
/Python
/python进阶
请大神指教,为什么我输出a和a*a结果为一样的
2019-01-03
源自:python进阶 2-6
正在回答
判断条件里,不是0的都是1,也就是说除了0以外,其他数字都为真。
return a
和
return a*a
都完全没关系,因为a在这里不可能为0了,所以无论是什么数字,都是true。
也就是说,上面的两个参数和下面代码在功能上没有区别的:
if int(a) == a:
return True
符合条件的元素组成的新list
因为filter函数是返回true或false,所以返回值大于0,不为空,都返回true。filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计