标签:module rac 内存 ref 地址 情况 执行 删除 表达式
pass:
表示什么都不做,可用作占位符
name = input("name":) if name == "shuai": # 待完成 pass
del删除:
对于不再使用的对象,Python会将其删除
内存回收:
查看引用计数:
通过导入sys模块,使用getrefcount()方法查看
这里"yuan"这个字符串对象有3个引用:x、y、getrefcount()
注:getrefcount()也算做一个引用
内存地址:
ID可以反映内存地址,使用id()查看
exec:
将字符串作为代码执行
exec("print(‘hello‘)") # hello
调用时如果提供一个参数,会污染命名空间,多数情况下要向他传递一个命名空间(存放变量名)
# 代码使用了sqrt,出错 from math import sqrt exec("sqrt = 1") print(sqrt(4)) # Traceback (most recent call last): # File "E:/Text/demo.py", line 6, in <module> # print(sqrt(4)) # TypeError: ‘int‘ object is not callable # 添加第二个参数,一个字典,用作代码字符串的命名空间 from math import sqrt d = {} exec("sqrt = 1", d) print(sqrt(4)) print(d["sqrt"]) # 2.0 # 1
# 字典d中添加了包含所有内置函数和值的字典__builtins__
print(d)
eval:
类似exec,用于计算用字符串表示的Python表达式的值,并返回结果(exec没有返回),同样可以提供命名空间
print(eval(input("输入计算表达式:"))) # 输入计算表达式:1 + 3 * 2 # 7
标签:module rac 内存 ref 地址 情况 执行 删除 表达式
原文地址:https://www.cnblogs.com/Mr-chenshuai/p/10035578.html