前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >自动化测试在路上 | 导入自定义模块

自动化测试在路上 | 导入自定义模块

作者头像
测试小兵
发布2023-03-09 15:59:47
7250
发布2023-03-09 15:59:47
举报
文章被收录于专栏:猪圈子

前文

形象生动的解释什么是Python的类与对象 | 一文带你了解什么是 " 对象的属性 " | 自动化测试在路上 | 函数及调用 今天接着给大家分享如何导入自定义模块,分享2种方法

Title:导入自定义模块

简介

模块是Python语言中非常重要的概念,当把一组代码保存为.py格式的文件时,这个文件就是一个模块

在Python体系中,一个Python文件就是一个模块,前面所提到的.py文件其实都是模块

模块通常由函数和类组成,在这里自定义一个study.py的文件,即定义一个名为study的模块

在study的这个模块中定义一个名为love()的函数,同时在study的模块中还定义了一个名为Shuaige的类,而在Shuaige这个类中又定义shengao、tizhong两个方法,该模块的具体代码如下

*代码实例

代码语言:javascript
复制


def love():
    print("I , like")


class shuaige:
    def shengao(self):
        print("178")
    def tizhong(self):
        print("54kg")

*代码分析

a. 第01行代码,定义了一个love()函数

b. 第02行代码,定义一个名为Shuaige的类,并且类中包含了两个方法

* 通过import语句导入自定义的模块

当study模块创建成功后,就可以调用study模块中的函数和类中的方法,如何调用呢?

方法很简单,在study.py文件(模块)所在的目录创建一个空白py文件,并将其命名为study_one.py

通过Pycharm代码编辑器打开study_one.py这个空白文件,然后study_one.py文件中通过import语句把myboy模块导入就可以达到调用myboy模块中的函数和方法的目的,具体代码如下

*代码实例

代码语言:javascript
复制
import study


list = study.shuaige()


study.love()


list.tizhong()

*代码分析

a. 第01行代码,通过import关键字导入study模块

b. 第02行代码,在Shuaige类中创建一个名叫lisi的帅哥实例,由于调用的是study模块中的类来创建实例,所以类名前面也需要加上模块名称

c. 第03行代码,调用study模块中的love()函数,调用love()函数时需要加入模块名称

d. 第04行代码,由于lisi这个帅哥实例是从Shuaige这个类“出炉”的,那它自然可以调用Shuaige这个类里的方法

*代码输出

代码语言:javascript
复制


F:\Python\Python38-32\python.exe F:/Python/Python38-32/python_code/Study/autotest_unittest/study_one.py
178
I , like
54kg


Process finished with exit code 0

*注意事项

在前文的例子中已经新建了一个zhangsan帅哥实例,怎么这里又新建了一个lisi帅哥实例呢?

在一个类中可以新建多个实例,Shuaige这个类代表的是所有帅哥,它里面的方法和属性也是所有帅哥共有的属性和方法,而不是指某一个帅哥的

所以每当从Shuaige类里“出炉”一个新帅哥时,这个帅哥就拥有了这些方法和属性

study.py文件和study_one.py文件需要放在同一目录下,如不放在一个目录下,study_one模块将无法调用study模块中的函数和其类中的方法,对其他放置的方法初学者可暂时不考虑

Title:通过form…import语句导入自定义模块

如果在调用模块中的函数和类中的方法时不想使用模块名称这个前缀时,还可以使用form…import语句进行导入,如study_one.py文件(study_one模块)中的代码还可以这样写成如下形式

*代码实例

代码语言:javascript
复制
from study import love
from study import shuaige


list = shuaige()
love()
list.shengao()

*代码分析

a. 第01行代码,从myboy模块中直接导入love()函数

b. 第02行代码,从myboy模块中直接导入Shuaige类

c. 第03行代码,在Shuaige类中创建一个名叫lisi的帅哥实例,此时Shuaige类前面没有加模块名称这个前缀

d. 第04行代码,由于采用了form…import语句,所以在myboy_one模块中可以直接调用myboy模块中的love()函数,并且不用加模块名这个前缀

e. 第05行代码,由于lisi这个帅哥实例是从Shuaige类“出炉”的,那它自然可以调用Shuaige类里的tiao_wu()这个方法。

代码语言:javascript
复制
*代码输出
F:\Python\Python38-32\python.exe F:/Python/Python38-32/python_code/Study/autotest_unittest/study_one.py
I , like
178

Process finished with exit code 0

PS: 部分释义来源于网络检索整理,如有侵权请联系删除

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python测试社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云代码分析
腾讯云代码分析(内部代号CodeDog)是集众多代码分析工具的云原生、分布式、高性能的代码综合分析跟踪管理平台,其主要功能是持续跟踪分析代码,观测项目代码质量,支撑团队传承代码文化。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档