乐趣区

关于java:一文提升你的编程能力Python能力提升系列模块化编程

首先说一下:对于一个实在的 Python 程序,咱们本人实现所有的工作是不太事实的,通常都是须要借助第三方类库。而且,咱们编写一个残缺的程序的源代码也不可能放在同一个源文件中,对吧,因而这些都须要以模块化的形式来组织我的项目的源代码。

好了,上面说一下 Python 相干的模块化编程吧!

首先,导入模块的简略语法须要去进行一下理解的。

上面的要牢记哦,import 在 Python 中是被利用来导入模块的,那就说一下 import 的用法吧,次要有两种用法哦,别离如下:

1. import 模块名 1[as 别名 1], 模块名 2[as 别名 2], …

留神下面“[]”中的是可选项哦,下面语句的意思就是整个模块的导入。

2. from 模块名 import 成员名 1[as 别名 1], 成员名 2[as 别名 2], …

这个语句的意思就是 导入模块中指定的成员

** 举荐:020 继续更新,精品小圈子每日都有新内容,干货浓度极高。
牢固人脉、探讨技术 你想要的这里都有!
领先入群,跑赢同龄人!(入群无需任何费用)
点击此处,与 Python 开发大牛一起交流学习。
群号:745895701
申请即送:
Python 软件安装包,Python 实战教程
材料收费支付,包含 Python 根底学习、进阶学习、爬虫、人工智能、自动化运维、自动化测试等 **

下面两种 import 语句的 区别 次要如下:

1. 第一种 import 语句导入整个模块内的所有成员,这些成员包含变量、函数、类等;而第二种 import 语句则只导入模块内的指定成员,当然除非你应用 from 模块名 import *,但这种形式通常是不举荐应用的。

2. 应用第一种 import 语句导入模块中的成员时,必须增加模块名或模块别名前缀哦;当应用第二种 import 语句导入模块中的成员时,就不用应用任何的前缀啦,间接应用成员名或者成员别名就能够啦。

# 举个“栗子”:#导入整个 sys 模块

import sys

#导入 sys 整个模块,并指定其别名 s

import sys as s

#导入 sys、os 两个模块

import sys, os

#导入 sys、os 两个模块,并为 sys 指定别名 s,为 os 指定别名 o

import sys as s, os as o

#导入 sys 模块内的 argv 成员

from sys import argv

#导入 sys 模块内的 argv 成员,并为其指定别名 v

from sys import argv as v

#导入 sys 模块内的 argv、winver 成员

from sys import argv, winver

#导入 sys 模块内的 argv,winver 成员,并别离指定别名为 v、w

from sys import argv as v, winver as w

#导入 sys 模块中的所有成员

from sys import    

上面再来说一下,为什么应用 from 模块名 import 这种导入所有成员的模式不举荐大家应用吧

起因如下,还是举个“栗子”吧!

因为这种形式是有潜在危险的,比如说通过这种模式同时导入 module1 和 module2 内的所有成员,如果这两个模块内都有一个 ex()函数,那问题就来了,当执行如下代码:ex()

这个同时存在于两个模块中的函数到底是在 module1 模块中的呢?还是 module2 模块中的呢?所以说嘛,这种导入形式是有潜在危险的哦!

当然还是有方法来进行躲避的,你能够通过上面的形式:

import module1 as m1

import module2 as m2

这样别离给两个模块起个别名就能辨别开了,这时再调用 ex()函数时,就能够按上面形式写啦:

m1.ex()

m2.ex()

这样就很清晰了哦!

还有没有其余办法呢?当然有啦,你还能够采纳上面的形式,就是给模块中的重名办法起个“外号”(别名)呗:

from module1 import ex as ex1

from module2 import ex as ex2

这样就能够间接调用 ex()办法啦!

ex1()

ex2()

退出移动版