hjfeng1988 发表于 2015-04-29 11:31

[求助]函数中打印变量名

#!/usr/local/bin/python
line1=
line2=
line3=['b','c']
def linenum(line):
      if len(line) >= 2:
                if line == '':
                        print '%s is empty' % line
                else:
                        print '%s = %s' % (line,line)
      else:
                print '%s is none' % str(line)
linenum(line1)
linenum(line2)
linenum(line3)root@10:~/py # python num.py
is none
is empty
['b', 'c'] = c我希望输出的结果是:
line1 in none
line2 is empty
line3 = c

liujinz 发表于 2015-05-04 09:20

本帖最后由 liujinz 于 2015-05-04 09:20 编辑

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

substr函数 发表于 2015-05-04 13:38

一部分line1 is none
line2 is empty
line3 = c
line4 = c
line1 =
line2 =
line3 = ['b','c']
line4 = ['b','c']


def linenum(line):
for k, v in globals().iteritems():
    if id(v) == id(line):
      name = k
      break
if len(line) >= 2:
    if line == '':
      print '%s is empty' % name
    else:
      print '%s = %s' % (name,line)
else:
    print '%s is none' % name
   
linenum(line1)
linenum(line2)
linenum(line3)
linenum(line4)
页: [1]
查看完整版本: [求助]函数中打印变量名