Python模块学习,模块是,什么

模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。

模块名要遵循Python变量命名规范,不要使用中文、特殊字符

先查看系统是否已存在该模块,检查方法是在Python交互环境执行import abc,若成功则说明系统存在此模块

一、import语句

  • import moudle_name :导入指定的py文件,此时这个py文件被认为是一个模块,当前脚本文件可以调用模块中定义好的参数和函数
  • import module_name as newname :此语法可以用来简化模块名称,方便随时调用
  • from modname import name : 从模块中导入一个指定的部分到当前命名空间中,而不是导入整个模块
  • from modname import * : 此语法把一个模块的所有内容全都导入到当前的命名空间,但是其会被认为是一种“拙劣实践”

一个模块只会被导入一次,不管执行了多少次import。这样可以防止导入模块被一遍又一遍地执行,在notebook中体现为第一次导入时会执行一下文件中的语句,后面再导入则不会

在较大的模块中有很多参数与函数,为了不与当前文件中变量名混淆,最好在调用时使用modname.name的结构

import numpy as np
list1 = np.arange(10)
print(list1)

#[0 1 2 3 4 5 6 7 8 9]

二、搜索路径

当解释器遇到 import 语句,如果模块在当前的搜索路径就会被导入。 搜索路径是一个解释器会先进行搜索的所有目录的列表,是由一系列目录名组成的,Python解释器就依次从这些目录中去寻找所引入的模块

搜索路径是在Python编译或安装的时候确定的,安装新的库应该也会修改。搜索路径被存储在sys模块中的path变量

sys.path 输出是一个列表,其中第一项是空串'',代表当前目录,即我们执行python解释器的目录,对于脚本的话就是运行的脚本所在的目录

import sys
sys.path

    ['',
    'D:\software\Anaconda3\python36.zip',
    'D:\software\Anaconda3\DLLs',
    'D:\software\Anaconda3\lib',
    'D:\software\Anaconda3',
    'D:\software\Anaconda3\lib\site-packages',
    'D:\software\Anaconda3\lib\site-packages\win32',
    'D:\software\Anaconda3\lib\site-packages\win32\lib',
    'D:\software\Anaconda3\lib\site-packages\Pythonwin',
    'D:\software\Anaconda3\lib\site-packages\IPython\extensions',
    'C:\Users\wanyu\.ipython']

三、'main'

当.py文件被直接运行时,if __name__ ==’__main__'之下的代码块将被运行;当.py文件以模块形式被导入时,if __name__ == '__main__'之下的代码块不被运行

if __name__ == '__main__':
	pass # 所需要执行的语句
# python学习交流群:711312441

四、作用域

在模块中定义的函数与变量一般分为外部不需要的和需要的,外部需要的定义为public,正常定义即可,外部不需要的定义成private,即在变量名前加___

五、包

包是一种管理 Python 模块命名空间的形式,采用"点模块名称"使用模块的时候,不用担心不同模块之间的全局变量相互影响。采用点模块名称这种形式也不用担心不同库之间的模块重名的情况

目录只有包含一个叫做__init__.py的文件才会被认作是一个包

__init__.py可以是空文件,也可以有Python代码,因为其本身就是一个模块

一般推荐使用from Package import specific_submodule语句来导入包中的模块

六、模块通用函数

dir()函数

内置的函数 dir() 可以找到模块内定义的所有名称。以一个字符串列表的形式返回

如果没有给定参数,那么 dir() 函数会罗列出当前定义的所有名称

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python模块学习,模块是,什么 - Python技术站

(0)
上一篇 2023年4月2日
下一篇 2023年4月2日

相关文章

  • Python教程:几个常用的内置函数

    匿名函数(lambda表达式) 在Python中,函数可以算的上是“一等公民”了,我们先回顾下函数的优点: 减少代码重复量 模块化代码 但是我们有没有想过,如果我们需要一个函数,比较简短,而且只需要使用一次(无需重复调用),那还需要定义一个有名字的函数么? 答案是否定的,这里我们就可以使用匿名函数来实现这样的功能。 我们先看看求一个数的平方,我们定义个函数怎…

    Python开发 2023年4月2日
    00
  • Python中5大模块的使用教程(collections模块、time时间模块、random模块、os模块、sys模块)

    1. 模块的简单认识 定义: 模块就是我们把装有特定功能的代码进行归类的结果. 从代码编写的单位来看我们的程序,从小到大的顺序: 一条代码 < 语句块 < 代码块(函数,类) < 模块.我们⽬目前写的所有的py文件都是模块.引入模块的方式: import 模块 from xxx import 模块 2. collections模块 coll…

    Python开发 2023年4月2日
    00
  • Python学习:配置日志的几种方式

    作为开发者,我们可以通过以下3种方式来配置logging: 1)使用Python代码显式的创建loggers, handlers和formatters并分别调用它们的配置函数;2)创建一个日志配置文件,然后使用fileConfig()函数来读取该文件的内容;3)创建一个包含配置信息的dict,然后把它传递个dictConfig()函数; 需要说明的是,log…

    2023年4月2日
    00
  • Python学习:转义字符及用法、数据类型转换函数

    ASCII编码为每个字符都分配了唯一的编号,成为编码值。在Python中,一个ASCII字符除了可以用它的实体(真正的字符)表示,还可以用它的编码值表示。这种使用编码值来间接地表示字符的方式成为转义字符(Escape Character)。 转义字符以\0或者\x开头、以\0开头表示后跟八进制形式的编码值,以\x开头表示后跟十六进制形式的编码值。Python…

    Python开发 2023年4月2日
    00
  • Python中切片操作的详细用法

    在利用Python解决各种实际问题的过程中,经常会遇到从某个对象中抽取部分值的情况,切片操作正是专门用于完成这一操作的有力武器。理论上而言,只要条件表达式得当,可以通过单次或多次切片操作实现任意切取目标值。切片操作的基本语法比较简单,但如果不彻底搞清楚内在逻辑,也极容易产生错误,而且这种错误有时隐蔽得比较深,难以察觉。 本文通过详细例子总结归纳了切片操作的各…

    Python开发 2023年4月2日
    00
  • Python教程:如何创建多线程?

    一、python线程的模块 1.thread和threading模块 thread模块提供了基本的线程和锁的支持 threading提供了更高级别、功能更强的线程管理的功能。 2. Queue模块 Queue模块允许用户创建一个可以用于多个线程之间共享数据的队列数据结构。 3.注意模块的选择 避免使用thread模块 因为更高级别的threading模块更为…

    Python开发 2023年4月2日
    00
  • Python数据类型间的相互转化及字符编码

    字符间的相互转化: 数字与字符串之间的相互转化 1、数字(整数与浮点数) –> 字符串 :只需要在要转化的数字前加str进行转换就可以 num = 10.5 str_num = str(num) print(str_num) 2、字符串转化为数字 –> 使用 int 或 float 方法进行转化 1 整数字符串转化为数字 (当字符串中只有数字…

    Python开发 2023年4月2日
    00
  • Python函数与码复用

    一.函数的定义与使用 1.函数的定义与使用方法 函数是一段代码的表示,它对应了一段具有特定功能的、可重用的语句组,它是一种功能的抽象,它表达特定的含义。在一般编程中,函数有两个作用,它通过函数定义一段功能,可以降低编码难度,同时也可以对一段代码进行复用。 函数的使用方法如下,其中函数体指的是函数内部包含的一些语句代码: def <函数名>(&lt…

    python 2023年4月22日
    00
合作推广
合作推广
分享本页
返回顶部