模块:
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晓码阁 版权所有