Python垃圾回收
什么是垃圾?
垃圾就是在电脑中没有用的东西,并影响我们电脑性能的文件就是垃圾
什么是垃圾回收?
在Python中,垃圾会自动回收
所谓的垃圾回收就是:就是将垃圾对象从内存地址中删除
class A:
def __init__(self):
self.name = '光头强'
#__del__这个方法在Python中,会直接执行,不需要我们直接调用,但为了知道这么一件事情
def __del__(self):
print('A类被当成垃圾回收了')
a = A()
print(a.name)
a = None #将a设置成None时,此时没有任何的变量对A()进行引用
模块
什么是模块?
指的是将代码分解成一个一个小的模块
通过模块的组合可以生成一个程序
使用模块化的好处:
1、方便维护
2、方便开发
3、代码复用
模块的创建
在Python当中一个.py文件就是一个模块
在一个模块中引入第二个模块
语法:import 模块名(就是.py文件名)
可以引入模块多次,但模块的实例只会被调用一次
第二种方法:
import (模块名) as (模块别名):
模块的使用
访问模块中的变量
语法:模块名.变量名
引入模块的指定内容
语法:import (模块名) import (指定模块中变量)
text文件代码:
def a():
print('这个是text模块中的a函数')
def b():
print('这是text模块中的b函数')
class Person():
def __init__(self):
self.name = '光头强'
#该方法是引入模块的部分内容
from text import Person
a = Person()
print(a.name)
运行结果:
光头强
引入模块中的多个内容
form(模块名)import * #把模块中的代码复制到主模块中
该方法引入有一个弊端:就是当主模块中有相同的方法的时候,会覆盖主模块中的方法
引入模块指定内容,并起别名
form (模块名) import (变量名)as (变量别名)
当我们测试代码的运行结果的时候,会发生这种情况
def a():
print('这个是text模块中的a函数')
def b():
print('这是text模块中的b函数')
class Person():
def __init__(self):
self.name = '光头强'
#以下是测试代码
a()
b()
c = Person()
print(c.name)
运行结果:
这个是text模块中的a函数
这是text模块中的b函数
光头强
import text
运行结果;
这个是text模块中的a函数
这是text模块中的b函数
光头强
当我们测试模块中的方法时,调用模块的另一个模块也会执行该语句
这时候,我们需要使用判断语句来测试
让指定模块的__name__值等于自己的‘main’方法就OK了
该模块为text
def a():
print('这个是text模块中的a函数')
def b():
print('这是text模块中的b函数')
class Person():
def __init__(self):
self.name = '光头强'
#以下是测试代码
if __name__ == '__main__':
a()
b()
c = Person()
print(c.name)
当创建一个新的模块调用时:
import text
输出结果为空