文件目录:
-util
-__init__.py
-Member.py
-testModule.py
__init__.py文件相当于一个标记作用,一个文件夹中包含这个文件,那么该文件夹在Python中被定义为Module,__init__.py中可以什么都不写,只要存在就行了。
如果不存在,则是就是个文件夹。
1)首先是__init__.py什么都不做的情况。
先看一下要引进的Member.py
#coding:utf8
'''自定义类Member实现'''
class Member:
__metaclass__ = type
member_id = 0 #成员变量
def __init__(self,name='song',tel=None,sex=None,age=None):
self.name = name
self.tel = tel
self.sex = sex
self.age = age
def __iter__(self):
return self
def next(self):
self.member_id = self.member_id+1
if self.member_id > 10:
raise StopIteration
return self.member_id
def getName(self):
say = 'I am a baby.'
print say
return self.name__init__.py为空,是一个空文件。
testModule.py类执行:
# coding:utf8
from Member import Member
m = Member()
print m.getName()结果:
2)__init__.py可以加载一些其他的模块
__init__.py文件:
# coding:utf8
import time
'''自定义方法'''
name = None
def showName():
global name
name = 'Hello'
print nametestModule.py文件
# coding:utf8
from Member import Member
from __init__ import *
m = Member()
print m.getName()
'''调用DecoratorStudy中的func方法和__init__中showName()'''
print time.ctime()
showName()
执行结果:
总结:__init__.py中可以引入其他的模块,也可以自定义自己的类。当然,也可以为空,作为一个Module的标识。