2022.11.11
1.什么是模块
# 什么是模块
def fun():
pass
def fun2():
pass
class Student:
native_place='吉林' # 类属性
def eat(self,name,age):
self.name=name
self.age=age
@classmethod
def cm(cls):
pass
@staticmethod
def sm():
pass
a=10
b=20
print(a+b)
2.自定义模块
# 自定义模块
'''导入模块中的所有 import '''
import math # 导入关于数学运算的模块
print(id(math))
print(type(math))
print(math) # <module 'math' (built-in)>
print(math.pi) # 3.141592653589793
print(dir(math))
print(math.pow(2,3),type(math.pow(2,3))) # 2的三次方 8.0 <class 'float'>
print(math.ceil(9.001)) # 10 ceil--天花板
print(math.floor(9.9999)) # 9
'''导入模块中指定内容 from import'''
from math import pi # 若使用其他,需要另导
print(pi) # 3.141592653589793
'''导入自定义的模块'''
# chap14-->Mark Directory as-->Sources Root
import calc
print(calc.add(10,20))
print(calc.div(20,4))
# 或者
from calc import add
print(add(10,20))
calc:
# 导入自定义的模块
def add(a,b):
return a+b
def div(a,b):
return a/b
3.以主程序形式运行
# 以主程序形式运行
import calc2
print(calc2.add(100,200))
calc2:
# 以主程序形式运行
def add(a,b):
return a+b
if __name__=='__main__': # 不希望其他模块导入这个模块时,在其他模块中出现下面的print(add(10,20))
print(add(10, 20)) # 只有当点击运行calc2时,才会执行运算
4.python中的包
# Python中的包
'''在本模块中导入package包'''
import package.moduleA
print(package.moduleA.a) # 10
# 也可以起别名:
import package.moduleA as ma # ma是package.moduleA这个模块的别名 package是包名,moduleA是模块名称
print(ma.a) # 10
'''导入的本质'''
# 导入带有包的模块时注意事项
import package
import calc
# 使用import方式进行导入时,只能跟包名或模块名称
from package import moduleA # from import 方式--可以导入模块名
from package.moduleA import a # 可以导入变量
# 使用from...import 可以导入包、模块、函数、变量等
moduleA:
a=10
5.python中常用的内置模块
# python中常用的内置模块
import sys
import time
import urllib.request # # urllib包 request模块
import math
print(sys.getsizeof(24)) # 获取对象所占的内存大小
print(sys.getsizeof(45))
print(sys.getsizeof(True))
print(sys.getsizeof(False)) # 24 占了24个字节
print(time.time()) # 秒
print(time.localtime(time.time())) # 将秒转换成日期时间
print(urllib.request.urlopen('http://www.baidu.com').read()) # urllib包 request模块 urlopen()方法 爬虫时会使用
print(math.pi)
6.第三方模块的安装及使用
# 第三方模块的安装及使用
# 安装了schedule
import schedule # 后续可以用这个模块定时发送文件
import time
def job():
print('哈哈--------')
schedule.every(3).seconds.do(job) # 每三秒执行一次job函数
while True:
schedule.run_pending() # 启动它
time.sleep(1) # 休眠1秒