前言:
当前各位老铁们对“python调用数学模块”大概比较看重,同学们都想要知道一些“python调用数学模块”的相关内容。那么小编同时在网络上收集了一些对于“python调用数学模块””的相关文章,希望我们能喜欢,各位老铁们快快来学习一下吧!小朋友们好,大朋友们好!
我们今天继续学习模块,要学习的内容如下:
以主程序形式执行程序
Python中的包
使用包
使用标准模块
以主程序形式执行程序
我们之前的代码中,有些有如下代码片段,知道是什么意思吗?
if __name__ == “__main__”
其他语言,比如C语言,要求代码从main函数开始执行。Java都有一个包含main()函数的主类,函数从这里开始执行。
函数开始执行的地方被称为程序入口。
Python没有程序入口,它从脚本的第一行执行。
这样存在一个问题,比如某个模块包含一些执行代码,其他使用该模块的Python程序在导入这个模块后,这些可执行代码也会执行,通常是不想执行这些代码的。
比如39.1.py,在调用calculater.add时,calculater中的一个打印代码也执行了,很多时候不想执行这些代码的。
#calculater.pymyname='和猫妹学Python'def add(a,b): return a+bprint('这是calculater模块',myname)#print(__name__)#if __name__ == '__main__':# print('这是calculater中的myname:',myname)
import calculatera=5b=6print(calculater.add(a,b))
上述代码中模块中的打印代码可以不执行吗?
当然可以
在模块中加入if __name__ == '__main__'判断就可以了
#calculater.pymyname='和猫妹学Python'def add(a,b): return a+b#print('这是calculater模块',myname)#print(__name__)if __name__ == '__main__': print('这是calculater中的myname:',myname)
__name__是记录模块名称的变量,当程序在顶级模块执行时,它是__main__,否则就是其模块名称值。
可以打印__main__看下。
Python中的包
一个这样的文件夹被称为包,这个文件夹必须包含一个名称为__init__.py的文件。
使用模块,可以避免函数名、变量名重名引起的冲突。
使用包,可以避免模块名重名引起的冲突。
有三种方式可以导入包:
3.1.import+完整包名+模块名
3.2.from+完整包名+import+模块名
3.3.from+完整包名+.模块名+import+定义名,导入模块的全部,可以用*
注意:
第一种方式使用时,用包名.模块名.变量。
第二种方式使用时,用模块名.变量。
第三种方式使用时,用变量。
做个测试吧!
student是个包,因为它里面有个__init__.py,目录结构如下:
school||-----student| || |--__init__.py| |--name.py||-----teacher| || |--__init__.py| |--name.py||------39.3.py
__init__.py内容为空,name.py的内容如下:
WhoAmI='我是猫妹,我是一名小学生'
我们该如何使用包中的模块呢?
有三种方式都可以,见39.3.py,内容如下:
#import+完整包名+模块名import student.nameprint(student.name.WhoAmI)'''#from+完整包名+import+模块名from student import nameprint(name.WhoAmI)''''''#from+完整包名+.模块名+import+定义名,导入模块的全部,可以用*from student.name import *print(WhoAmI)'''
使用标准模块
我们之前学习了模块有三种:标准模块、第三方模块、自定义模块。
标准模块大概有200多个,常用的如下:
sys:系统相关的参数与函数
time:时间的查询与转化
os:多方面的操作系统接口
datetime:基于日期与时间工具
calendar:通用月份函数
urllib:URL处理模块
json:JSON编码与解码
re:正则表达式操作
math:数学函数
decimal:定点数与浮点数计算
shutil:高级文件操作
logging:Python日志工具
tkinter:Python进行GUI编程标准库
random:随机数
我们用random做个测试
猫妹的测试代码见39.4.py
import randomprint(random.randint(0,10))#0~10之间的随机整数
好了,今天的学习就到这里!
标签: #python调用数学模块