python 打印变量名

其实是实现不了一个方法打印出字符串变量名,并且打印出变量值的吧。

比如 s = ‘dora’

方法打印出来的结果是这样: s: dora

如何获得字符‘s’是个问题。

比如这样:

def printval(val):

         print ?? ,“%s” % val

打印s,printval(val),可是这个时候变量在函数中叫做val。

测试一下:

def printval(val):

         printis val

         print “%s” % val

printval(s)

结果:

True

dora

在调用参数时添加了val对内存地址中存储‘dora’的引用。

??这里是打印不出s的。

反过来思考,如果可以获得变量名称,那么对于一个内存地址复用的变量名称,像上面的s,val都是指向‘dora’的,应该用哪个变量名,并不知道。

虽然反过来思考并没有说服我,但是应该是已经理清楚了不能打印出变量名称

用字典能不能把变量名跟值打印出来。

python log 4

id,locals,globals

分别是查看变量的内存地址,局部变量,全局变量。

id(…)

    id(object) -> integer

    Return the identity of an object.  This is guaranteed to be unique among

    simultaneously existing objects.  (Hint: it’s the object’s memory address.)

locals(…)

    locals() -> dictionary

    Update and return a dictionary containing the current scope’s local variables.

globals(…)

    globals() -> dictionary

    Return the dictionary containing the current scope’s global variables.

注释大段代码,可以用”””   *****    “””