因为自动化测试才去接触python,平常用的都是PHP,java,都非常熟悉了操作自如,心想python学起来应该不费什么力气,第一块避免不了的就是类的引入,php的是use ,java的是import。经过我的查阅好像python也有import,but好像还有个from import,what?fuck!这东西还不是一个import能完全解决的吗?于是我进行了例子测试,发现了区别。
首先准备三个文件,我把代码贴出来:
Util.py
def lookNum(): print("我是数字方法") def lookStr(): print("我是字符串方法")
Teacher.py
class Teacher: def check(self): return '我是老师'; class Order: def checkOrder(self): return '我是订单';
Student.py
from Teacher import * import Util class Student: def login(self): str = Teacher.check(self) order = Order.checkOrder(self) Util.lookNum() Util.lookStr() print(str+'登录成功'+order) s = Student() s.login() # 当我们引入一个class的时候必须使用from import # 如果你的一个文件里面写了多个class,可以直接使用from Teacher import * 全部引入, # 比如我的Teacher里面有2个class, # 我就用了from Teacher import *,单独引入一个 from Teacher import Order,后面跟上类名就行了。 # 当你的文件只是一个简单的py文件不是一个类文件,里面有一些方法的时候,可以直接import Util, # 这表示引入的这个Util里面的所有方法,使用的时候Util.lookNum() # 如果你只是想单独引入一个方法from Util import lookNum # 可以这样使用的时候也比较简单直接lookNum()
引入单个方法的例子
Student.py
from Teacher import * from Util import lookNum class Student: def login(self): str = Teacher.check(self) order = Order.checkOrder(self) lookNum() print(str+'登录成功'+order) s = Student() s.login()