龙空技术网

第39讲 模块(中)(和猫妹学Python)

和猫妹学Python 151

前言:

当前各位老铁们对“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调用数学模块