python学习第六天——模块的概念(重要)

.pyc文件                                                                

讲模块之前,先了解下.py文件和.pyc文件

.pyc文件是字节码文件,什么时候生成呢?这是一个稍微复杂的问题,有兴趣的了解下:python什么时候生成.pyc文件

我们只了解下一般情况:

在 import 某个py 文件时,这个 py 文件会被存一份 pyc 加速下次装载,

至于要不要重新生成,要看.pyc文件的生成时间和.py文件最后一次修改的时间是否"相符",如果.py文件被修改过,下次被import时肯定会重新生成一个

.py文件                                                                

暂时简单的认为,一个模块对应的就是一个.py文件,包含一个或多个类,一般的,类里面包含函数,变量,类我们在后面再学习

 

import                                                                 

给出一个原则:python显式优于隐式

 

import用来导入模块,常用的语法有2种:

1、import module1 [as name1], module2 [as name2],…

  这种用法会导入指定模块中的所有成员(包括变量、函数、类等);使用模块中的成员时,需用该模块名(或别名)作为前缀,否则 Python 解释器会报错

2、from modulename import 成员名1 [as name1],成员名2 [as name2],…

  只会导入模块中指定的成员;当程序中使用该成员时,无需附加任何前缀,直接使用成员名(或别名)即可

  注意不要使用 from  模块名 import*,因为会出现命名冲突,比如引入两个模块module1和module2,都有一个函数叫f()

__name__属性                                                   

每个模块都有一个__name__属性,这个属性可以用来判断模块是独立运行还是被导入

if __name__ == '__main__':
    print('being run by itself')
else:
    print('being imported from another module')

注意单独运行时,他的值是'__main__'

dir()函数                                                             

以列表的形式返回某个对象定义的一系列标识符。如果这个对象是个模块,返回的列表中会包含模块内部所有的函数、类和变量

函数接收一个可选的参数。当参数是模块名时,函数会返回对应模块的标识符列表。没有参数时则会返回当前模块的标识符列表

在包下创建模块                                                  

程序包是一个装满模块的文件夹,并且内部有一个特殊的 __init__.py 文件,告诉 Python 这是一个包,否则就只是一个文件夹

pycharm中创建包的时候会自动创建__init__.py文件

python自带的标准库就是一组程序包


 

 

以上概念性的东西比较多,属于非常基础但重要的概念,接下来的篇章会跳过面向对象和数据结构这两章,先讲输入输出和异常

因为经验上来说,面向对象数据结构这两节,我认为是重中之重,会多做一些扩展学习,简明python里面讲的稍微浅一些

 

posted @ 2020-03-15 11:39  鼠标的博客  阅读(164)  评论(0编辑  收藏  举报