Python lambda函数打印在0x7fcbbc740668>而不是值

前端之家收集整理的这篇文章主要介绍了Python lambda函数打印在0x7fcbbc740668>而不是值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我是python的初学者,我正在玩lambda函数.
我正在编写一个程序,使用lambda函数来打印1个输入字符的ascii值的字符.我的代码

  1. #!/usr/bin/python
  2. import sys
  3. try:
  4. word = sys.argv[1]
  5. except:
  6. print "No arguments passed"
  7. sys.exit(1)
  8. def convert_ascii(char):
  9. return "".join(chr(ord(char) + 1))
  10. for i in word:
  11. print convert_ascii(i)
  12. print lambda x: chr(ord(i) + 1)

我有一个函数convert_ascii,它与lambda做同样的事情.但是,我的输出

  1. /usr/bin/python2.7 /home/user1/PycharmProjects/test/Tut1/asciipl2.py "abc def ghi"
  2. b

这个脚本的目的是学习lambda,虽然还有其他方法可以做这个程序.请让我知道我做错了什么.
进程以退出代码0结束

最佳答案
你没有调用这个函数.这跟你写的一样
print convert_ascii而不是print convert_ascii(i).

尝试

  1. print (lambda x: chr(ord(x) + 1))(i)

请注意,我在函数体中更改了ord(i)到ord(x).

猜你在找的Python相关文章