zoukankan      html  css  js  c++  java
  • Python 模块

    Python 3 模块

    概念:模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py

    模块可以被别的程序引入,以使用该模块中的函数等功能,这也是使用 python 标准库的方法。

    、模块分类

    1内置模块python提供的标准模块,如random time os等等;

    2第三方模块:别人写好的模块,我们可以拿过来用;

    1):一般来说,第三方库都会在Python官方的pypi.python.org网站注册

    2):但是使用第三方模块,需要先安装,需要使用pip命令(第三方包管理工具)

    3自定义模块:我们自己写的模块

    1创建模块:其实就是新建一个py后缀的源文件,如果在另外的py文件中使用,导入方式一样;

    a:创建自己的模块时,要注意:模块名要遵循Python变量命名规范,不使用中文、特殊字符;

    b:模块名不要和系统模块名冲突

    2模块的作用域:表示模块中的内容能否被其他模块直接访问,

    一般称为public(公有的,公开的)和private(私有的,非公开的);[类似_xxx__xxx这样的函数或变量就是非公开的(private),不应该被直接调用。之所以说不应该,是因为Python并没有一种方法可以完全限制访问非公开的函数或变量(其他模块可以直接访问这些'_'开头的变量和函数),但是,从编程习惯上不应该调用非公开的内容函数。]

    3__name__

    当直接运行该模块(当做主程序调用)时,__name__的值是__main__,当该模块被其他程序import的时候,模块的__name__就是该模块名,所以每个我们经常会在模块下面写这样一个if判断,里面来写测试代码:

    if __name__ == '__main__':

                ....

    4 __all__

    如果通过 from 模块名 import * 导入的时候,只能导入该模块最上面通过__all__规定的列表里面的函数、变量或者类;

    5__pycache__文件夹

    当第一次导入某个模块的时候,系统会自动生成这样一个文件夹,里面存放的是模块的缓存字节码文件,下次再使用的时候,如果该模块没有改变,那么直接使用这个缓存文件

    6

    a:包:如果多个模块功能类似,可以将这些模块放到同一个目录下面,方便管理,这个目录就称之为包

    b:包里面一般情况都有个文件:__init__.py,这个文件可以是空的,只是告诉编译器这个目录不是普通目录,

    python里面的一个包

    二、导入方式

    1)import 模块名,...

    如果这样导入模块,调用模块中提供的函数等内容的时候,需要加上模块名

    time.sleep()

    例:如果我们在 modulee.py 的文件下,写入下面的 def 语句:

    def pyxxt(x):

    print(x)

    而我们想在其它 py 文件中用到相同作用的 pyxxt() 函数,我们可以:

    例:

    import modulee

    module.pyxxt('life is short,we need python!')

    结果:life is short,we need python!

    2)from 模块名import 名称1,...

    from time import sleep,表示从time模块中导入进来sleep函数,

    那么在使用sleep函数的时候,直接调用

    例:

    from modulee import pyxxt

    pyxxt('life is short,we need python!')

    结果:life is short,we need python! 

    3)起别名

    给模块起别名,如import random as ran,以后再代码中只能使用别名ran

    不能使用原名random

    4)模糊导入

    from random import *,将random中所有函数全部导入进来,不推荐这样使用

    例:

    from modulee import *

    pyxxt('life is short,we need python!')

    结果:life is short,we need python!

                 

    欢迎关注小婷儿的博客:https://blog.csdn.net/u010986753

    有问题请在博客下留言或加QQ群:483766429 或联系作者本人 QQ 87605025

    OCP培训说明连接:https://mp.weixin.qq.com/s/2cymJ4xiBPtTaHu16HkiuA

    OCM培训说明连接:https://mp.weixin.qq.com/s/7-R6Cz8RcJKduVv6YlAxJA


    小婷儿的python正在成长中,其中还有很多不足之处,随着学习和工作的深入,会对以往的博客内容逐步改进和完善哒。

    小婷儿的python正在成长中,其中还有很多不足之处,随着学习和工作的深入,会对以往的博客内容逐步改进和完善哒。

    小婷儿的python正在成长中,其中还有很多不足之处,随着学习和工作的深入,会对以往的博客内容逐步改进和完善哒。

    重要的事说三遍。。。。。。


  • 相关阅读:
    LabVIEW(数据库连接)
    单片机之静态局部变量static
    LabVIEW(数据库自动编号)
    为什么大电容滤低频,小电容滤高频 ?(转载)
    电容、频率的一点小关系(项目有关)
    深入理解计算机系统 第三部分程序间的交互和通信
    深入理解计算机系统chapter9
    深入理解计算机系统chapter8
    深入理解计算机系统chapter7
    深入理解计算机系统chapter6
  • 原文地址:https://www.cnblogs.com/pythonbao/p/9037401.html
Copyright © 2011-2022 走看看