python调用自定义模块

本文介绍了Python中如何调用自定义模块,包括以类形式和函数形式编写模块。类模块中包含类及方法,而函数模块则包含独立的函数。调用类模块时,如在b.py中调用a.py的Class A及其方法;调用函数模块时,通过模块名.函数名()来实现,如在b.py中调用a.py的a1, a2等函数。举例说明了在实际项目中,如selenium2+python自动化测试中如何调用这些模块和函数。" 115554852,10884222,JSP无法接收到HTML表单数据问题解析,"['前端开发', 'JSP', 'HTML交互', '数据传递']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自定义的python模块有两种,一种是把模块写成类,类里面有要调用的方法。另一种写成单独的py文件,没有类,里面全是函数。(有类才叫方法,没有类叫函数),也是所谓的面向过程的函数。
第一种调用如下:
例如在b.py里要调用a.py里的class A,A有方法a1, a2等

#导入类A(这种更适合把模块写成类的)
from a import A 

#调用类A的方法
testa=A()
testa.a1()

第二种调用的时候导入模块,通过模块名.函数名()即可调用。
调用模块如下:
例如先写好a.py,里面有a1,a2,a3等函数。在b.py要调用模块a

#导入模块a
import a
....
....

#调用a模块的函数
a.a1()
a.a2()

在虫师的selenium2+python 自动化测试实战.pdf中,有这么个例子:
login.py文件代码段

#coding=utf-8
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
import unittest, time
#登陆函数,注意这里是函数,不是方法,是不需要带self的
def login(self):
driver = self.driver
driver.maximize_window()
driver.find_element_by_id("user_name").clear()
driver.find_element_by_id("user_name").send_keys("username")
driver.find_element_by_id("user_pwd").clear()
driver.find_element_by_id("user_pwd").send_keys("123456")
driver.find_element_by_id("dl_an_submit").click()
time.sleep(3)

webcloud.py文件的代码段:

#coding=utf-8
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
import unittest, time
import login #导入登录文件
class Login(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
self.driver.implicitly_wait(30)
self.base_url = "http://passport.kuaibo.com"
self.verificationErrors = []
self.accept_next_alert = True
#私有云登录用例
def test_login(self):
driver = self.driver
driver.get(self.base_url +
"/login/?referrer=https%3A%2F%2Fblue-sea-697d.quartiers047.workers.dev%3A443%2Fhttp%2Fwebcloud.kuaibo.com%2F")
#调用登录模块
login.login(self)
...

如果直接输入这两段代码,是会报错self未定义。因为login.py只是py文件,并非类文件,调用时写模块名.函数名即login.login()。而且在login.py的login函数不需带参数self。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值