Python模块

初步认识

安装完python后,python自带一部分模块,自带的模块又称作内置模块。其中一部分模块在路径Lib下。(这里的文件夹可以看做包,可以把多个模块放进一个包里)

从模块的来源来讲,可以分三种:内置模块、自定义模块(自己定义的)、第三方模块 例如下载网上的django模块。

从模块的运行角度看,可以分两种:直接执行称自主模块,被导入才执行称非自主模块。

 一个类型为py的文件可以作为一个模块,模块名就是文件名。模块名可以作为全局变量使用。

使用

 在某路径建了module.py,复制下面代码

def fib(n):    # write Fibonacci series up to n
    a, b = 0, 1
    while a < n:
        print(a, end=' ')
        a, b = b, a+b
    print()

def fib2(n):   # return Fibonacci series up to n
    result = []
    a, b = 0, 1
    while a < n:
        result.append(a)
        a, b = b, a+b
    return result

在该路径打开解释器,导入模块,使用模块里的某个函数。

如果需要在模块里用到其他模块,需要提前导入。

一次导入n个模块的全部功能:import module1[, module2[,... moduleN]

单独导入模块的某个功能:from modname import name1[, name2[, ... nameN]]

导入模块的全部功能:from modname import * 好处是不需要模块名点出来就能用。

给模块起别名:在模块名后加 as 别名

模块属性:__name__

1、因为当前moduly.py模块是被导入执行的,所以它的__name__属性是模块名称

2、修改module.py ,在第一行加入 print(__name__)

解释器执行module.py模块,喔?这次是自主模块了。

dir函数,查看模块可以用的函数、属性等。

如果模块修改了,需要借助重新加载,否则找不到修改过的东西。

import importlib; importlib.reload(modulename)

模块的路径

在没有指定模块的路径时,导入时会去什么路径下找模块呢?

1、当前py脚本的同级路径,即A脚本是ALib下,则会去ALib目录下找

2、环境变量 path

3、依赖于安装时初始化的一些路径,例如上面的Lib目录。

这里有个默认查找模块路径讨论:https://bytes.com/topic/python/answers/26800-what-pythons-module-search-path

官网参考:https://docs.python.org/3/tutorial/modules.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Faker:Python的伪造数据生成器

    Faker是一个可以让你生成伪造数据的Python包。当你需要初始化数据库,创建美观的XML文档,不断产生数据来进行压力测试或者想从生产服务器上拉取匿名数据的时...

    用户2398817
  • Python下进程与线程的原理及区别

      对于所有的语言都可能会遇到进程和线程的问题,一般情况下线程是由进程产生的,一个进程产生多个线程来按照一定的规则(Python下根据CPU调度算法和全局进程锁...

    用户2398817
  • Python模块之pexpect

    pexpect 可以用来和像 ssh、passwd、telnet 、rsync等命令行程序进行自动交互

    用户2398817
  • Python中的字符串驻留

    熟悉.NET的人都应该知道C#中的字符串驻留机制,.NET维护了一个驻留池,它会把在编译期间就相同的字符串只保留一份拷贝。如果仅在运行期间值才相同的字符串变量,...

    用户2398817
  • Python线程锁

    用户2398817
  • python wx 的wx.Frame框

    最近用python的wx模块写了一些窗口,其中wx.Frame是一个最重要的窗口框架,上网上查找了一些材料,其常用的属性用法如下:

    用户2398817
  • Python系列-python内置函数

    本文转载自:http://www.javaxxz.com/thread-359303-1-1.html

    用户2398817
  • 关于Python的Type,Module

    关于Python的Type,Module,Class Posted on 2007-07-13 by jeff

    用户2398817
  • 50. Python 数据处理(1)

    逗号分隔符(csv),有时也称为字符分隔值,因为分隔字符也可以不是逗号,其文件以纯文本的形式存储表格数据(数字和文本)。

    用户2398817
  • Python全栈开发之Django进阶

    项目中CSS、JS、图片都属于静态文件,一般会将静态文件存到一个单独目录中,便于管理,在HTML页面调用时,需要指定静态文件的路径,Django提供了一种解析静...

    用户2398817

扫码关注云+社区

领取腾讯云代金券