模块:
1.什么叫模块(Java中没有这个概念)
一个以.py后缀结束的文件
random/time/os/io/
2.模块中可以存什么东西
全局变量
类
函数
可执行的代码
3.如何使用模块
import random
会将模块中所有的代码执行一遍
random.randint(1,6)
手动引入模块
import 模块
导入之后的使用方式
模块名.方法名()
待导入的模块Test00.py
__all__ = ['PI','AAA'] PI = 3.14 def showPI(): print("PI = %g"%PI) class AAA(): id = 100 def __init__(self): self.age = 10 @classmethod def testClassMethod(cls): print("我是类方法") def test1(self): print("我是成员方法test1") @staticmethod def testStaticMethod(): print("我是静态方法") if __name__ == '__main__': # print(__name__) print('id = %d' % AAA.id) AAA.testClassMethod() AAA.testStaticMethod() AAA().test1() showPI() # print('id = %d' % AAA.id) # AAA.testClassMethod() # AAA.testStaticMethod() # AAA().test1() # showPI()
引用Test00.py的模块
import Test00 print("--"*20) print("PI = %g"%Test00.PI) Test00.showPI() #调用自定义模块类AAA中的成语方法 # a = Test00.AAA() # a.test1() #使用匿名对象直接调用模块Test00中类AAA中的成语方法 Test00.AAA().test1() #调用Test00模块中类AAA中的静态方法,类方法 Test00.AAA.testStaticMethod() Test00.AAA.testClassMethod() import random
注意:里面打印语句的顺序,因为程序入口的问题,默认情况下,import导入模块xxx,会先将xxx.py中的内容给执行一遍,这时我们需要判断执行xxx.py文件内容的程序入口
模块的使用:
import Test00
import Test00
import Test00
注意:无论import多少次,都执行一遍
1.import 模块
访问方式
模块.方法()
2.from 模块 import 变量,函数,类
访问方式
直接访问
PI
showPI
AAA
from 模块 import *
3. __all__ = ['变量名','类名','函数名']
from 模块 import *
只导入__all__列表中包含的
# import Test00 # print(Test00.PI) # from Test00 import PI,showPI as _showPI,AAA # import Test00 # print(PI) # # showPI() # _showPI() # a = AAA() # a.test1() # from Test00 import * # print(PI) # showPI() # a = AAA() # a.test1() # AAA.testClassMethod() # AAA.testStaticMethod() #在Test00模块中,不指明__all__的时候,默认导入所有的 #如果手动指明了列表,这时候导入的是列表中包含的 from Test00 import * print(PI) # showPI() AAA.testClassMethod()
over......
备案号:湘ICP备19000029号
Copyright © 2018-2019 javaxl晓码阁 版权所有