先说类(class)部分,声明一个类 Dino.py
class Dino(object):
"""docstring for ClassName"""
name = 'green dino'
def __init__(self, name=''):
super(Dino, self).__init__()
self.name = name
def getName(self):
print(self.name)
再声明个模块 first.py
def getArrayKey(list, keyname):
result = []
for item in list:
result.append(item[keyname])
return result
def getName():
print('mod name')
应用方式一:直接import文件,所有的方法和类都集成在变量下
import Dino
import first
dino = Dino.Dino(arguments)
dino.getName()
first.getName()
应用方式二:from name import * 所有的方法或者类直接可以使用
【注】如果导入的两个模块下有相同的方法以后导入的方法会覆盖前面导入的方法
from Dino import *
from first import *
from second import * //getName()
dino = Dino(arg)
getName() //执行的second里面的getName
应用方式三:from name import class or fun 导入指定的方法
把Dino.py加工下
class Dino(object):
"""docstring for ClassName"""
name = 'green dino'
def __init__(self, name):
super(Dino, self).__init__()
self.name = name
def getName(self):
print(self.name)
def getArrayKey():
print('123')
class Dog(object):
"""docstring for Hell"""
def __init__(self, arg):
super(Hell, self).__init__()
self.arg = arg
这样可以只导入所用到的方法
from Dino import Dog
from first import getName
dog = Dog('yellow')
getName()
最后补充一点
if __name__ == '__main__':
很多时候都看到模块里面有这行代码,这行代码个人常识之后只有独立执行改py文件的时候才会运行下面的代码,这点对单独测试某个模块或者包比较友好,很方便。