Python入门基础第十九课--模块

1.前言

    到这里,我们已经学了python中大部分的基础内容,这已经是第十九篇文章了,后续的综合性肯定会一点点提高,我们要时不时得将以前学过的东西复习一下,为后面的深入学习和项目的训练打下基础。话不多说,我们来开始模块的学习!

2.模块

    我们在以前的介绍中会碰见过创建和执行自己的程序或者脚本,也适用了import来导入外部模块来使用它里面的方法。其实模块是程序,任何python程序都可以作为模块导入。

2.1创建自己的模块并去使用它

    在这里,我们使用一些具体的例子来说明这样基础的用法在实际中的实现,我使用的是PyCharm编辑器,系统是MacOS系统。道理都是一样的,大家也可以在自己的系统中实现同样的功能。


    首先在你的工程中建立名字为hello1的python file文件,默认后缀为.py。然后输入你的代码,这里的代码很好理解,就是一个使用条件测试代码的模块。__name__变量的设置是“告知”作用。在“主程序中”,变量__name__的值是‘__main__’。而在导入的模块中,这个值就被设定为模块的名字。也就是说,当你把它作为一个普通函数执行的时候,测试函数就会执行。当你把它作为模块导入时候,测试代码并不会执行,因为__name__的值已经发生了变化。


    接着,我们重新进入一个在同一个工程下的python file文件,注意观察红色箭头指向的位置,第一个箭头所指的内容我们应该很熟悉,利用import来将建立哈的hello1.py模块导入到这个新的文件中来。第二个红色箭头所指就是我们去调用它,模块名.方法。还记得吗?来看看最后的输出结果。。很明显,结果的显示说明了我们成功的创建并使用了自己的模块。

当然,这这是让你的模块可以用的一种方法,还有其他一些方法也很实用,在这里就不一一介绍了,大家可以自行百度。

 2.2包

    为了组织好模块,你可以将它们分组为包。包基本上就是另外一类模块。当模块存储在文件中的时候,包就是模块所在的目录。为了让Python将其作为包对待,它必须包含一个命名为__init__py的文件。

2.3模块里面有什么?

    模块里面有什么?就是在Python解释器中研究它们,当然首先要做的事情就是导入它们。

  • 使用dir函数

    查看模块包含的内容可以使用dir函数,它会将对象的所有特性列出。如果你想要打印出dir(math)的内容,会看到一长串名字。是一些约定俗成,说明它们并不是在模块外部使用而准备的。

>>> import math
>>> dir(math)
['__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc']

    我们可以通过列表推导式过滤掉它们:

>>> [n for n in dir(math) if not n.startswith('_')]
['acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc']

    接着是Python里面比较有趣的部分--标准库:sys、os、fileinput、集合、堆和双端队列、time、random、shelve、re、正则表达式。这些内容都是比较重要的内容,写起来比较复制而且多。大家可以参考自己的学习书籍和一些网上的资料学习。其中着重要强调的是re模块和正则表达式的内容,一定要认真而且仔细的看。

    好了,这部分的内容 就介绍到这里了,后面会加入一些关于上面提到的内容,下一章节预告--文件和流。

猜你喜欢

转载自blog.csdn.net/qq_34454366/article/details/80717248
今日推荐