hztianye 2017-03-17 03:37 采纳率: 0%
浏览 2995
已结题

python的函数别名问题

 def inc(*x):
    def incx():
        y =0
        for n in x:
            y = y + n 
        return y 
    return incx 

a = inc 
print ('a(5,1)',a(5,1)) # 打印出了inc这个对象

# abs()

b = abs
print ('b = ',b(-10))

为啥print ('a(5,1)',a(5,1)) 打印出了inc这个对象
而print ('b = ',b(-10)) 打印了-10
就是因为inc函数有可变参数吗,a不是inc的别名吗?
abs不是也需要参数吗?

  • 写回答

2条回答 默认 最新

  • oyljerry 2017-03-17 05:00
    关注

    这是因为你的 a(5,1)它本身就是一个函数对象,所以打印的就是对象。
    你要想打印数据,就需要执行函数

     print ('a(5,1)',a(5,1)())
    
    评论

报告相同问题?

悬赏问题

  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办