Python 模块与自定义模块

简介: Python 模块与自定义模块

一、导入 Python 标准库

想问你一下,有一件相对复杂的事儿,你看了下发现要实现它,得至少 20 个步骤,然后还得自己写至少 1000 行代码。

但与此同时,在这个世界上,居然还有人曾经遇到跟你一模一样的问题,他也是通过 20 个步骤,写了 1000+ 行代码,并最终实现了。更让人惊喜的是,他还将所有的代码打包成了一个产品,开源并免费供大家使用。

如果,此时此刻,你需要去实现这个功能的话,你是想自己从 0 开始一行一行去写呢,还是直接「引入」别人打包好的开源又免费的产品,然后实现效果呢?

那肯定是直接「引用」,对吧?

是的,你跟所有程序员同学一样,会优先去引用,而不是选择「重复造轮子」,退一万步讲,哪怕这个产品不能够完全满足我们的开发需求,我们也是可以在它原有基础上,进一步去「改造、优化」的。

好了,我们在用别人打包好的开源又免费的产品,也叫「第三方库」,要做的是,在使用之前,需要将它们「导入」你的工程中,语法关键字用 import 表示。

语法格式:

import 模块名 [as 别名]

比如,在数学中的很多公式的代码实现,其实只需要实现一次,然后无限次复用就好,在你想用的时候,直接调用就好了。

像我们想计算三角函数中的正弦值时,就直接导入 math 模块,然后调用它的 sin() 函数就能实现。

案例代码:

import math
# 求 5 的正弦值
math.sin(5)

其实,在导包地时候,我们还可以再提升下效率,对程序员来说,每一个细微地地方都去优化一点点,那么我们的程序将会更健壮。

如果我们用的类库比较大,那我们可以针对性地从某个模块中,导入指定地对象,能够极大程度上去减少了对象的查询次数,进而提高了访问速度。

当然,最重要的是,我们写的代码也会少一些,所有程序员梦寐以求的事儿,代码少点儿,加班少点儿,钱多点儿,头发多点儿……

语法格式:

from 模块名 import 对象名[as 别名]

案例代码:

from math import sin
# 求 5 的正弦值
sin(5)
sin(50)
sin(500)

二、Python 自定义模块

一个 Python 源文件,除了可以被直接解释执行,还可以作为模块,被别的 Python 文件导入引用执行。

案例代码:

1、One.py

name = 'XiaoMing'
def myInfo() :
    print('name: ', name)
myInfo()

2、Two.py

from One import name
def sayHello(age) :
    return '我的名字是:' + name + '年龄是:' + age
sayHello('18')

当我们执行 Two 文件的时候,发现 One 中的 myInfo() 方法也被执行了。

但不是我们想要的,在作为模块被导入时,可能会有一部分代码,我们并不希望它被第三方执行。

该怎么办呢?我们可以声明一个 name 内置变量就好,这东西会看自己是在哪儿,然后再决定自己以什么身份出现,有两种情况。

当我们声明了这个内置变量后,如果本模块直接执行,那么这个 name 的值就为 main

如果说,它被别人引用了,那么它的值就是模块名,也就是它所在文件的文件名。

name = 'XiaoMing'
def myInfo() :
    print('name: ', name)
if __name__ == '__main__':
    myInfo()

你再去执行的时候,发现问题已经解决好了。

最后

我是帅帅,一个默默做了 7 年的 Java 技术、Python 技术、架构师成长教练。

很喜欢罗曼·罗兰的一句话:“人最可贵之处在于看透生活的本质后,依然热爱生活 ”。

愿我们一起,努力追寻本质,依然保持热爱。


目录
相关文章
|
2月前
|
Python
python中导入模块/包的几种方式
python中导入模块/包的几种方式
25 0
|
2月前
|
Python
请描述 Python 中的模块和包的概念,以及如何导入和使用它们。
请描述 Python 中的模块和包的概念,以及如何导入和使用它们。
26 3
|
5月前
|
XML 数据格式 Python
Python如何导入其他模块?
Python如何导入其他模块?
|
6天前
|
运维 Shell Python
第九章 Python自定义模块及导入方法
第九章 Python自定义模块及导入方法
|
4月前
|
存储 Python
【Python 30天速成计划】4.函数和模块导入
【Python 30天速成计划】4.函数和模块导入
|
4月前
|
Python
【Python基础】模块的概念、模块的导入和下载第三方模块
【Python基础】模块的概念、模块的导入和下载第三方模块
|
5月前
|
Python
Python 模块:创建、导入和使用
将模块视为代码库。模块是一个包含一组函数的文件,您想要在应用程序中包含这些函数。
51 0
|
8月前
|
API Python
如何使用 Python 多处理模块
如何使用 Python 多处理模块
51 1
|
9月前
|
JSON 数据挖掘 数据库连接
【100天精通python】Day14:python模块_标准模块,自定义模块
【100天精通python】Day14:python模块_标准模块,自定义模块
80 0
|
11月前
|
Python
【Python】__all__的作用/模块导入
【Python】__all__的作用/模块导入
49 0