【教程】模块用法详解

Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。

模块让你能够更好地组织你的 Python 代码,比如你有一段常用的代码,但你不想编写每一个 py 文件时都复制粘贴,这时候,把相关的代码分配到一个模块里,需要时导入,能让你的代码更好用,更方便。

模块能定义函数,类和变量,模块里也能包含可执行的代码。

例子:

myfunc.py

version = ‘1.0’

def myfunc(string):

return(‘返回了:’+string)

2.2 导入模块

模块定义好后,我们可以使用 import 语句来引入模块,语法如下:

import module1[, module2[,… moduleN]] #导入模块

比如要引用模块 myfunc.py,就可以在文件最开始的地方用 import myfunc 来引入。

2.3 调用函数

在调用模块中的变量或函数时,必须这样引用:

模块名.变量/函数名

例子:

test.py

import myfunc #导入模块

print(myfunc.myfunc(‘string’) #调用函数

3. Python中的包


包是一个分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等组成的 Python 的应用环境。

简单来说,包就是一个文件夹,但是这个文件夹下必须有一个 __init__.py 文件, 用于标识当前文件夹是一个包,在使用 import 包名 导入包时会自动运行 __init__.py 中的内容。这个文件可以为空。

考一个在 package_myfunc 目录下的 myfunc1.pymyfunc2.py__init__.py 文件,test2.py 为测试调用包的代码,目录结构如下:

test2.py

package_func

|-- init.py

|-- myfunc1.py

|-- myfunc2.py

myfunc1.py 里的代码:

myfunc1.py

def func1(string):

return(‘返回了:’+string)

myfunc2.py 里的代码:

myfunc2.py

def func2(string):

print(‘返回了:’,string)

return()

然后创建 __init__.py

init.py

from package_myfunc.myfunc1 import *

from package_myfunc.myfunc2 import *

我们可以把这个包放在 python 第三方包的目录下,我的是 \Lib\site-packages;或者把它放到 test2.py 同级文件夹下。

这时候我们可以在 test.py 中导入包:

import package_myfunc as mf

print(mf.func1(‘mystring’))

mf.func2(‘mystring’)

或者这样:

from package_myfunc import myfunc1, myfunc2

print(myfunc1.func1(‘mystring’))

myfunc2.func2(‘mystring’)

输出结果:

返回了:string

返回了: string

4. 其他


4.1 模块相关函数

dir()函数

dir() 函数返回一个模块里定义过的所有模块、变量和函数。

格式:

dir(module_name)

module_name 为模块名字

例子:

test3.py

导入 package_myfunc 模块

import package_myfunc

content = dir(package_myfunc)

print(content)

以上实例输出结果:

[‘builtins’, ‘cached’, ‘doc’, ‘file’, ‘loader’, ‘name’, ‘package’, ‘path’, ‘spec’, ‘func1’, ‘func2’, ‘myfunc1’, ‘myfunc2’]

在这里,前面以双下横杠 __ 开头的都是 python 特殊变量,其中特殊字符串变量 __name__ 指向模块的名字,__file__ 指向该模块的导入文件名。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)

rt/6c361282296f86381401c05e862fe4e9.png)

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)

img
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值