Python 基础入门 7_1 自定义模块

"""
模块:将多个函数或者多个类放在同一个文件里可称为模块,对python来说,一个py文件对应一个模块
1.提高代码的可维护性
2.提高了代码的复用性
3.引用其他的模块(内置模块和三方模块和自定以模块)
4.避免函数名和变量名的冲突

要使用模块的方法需要在该文件内引入模块:
1.import 模块列表 #可以引入多个模块,模块名不能有中文数字
使用该引入自定义模块方式的内容:
模块名.函数名/变量名

2.from 模块列表 import *模块名中的函数 #可多个函数,但必须有一个
使用该引入自定义模块方式的内容:
函数名/变量名

3.from 模块列表 import * #返回模块中的内容
使用该引入自定义模块方式的内容:
函数名/变量名

若引入模块的模块中,有和引入模块的变量名/函数名/类名相同,根据引入模块语句的位置判断执行对应的对量/函数名/类名

若引入的模块中,有变量,函数,类等不想被外界访问,只能内部访问。
为实现这种功能,有个__name__的变量,当__name__ = __main__时,表示该模块为主执行模块,而不是引用模块,形式如下:
if __name__ == __main__:
变量
函数

详细见test.py文件
"""
test.py:
var1,var2,var3 = 1,2,3

def saygood():
print("good")
def sayNice():
print("Nice")
def sayHello():
print("hello")
def sayHaHaHa():
print("HaHaHa")

class Test1Class():
varFun1 = "varFun1"
def fun(self):
print("test模块的函数1")
class Test2Class():
varFun2 = "varFun2"
def fun(self):
print("test模块的函数2")
class Test3Class():
varFun3 = "varFun3"
def fun(self):
print("test模块的函数3")
class Test4Class():
varFun4 = "varFun4"
def fun(self):
print("test模块的函数4")

if __name__ == "__main__":
var5 = 5
def fun4():
print("fun5")
class Test5Class():
varFun5 = "varFun5"
def fun(self):
print("test模块的函数5")
print("**")
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

var1,var2 = "var1","var2"

def sayNice():
print("Nice,Nice")
def sayHaHaHa():
print("HaHaHa , HaHaHa")

class Test1Class():
varFun1 = "varFun1"
def fun(self):
print("函数1")
class Test2Class():
varFun2 = "varFun2"
def fun(self):
print("函数2")

from test import var1,var2,sayHello,sayNice,Test1Class,Test3Class

var3= "var3"

def sayHello():
print("hello ,hello")

class Test3Class():
varFun3 = "varFun3"
def fun(self):
print("函数3")

print("var1:",var1,"var2:",var2,"var3",var3)
# print("var4",var4) #报错,因为引入模块没有引入同时所在模块无定义var4变量
sayHello(),sayNice(),sayHaHaHa()
# saygood() #报错,因为引入模块没有引入同时所在模块无定义saygood函数

test1Class,test2Class,test3Class = Test1Class(),Test2Class(),Test3Class()
test1Class.fun(),test2Class.fun(),test3Class.fun()
# test4Class = Test4Class() #报错,因为引入模块没有引入同时所在模块无定义Test4Class类

import Test
# test5Class = Test.Test5Class() #报错,因为Test模块的Test5Class放在执行文件里,不能被引用,同时所在模块无定义Test5Class类

猜你喜欢

转载自www.cnblogs.com/hjlin/p/10635595.html