Python中使用模块和库编程
""" python中使用模块和库编程 导入模块 import modulename [as alias] from modulename import fun1,fun2,... modulename:模块名 alias:模块的别名 fun1、fun2:模块中的函数 执行模块 使用import语句和from语句执行导入操作时,导入的模块将被自动执行。模块中的赋值语句被执行后会创建变量,def语句被执行后 会创建函数对象。模块中的全部语句都会被执行,但只执行一次,如果import或from语句导入同一模块,模块代码就不会执行了,而 只是重新建立到已经创建对象的引用。 模块的搜索路径 使用import语句导入模块,需要能查找到模块程序的位置,即模块的文件路径,这是调用或执行模块的关键。导入模块时,不能再import 或from语句中指定模块文件的路径,只能使用python设置的搜索路径。标准模块库sys的path属性可以用来查看当前搜索路径设置。 """ import math # math是Python内置模块 print(math.pi) # math常数中的pi print(math.fmod(10, 3)) # 求余数 from random import random # random是Python内置模块 print(random()) # 返回0~1之间的随机小数 from random import * # 导入random模块中的所有对象 print(randint(10, 20)) # 返回两个整数之间的随机整数 import mymodule # 导入模块,mymodule print(mymodule.x) mymodule.testm() mymodule.x = 100 help(mymodule) # 查看模块信息 import mymodule # mymodule模块中的打印语句在第二次导入时也没有执行 temp = mymodule print(temp.x) # 重新导入并没有改变内存中模块变量x已经有的赋值 temp.testm() from mymodule import * # 如果再次使用from语句导入模块,x的值为最初模块文件的初值,这是import语句导入和使用from语句导入的一个重要区别 import sys print(sys.path) import os print(os.getcwd()) """ sys.path(搜索路径)由四部分设置组成 1.程序的当前目录(可用os模块中的getcwd()函数查看) 2.操作系统的环境变量PYTHONPATH中包含的目录(如果存在) 3.Python标准库目录 4.任何.pth文件包含的目录(如果存在) """ from fibonaccy import * fibo1(15) fibo2(10) """ ----------------------------------- | | | -------------------------- | | | -------------- | | | | | 函数库 | | | | | 模块 -------------- | | | | -------------- | | | | | 类库 | | | | | -------------- | | | -------------------------- | |包 | | -------------------------- | | | -------------- | | | | | 函数库 | | | | | 模块 -------------- | | | | -------------- | | | | | 类库 | | | | | -------------- | | | -------------------------- | | | ----------------------------------- """ # python3是一个用户文件夹,python3文件中的源文件引用tool文件夹中的network.py模块,可以使用以下语句 # from general.tool import network # import general.tool.network import random print(dir(random)) # 查看random库中的函数 from datetime import * aday = datetime.now() print(aday) dt = datetime.today() print("当前时间是:{}年{}月{}日{}时{}分{}秒".format(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second)) """ strftime()方法可以按照用户需要格式化输出日期的时间啊,其语法格式如下: dt.strftime(format[,t]) """