Python基础知识点学习记录

164 阅读2分钟

Q1:理解下面这个if语句

if __name__ == "__main__":

模块(可以认为是一个py文件)都有一个变量name,可以在模块中print name的值看来本模块独立执行的值为

__main__

__name__ 是当前模块名,当模块被直接运行时模块名为 __main__ 。这句话的意思就是,当模块被直接运行时,以下代码块将被运行,当模块是被导入时,代码块不被运行。

Q2:理解继承父类并初始化

super(MainWindow, self).__init__(parent)
  • 在 派生类的构造函数初始化列表中 调用 父类的带有参数的构造函数,是为了初始化从父类继承来的成员变量。因为这些变量无法直接初始化,只能采用这种方式初始化。
  • 而在qt中,MainWindow中的某成员变量(指向父组件的指针,假定为p)无法直接初始化,只能在初始化列表中调用QMainWindow(parent),把形参parent的值间接的传给p,使p完成初始化。
  • 加强理解:
    1. 这里的parent参数只是一个形参,并没有实际意义,可以用任何参数来代替:比如a
    2. 这里的MainWindow作为此类名输入,只是为了将父类的初始化属性方法绑定到自雷MainWindow上面,便于直接使用self.进行调用。

Q3:.py和.pyc的区别

  • Python的程序中是把原始程序代码放在.py文件里,而Python会在执行.py文件的时候。将.py形式的程序编译成中间式文件(byte-compiled)的.pyc文件,这么做的目的就是为了加快下次执行文件的速度。

  • 所以,在我们运行python文件的时候,就会自动首先查看是否具有.pyc文件,如果有的话,而且.py文件的修改时间和.pyc的修改时间一样,就会读取.pyc文件,否则,Python就会读原来的.py文件。

  • 其实并不是所有的.py文件在与运行的时候都会差生.pyc文件,只有在import相应的.py文件的时候,才会生成相应的.pyc文件