单行道007 发表于 2019-1-17 20:07:14

魔法方法相关小知识点

class FileObject:
    '''给文件对象进行包装从而确认在删除时文件流关闭'''

    def __init__(self, filename='sample.txt'):
      #读写模式打开一个文件
      self.new_file = open(filename, 'r+')

    def __del__(self):
      self.new_file.close()
      del self.new_file

该段是41讲课后作业第0题,想问关于self.new_file怎么理解,谢谢

heidern0612 发表于 2019-1-17 20:09:00

实例传入的文件名,使用r+模式打开。

单行道007 发表于 2019-1-17 20:48:52

heidern0612 发表于 2019-1-17 20:09
实例传入的文件名,使用r+模式打开。

我后来感觉是属性吧

heidern0612 发表于 2019-1-18 07:48:02

单行道007 发表于 2019-1-17 20:48
我后来感觉是属性吧

对,实例属性。

烽永力 发表于 2022-10-15 17:29:52

self.newfile是一个实例的属性,你可以这样理解,self 其实就是 类FileObject实例化的对象,怎么实例化呢,比如 a = FileObject('file.txt'),a 就是self;再比如,b = FileObject('file.txt'),那么 b 也是self,那么self.newfile,其实就是a.newfile,或者 b.newfile。
页: [1]
查看完整版本: 魔法方法相关小知识点