加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-16 21:55:26 所属栏目:Python 来源:网络整理
导读:我是python的初学者,我正在玩lambda函数. 我正在编写一个程序,使用lambda函数来打印1个输入字符的ascii值的字符.我的代码是 #!/usr/bin/pythonimport systry: word = sys.argv[1]except: print "No arguments passed" sys.exit(1)def convert_ascii(char): r

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

#!/usr/bin/python
import sys
try:
  word = sys.argv[1]
except:
  print "No arguments passed"
  sys.exit(1)

def convert_ascii(char):
  return  "".join(chr(ord(char) + 1))

for i in word:
  print convert_ascii(i)
  print lambda x: chr(ord(i) + 1)

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

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

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

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

尝试

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读