模块(modules)、不同的模块可以有相同变量、互不影响
函数:.py的文件
模块中包含函数、包含类(类中包含属性、实例方法、类方法、静态方法)、包含语句
一个项目有多个模块 ,多个模块组成了python程序
#函数
def fun():
pass
#类
class Student:
#属性
place='北京'
#实例方法
def eat(self,name,age):
self.name=name
self.age=age
#类方法
@classmethod
def cm(cls):
pass
#静态方法
@staticmethod
def sm():
pass
pass
#语句
a=10
b=10
print(a+b)
自定义模块
.py文件,名称不要与py自带的标准模块相同
导入模块
import 模块名称 [as 别名]
from 模块名称 import 函数/变量/类
方法1
import math #导入math模块 数学运算的模块
print(id(math))
print(type(math))
print(math)
#如何使用模块的方法
print(math.pi)
print('---------------------')
print(dir(math))#属性方法
print('---------------------')
print(math.pow(2,3))
print(math.ceil(9.3))#ceil天花板
print(math.floor(9.88))#地板
from math import pi#模块中的一小部分
print(pi)
import math#整个模块
print(pow(2,3))
print(math.pow(2,3))
导入自定义的模块
新建
def add(a,b):
return a+b
def div(a,b):
return a/b
在新的py文件中导入自己的模块
#导入自定义模块
import calc
print(calc.add(10,29))
print(calc.div(1,5))
但是还需要,在目录中
#导入自定义模块
from calc import add
print(add(2,5))
以主程序的形式的运行
模块
def add(a,b):
return a+b
def div(a,b):
return a/b
#极calc是主程序的时候
if __name__ == '__main__': #只有语句运行calc的时候 这个输出语句才会运行、不加的则其他中调用此模块函数 也会输出
print(add(10,20))
作为主程序的文件
#导入自定义模块
import calc
print(calc.add(25,89))
Python中的包:是一个分层次的目录结构(避免模块冲突)
一个python程序有许多包--->每个包中含有多个模块(避免函数中变量的冲突)--->每个模块中含有许多 函数、类、语句
创建包
创建目录
实现效果
两者的区别就是差了一个Init.py文件
在包下新建py文件
导入包
法一 语法:包名.模块名
# 在module模块中导入包
import pageage.moduleA
print(pageage.moduleA.a) #导入模块中的变量
法二
# 在module模块中导入包
import pageage.moduleA as ma #ma是pageage.moduleA的别名
#导入模块中的变量
print(ma.a)
#导入带有包的模块的注意事项
import pageage
import calc
#使用import方式进行导入时,只能跟包名或者模块名
#使用from-import的方式可以导入包、模块、函数、变量
from pageage import moduleA
from pageage.moduleA import a #导入包中模块A的变量