我在CSDN学python-14

1、什么叫模块

  • Modules
  • 一个模块中包含N多个函数
  • 在Python中一个扩展名为.py的文件就是一个模块
  • 使用模块的好处:
  1. 方便其他程序和脚本的导入并使用
  2. 避免函数名和变量名冲突
  3. 提高代码的可维护性
  4. 提高代码的可重用性

模块包含:

  • 函数
  • 语句
# Name:      Python study
# Designer:  MilesHugh
# Time:      2023/4/14  8:54

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、自定义模块

  • 创建模块
  1. 新建一个.py文件,名称尽量不要与python自带的标准模块名称相同
  • 导入模块
    import  模块名称 [as 别名]
    
    from 模块名称 import 函数/变量/类
# Name:      Python study
# Designer:  MilesHugh
# Time:      2023/4/14  10:26

print('------import  模块名称 [as 别名]------')
import math
print(id(math))
print(type(math))
print(math)
print(math.pi)
print('------')
print(dir(math))
print(math.pow(2, 3), type(math.pow(2, 3)))   # 2的3次方
print(math.ceil(9.001))  # 天花板  # 大于该值的最小整数
print(math.floor(9.999))   # 地板  # 小于该值的最大整数
print('------from 模块名称 import 函数/变量/类------')
from math import pi
import math
print(pi)
print(pow(2, 3))  # 不在math模块内的pow()
print(math.pow(2, 3))  # 在math模块内pow()

建立calc.py模块

# Name:      Python study
# Designer:  MilesHugh
# Time:      2023/4/14  10:44

def add(a, b):
    return a + b
def div(a, b):
    return a / b

# 如何导入自定义模块

使用自定义模块:

# Name:      Python study
# Designer:  MilesHugh
# Time:      2023/4/14  10:45

# 在demo3中导入calc自定义模块的使用
import calc
print(calc.add(10, 20))
print(calc.div(10, 4))

from calc import  add
print(add(10, 20))

3、以主程序的形式执行

  • 在每个模块的定义中都包括一个记录模块名称的变量_name_,程序可以检查该变量,以确定他们在哪个模块中执行。如果一个模块不是被导入其它程序中执行,那么它可能在解释器的顶级模块中执行。顶级模快的_name_变量的值为_main_
    if _name_ = '_main_' :
        pass

建立calc2模块

# Name:      Python study
# Designer:  MilesHugh
# Time:      2023/4/14  11:01

def add(a, b):
    return a + b

if __name__ == '__main__':
    print(add(10, 20))   # 只有当点击运行calc2时,才会执行运算

引用calc2模块:

# Name:      Python study
# Designer:  MilesHugh
# Time:      2023/4/14  10:49

import calc2
print(calc2.add(100, 200))

4、python中的包

  • 包是一个分层次的目录结构,它将一组功能相近的模块组织在一个目录下。一个python程序包含N多个包,一个包里面包含N多个模块
  • 作用:
  1. 代码规范
  2. 避免模块名称冲突
  • 包与目录的区别
  1. 包含_init_.py文件的目录称为包,新建package文件
  2. 目录里通常不包含_init_.py文件,新建directory文件
  • 包的导入
    import 包名.模块名

新建package1包中的模块:

moduleA:

# Name:      Python study
# Designer:  MilesHugh
# Time:      2023/4/14  12:03

a = 10

moduleB:

# Name:      Python study
# Designer:  MilesHugh
# Time:      2023/4/14  12:03

b = 100

在demo5中导入包的方式:

# Name:      Python study
# Designer:  MilesHugh
# Time:      2023/4/14  12:04

# 在demo5中导入 package1 包
import package1.moduleA
print(package1.moduleA.a)

import package1.moduleA as ma   # ma是package1.moduleA这个模块的别名
print(ma.a)

# 导入带有包的模块时注意事项
import package1
import calc
# 使用import方式进行导入时,只能跟包名或模块名

from package1 import moduleA
from package1.moduleA import a
# 使用from...import可以导入包、模块、函数、变量

5、Python中常用的内置模块

模块名描述
sys与Python解释器及其环境操作相关的标准库
time提供与时间相关的各种函数的标准库
os提供了访问操作系统服务功能的标准库
calendar提供与日期相关的各种函数的标准库
urllib用于读取来自网上(服务器)的数据标准库
json用于使用JSON序列化和反序列化对象
re用于在字符串中执行正则表达式匹配和替换
math

提供标准算术运算函数的标准库

decimal用于进行精准控制运算精度、有效数位和四舍五入操作的十进制运算
logging提供了灵活的记录事件、错误、警告和调试信息等日志信息的功能

urllib和json在爬虫中会用到

# Name:      Python study
# Designer:  MilesHugh
# Time:      2023/4/14  12:20
import math
import sys
import time
import urllib  # 在爬虫中可能会用到包
import urllib.request

print(sys.getsizeof(24))  # 得到字节大小
print(sys.getsizeof(45))
print(sys.getsizeof(True))
print(sys.getsizeof(False))
print('--------')
print(time.time())   # 输出秒
print(time.localtime(time.time()))  # 输出本地时间
print('--------')
print(urllib.request.urlopen('http://www.baidu.com').read())  # 读取百度的URL的内容
print('--------')
print(math.pi)

6、第三方模块的安装及使用

  • 第三块模块的安装
    pip install 模块名
    
  • 第三方模块的使用
    import 模块名
# Name:      Python study
# Designer:  MilesHugh
# Time:      2023/4/14  12:32
import schedule  # 进行计划的一个包
import time

def job():
    print('嘿嘿~')

schedule.every(3).seconds.do(job)  # 每个3秒休眠时间,工作一次,输出
while True:
    schedule.run_pending()
    time.sleep(1)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小翔很开心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值