12.9模块

目录

模块的导入

以主程序方式运行

Python中的包


模块的导入

import 模块名字

from 模块名称 import 函数/类/方法等

import math
print(id(math))#2035163768416
print(type(math))#<class 'module'> 模块
print(math)#<module 'math' (built-in)> 内置模块

print(math.pi)#3.141592653589793
print(dir(math))#['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'lcm', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'nextafter', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc', 'ulp']
print(math.floor(9.9999))#9
print(math.ceil(9.001))#10

from math import pi
print(pi)

以主程序方式运行

在每个模块的定义中都包括一个记录模块名称的变量__name__,程序可以检查__name__变量,以确实他们在哪个模块中执行。

如果一个模块不是导入在其他程序中执行,则它可能在解释器的顶层模块中执行。顶级模块的__name__的值为__main__

calc2.py

def add(a, b):
    return a + b
if __name__ == '__main__':
    print(add(10,20))

demo.py

import calc2
print(calc2.add(10,20))

运行demo模块时,程序导入了calc模块,且calc模块只是被导入,并不是在顶层模块中执行,所以__name__的值不等于__main__,所以不会执行print(add(10, 20))的语句

Python中的包

包是一个分层的目录结构,它将一组功能相近的模块组织在一个目录下

包和目录的区别:包含__init__.py文件的目录称为包

包的导入:

import 包名.模块名

主程序:

import package.demo
package.demo.Messi()#Vamos Argentina
#as 后为该包内模块的别名
import package.demo as a
a.Messi()#Vamos Argentina

package中的demo模块

def Messi():
    print('Vamos Argentina')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值