欢迎光临
我们一直在努力

Python学习记录23

接下来是关于模块的内容,这一章节的内容对我而言有比较高的难度,首先是一些基础操作语句:

#1.导入模块—>调用方式:模块名.功能名
#import random
import random as rd #将random改名成rd
for i in range(10):
print(rd.randint(1,100)) #这里1-100是闭区间
#2.导入模块中的功能—>from … import ….
from random import randint
from random import randint as rint #将randint改名成rint
from random import *
for i in range(10):
print(randint(1,100))

看着其实还比较容易上手,紧接着就到了自定义模块和自定义模块的调用,开始上强度了,先是自定义模块:

#__all__语句可以控制当用户使用from my_function import *语句时所可以调用的内容
#注意from my_function import *语句默认调用模块所有功能
all = ['PI','NAME','log_separator1','log_separator3']
#常量
PI = 3.1415926535
NAME = '外收内放'
#函数
def log_separator1():
print('-' * 30)
def log_separator2():
print('+' * 30)
def log_separator3():
print('#' * 30)
def log_separator4():
print('*' * 30)
log_separator1()
log_separator2()
log_separator3()
log_separator4()
#测试函数
if name == 'main':
log_separator1()
log_separator2()
log_separator3()
log_separator4()
#这个代码块 if name == 'main': 可以用作测试语句,不会在调用了该模块的模块中运行,只会在自定义模块中运行
#name:Python中的内置变量,表示当前模块的名字(直接运行模块,__name__的值为‘main’)。
#当__name__被导入时,输出的是当前导入模块的名字

然后再是尝试调用自定义模块的内容:

#导入自定义模块
#import my_function
#使用模块中的功能
print(my_function.PI)
print(my_function.NAME)
my_function.log_separator1()
my_function.log_separator3()
#注意,如果导入了自定义模块的同时自定义模块中的函数被调用了,它们也会跟着一起输出
#导入自定义模块的功能
from my_function import PI,NAME,log_separator1,log_separator3
from my_function import *
print(PI)
print(NAME)
log_separator1()
log_separator3()

我认为模块这一节的内容是突破性的,它实现了模块之间的联动,而不是之前的每个模块都“孤军奋战”,这是之前所有的内容所不具备的特点,其实挺令人振奋的。接下来是软件包调用的内容了,这是我目前学习的含金量最高的了,我首先制作了两个自定义模块。

自定义模块一:

#函数
def log_separator1():
print('-' * 10)
def log_separator2():
print('+' * 10)
def log_separator3():
print('/' * 10)
def log_separator4():
print('*' * 10)

自定义模块二:

#常量
PI = 3.1415926535
NAME = '外收内放'

再接下来就是把它们做成软件包,于是定义了init文件:

#描述包的信息(可选,软件包这个模块空着也是可以的)
__version__ = '1.0.0'
__author__ = '外收内放'
__email__ = '1839632447@qq.com'
all = ['my_function','my_varchar']

最后就是再创建一个模块尝试调用软件包里的模块或者其中模块的功能:

#导入模块
import utils.my_function
utils.my_function.log_separator1()
utils.my_function.log_separator2()
utils.my_function.log_separator3()
utils.my_function.log_separator4()
from utils import my_function
my_function.log_separator1()
my_function.log_separator2()
my_function.log_separator3()
my_function.log_separator4()
#注意,要写from utils import * 必须在__init__这个模块中输入__all__ = ['my_function','my_varchar']这样的语句,否则默认不调用
from utils import *
my_function.log_separator1()
my_function.log_separator2()
my_function.log_separator3()
my_function.log_separator4()
print(my_varchar.PI)
print(my_varchar.NAME)
#导入模块中的具体功能
from utils.my_function import log_separator1,log_separator3
log_separator1()
log_separator3()

模块涉及的知识点其实不多,但是真的很灵活,我认为它的使用上限非常高,特此记录。

赞(0)
未经允许不得转载:171主机测评 » Python学习记录23
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址