北京网站设计确保代码符合w3c,建站哪家好,学习网站网址大全,wordpress如何实现收费会员制目录 1、前言
2、什么是模块
3、Python标准库模块
3.1、os模块
3.2、datetime 模块
3.3、random模块
4、自定义模块
4.1、创建和使用
4.2、模块命名空间
4.3、作用域
5、安装第三方依赖
5.1、使用 pip 安装单个依赖
5.2、从 requirements.txt 安装依赖
5.3、安装指…目录 1、前言
2、什么是模块
3、Python标准库模块
3.1、os模块
3.2、datetime 模块
3.3、random模块
4、自定义模块
4.1、创建和使用
4.2、模块命名空间
4.3、作用域
5、安装第三方依赖
5.1、使用 pip 安装单个依赖
5.2、从 requirements.txt 安装依赖
5.3、安装指定版本的依赖
5.4、从版本库安装依赖
6、from...import...as
7、小结 1、前言
Python 的强大之处之一就是其模块化编程的支持。模块是代码的组织单元它允许你将代码划分为可重用的部分从而提高代码的可维护性和可扩展性。今天我们一起来探讨 Python 模块的概念、创建和使用方法以及一些常见的 Python 标准库模块。
2、什么是模块
为了编写可维护的代码我们把很多函数分组分别放到不同的文件里这样每个文件包含的代码就相对较少很多编程语言都采用这种组织代码的方式。在Python中一个.py文件就称之为一个模块Module。
模块是包含 Python 代码的文件它可以包括变量、函数和类。通过将代码组织成模块我们可以更好地组织代码、提高可重用性并支持更好的命名空间管理。使用模块还可以避免函数名和变量名冲突。相同名字的函数和变量完全可以分别存在不同的模块中因此我们自己在编写模块时不必考虑名字会与其他模块冲突。但是也要注意尽量不要与内置函数名字冲突。
此外Python为了避免模块名冲突引入了按目录来组织模块的方法称为包Package。如 其中first_demo.pymain.py就是一个名字分别叫做first_demo和main的模块。而first_demo存在模块冲突了于是我们通过first包Package来组织避免冲突。
3、Python标准库模块
Python本身就内置了很多非常有用的模块只要安装完毕这些模块就可以立刻使用。如os模块、datetime模块、random模块等。使用内置模块我们只需要使用import导入该模块然后就有了以模块名称为变量名的变量引用该模块使用该变量就可以访问模块里的所有功能。
3.1、os模块
os 模块提供了与操作系统交互的功能包括文件和目录操作、环境变量等。
import osif __name__ __main__: 返回当前的工作目录 Return a unicode string representing the current working directory. print(os.getcwd()) 3.2、datetime 模块
datetime 模块用于处理日期和时间提供了丰富的功能如日期的格式化、时间的计算等。
from datetime import datetime if __name__ __main__:now_time datetime.now()print(当前时间, now_time) 3.3、random模块
random 模块用于生成伪随机数提供了多种随机数生成函数。
import randomif __name__ __main__:for i in range(10): # 打印10次print(random.randint(1, 100)) 4、自定义模块
除了使用Python标准库中的模块以外我们还可以按需定义自己的模块。这种方式在团队协作开发模式中非常有用。
4.1、创建和使用
创建模块非常简单只需将相关代码保存在一个文件中并使用 import 关键字在其他地方引入它。
定义一个my_module.py模块里面定义了一个接收名称的函数同时返回hello, xxx。
# 定义了一个sqy_hello函数用于外部调用
def say_hello(name):return fHello, {name}!
使用该模块
# 使用import关键字引入该模块
import my_moduleif __name__ __main__:# 调用该模块print(my_module.say_hello(张三))
4.2、模块命名空间
模块创建了一个独立的命名空间可以使用模块名来访问其中的变量和函数从而避免命名冲突。如在my_module.py模块中定义一个变量我们在引用该模块的函数中可以调用该变量而不与自己模块冲突。如
COUNTRY 中国# 定义了一个sqy_hello函数用于外部调用
def say_hello(name):return fHello, {name}!
调用
import my_moduleCOUNTRY 中国111if __name__ __main__:print(my_module.say_hello(张三), my_module.COUNTRY, 你好) 4.3、作用域 模块的作用域是指在模块中定义的变量、函数和类的可见性和访问范围。 在一个模块中我们可能会定义很多函数和变量但有的函数和变量我们希望给别人使用有的函数和变量我们希望仅仅在模块内部使用。而在Python中是通过_前缀来实现的。正常的函数和变量名是公开的public可以被直接引用比如abcx123PI等。
类似__xxx__这样的变量是特殊变量可以被直接引用但是有特殊用途比如上面的__author____name__就是特殊变量hello模块定义的文档注释也可以用特殊变量__doc__访问我们自己的变量一般不要用这种变量名。
类似_xxx和__xxx这样的函数或变量就是非公开的private表示这个函数是“内部实现细节”或“私有”的不应该被直接引用或调用。这是一种命名约定告诉其他程序员这个函数是模块内部使用的不属于模块的公共接口。
def _internal_function():print(This is an internal function.)def public_function():print(This is a public function.)其中_internal_function 被认为是模块内部使用的而 public_function 是模块的公共接口。
5、安装第三方依赖
除了Python自带的模块自己定义的模块以外通常还会使用别人定义好的第三方依赖。使用这些依赖由于不在我们的Python库中因此需要先进行安装。
5.1、使用 pip 安装单个依赖
在Python中安装第三方模块是通过包管理工具pip完成的。
pip install package_name
例如安装requests依赖
pip install requests
5.2、从 requirements.txt 安装依赖
通常在项目中会有一个名为 requirements.txt 的文件其中列出了项目所需的所有依赖。你可以使用以下命令一次性安装所有依赖
pip install -r requirements.txt5.3、安装指定版本的依赖
如果你需要安装特定版本的依赖可以使用 符号
pip install package_name1.2.3
# 指定安装最新版本
pip install --upgrade package_name
5.4、从版本库安装依赖
有时你可能需要从版本库例如 GitHub直接安装依赖。可以使用以下命令
pip install githttps://github.com/username/repo.git
6、from...import...as
使用import引入模块时引用模块的变量名默认为模块名。有时候如果模块名太长我们可以通过as关键字进行变量名重定义。如
import my_module as mm # 定义变量名为mmif __name__ __main__:# 这里通过重定义的变量名mm访问模块功能print(mm.say_hello(张三))
from ... import ... 是一种导入模块中特定成员变量、函数、类等的语法。这种方式允许你直接从模块中导入你需要的部分而不是整个模块。如 这里只导入了math模块中的sqrt函数
如果要导入多个函数使用英文逗号,隔开即可
如果需要引入全部模块import后面跟上*号即可这种方式不是推荐的做法因为它可能导致命名冲突和代码不易读。from math import sqrtresult sqrt(25)
print(result)7、小结
Python 模块是模块化编程的基础能够帮助我们更好地组织和管理代码。通过合理使用模块我们可以提高代码的可读性、可维护性并能够更容易地共享和重用代码。掌握模块的基本概念和高级用法是成为 Python 高效开发者的重要一步。