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

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 武汉岩海低应变分析软件,导数据库里不显示波形图
  • ¥15 CreateBitmapFromWicBitmap内存释放问题。
  • ¥30 win c++ socket
  • ¥15 CanMv K210开发板实现功能
  • ¥15 C# datagridview 栏位进度
  • ¥15 vue3页面el-table页面数据过多
  • ¥100 vue3中融入gRPC-web
  • ¥15 kali环境运行volatility分析android内存文件,缺profile
  • ¥15 写uniapp时遇到的问题
  • ¥15 vs 2008 安装遇到问题