标签: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