免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2822 | 回复: 2
打印 上一主题 下一主题

[求助]函数中打印变量名 [复制链接]

论坛徽章:
11
射手座
日期:2015-08-11 16:10:26辰龙
日期:2015-08-11 16:11:11黑曼巴
日期:2016-04-26 16:58:40
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-04-29 11:31 |只看该作者 |倒序浏览
  1. #!/usr/local/bin/python
  2. line1=[1]
  3. line2=[1,'','a']
  4. line3=['b','c']
  5. def linenum(line):
  6.         if len(line) >= 2:
  7.                 if line[1] == '':
  8.                         print '%s[1] is empty' % line
  9.                 else:
  10.                         print '%s[1] = %s' % (line,line[1])
  11.         else:
  12.                 print '%s[1] is none' % str(line)
  13. linenum(line1)
  14. linenum(line2)
  15. linenum(line3)
复制代码
  1. root@10:~/py # python num.py
  2. [1][1] is none
  3. [1, '', 'a'][1] is empty
  4. ['b', 'c'][1] = c
复制代码
我希望输出的结果是:
line1[1] in none
line2[1] is empty
line3[1] = c

论坛徽章:
0
2 [报告]
发表于 2015-05-04 09:20 |只看该作者
本帖最后由 liujinz 于 2015-05-04 09:20 编辑

你这里的[1]都被认为是格式串的一部分,不会被认为是列表的下标的。

论坛徽章:
26
2015亚冠之胡齐斯坦钢铁
日期:2015-06-25 21:40:202015亚冠之柏斯波利斯
日期:2015-08-31 17:03:192015亚冠之柏斯波利斯
日期:2015-11-07 13:10:00程序设计版块每日发帖之星
日期:2015-11-10 06:20:00每日论坛发贴之星
日期:2015-11-10 06:20:00程序设计版块每日发帖之星
日期:2015-11-26 06:20:00程序设计版块每日发帖之星
日期:2015-12-02 06:20:00黄金圣斗士
日期:2015-12-07 17:57:4615-16赛季CBA联赛之天津
日期:2015-12-23 18:34:14程序设计版块每日发帖之星
日期:2016-01-02 06:20:00程序设计版块每日发帖之星
日期:2016-01-06 06:20:00每日论坛发贴之星
日期:2016-01-06 06:20:00
3 [报告]
发表于 2015-05-04 13:38 |只看该作者
一部分
  1. line1[1] is none
  2. line2[1] is empty
  3. line3[1] = c
  4. line4[1] = c
复制代码
  1. line1 = [1]
  2. line2 = [1,'','a']
  3. line3 = ['b','c']
  4. line4 = ['b','c']


  5. def linenum(line):
  6.   for k, v in globals().iteritems():
  7.     if id(v) == id(line):
  8.       name = k
  9.       break  
  10.   if len(line) >= 2:
  11.     if line[1] == '':
  12.       print '%s[1] is empty' % name
  13.     else:
  14.       print '%s[1] = %s' % (name,line[1])
  15.   else:
  16.     print '%s[1] is none' % name
  17.    
  18. linenum(line1)
  19. linenum(line2)
  20. linenum(line3)
  21. linenum(line4)
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP