Python 课程学习笔记(13)模块 以及 python中的包

第十四章 模块 以及 python中的包

121. 什么叫模块—模块化编程的好处

(1)模块英文为Modules

(2)函数与模块的关系:

一个模块中可以包含N多个函数、N多个类:【类属性、类方法、静态方法、实例对象】、N多个语句

一个项目会包含N多个模块

 组成了Python程序

(3)在Python中一个扩展名为.py的文件就是一个模块

(4)使用模块的好处

·方便其它程序和脚本的导入并使用

·避免函数名和变量名冲突

·提高代码的可维护性

·提高代码的可重用性

print('--------------------121.什么叫模块—模块化编程的好处------------------')
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)

--------------------121.什么叫模块—模块化编程的好处------------------
30 

122. 模块的导入

(1)创建模块

·新建一个.py文件,名称尽量不要与Python自带的标准模块名称相同

(2)导入模块

① Import 模块名称 [as别名]

② From 模块名称 import 函数变量/类

③ 导入自己创建的模块

print('--------------------122.	模块的导入------------------')
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)))
print(math.log(10))
print(math.ceil(9.001))      #向上取整
print(math.floor(9.9999))    #向下取整

print('--②From 模块名称 import 函数变量/类--')
from math import  pi
print(pi)
print(pow(2,3))
from math import pow
print(pow(2,3))

print('--③ 导入自己创建的模块--')
#导入demo3中的calc自定义模块使用
import  calc
print(calc.add(10,20))
print(calc.div(10,2))
print('---')
from calc import add
print(add(10,20))

 --------------------122.    模块的导入------------------
--①Import 模块名称 [as别名]--
2582338649760
<class 'module'>
<module 'math' (built-in)>
3.141592653589793
----------------------
['__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', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']
8.0 <class 'float'>
2.302585092994046
10
9
--②From 模块名称 import 函数变量/类--
3.141592653589793
8
8.0
--③ 导入自己创建的模块--
30
5.0
---
30

123. 以主程序方式运行

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

print('--------------------123.	以主程序方式运行------------------')
''' [calc2]
def add(a,b):
    return a+b

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

 --------------------123.    以主程序方式运行------------------
300

124. Python中的包

更新:Python程序 ß N多个包 ß N多个模块 ß 函数、类、语句

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

(2)作用:

·代码规范

·避免模块名称冲突

(3)包与目录的区别

·包含_init_.py文件的目录称为包

·目录里通常不包含_init_.py文件

(4)包的导入

import 包名.模块名

在导入含有包的模块时的注意事项

① 使用 import 方式进行导入时,只能跟包名或模块名

import package1.

import calc

② 使用from…from可以导入包,模块,函数,变量

from package1 import moduleA

from package1.moduleA import a

 

125. Python中常用的内容模块

模块名

描述

sys

与python解释器及其环境操作相关的标准库

time

提供与时间相关的各种函数的标准库

os

提供了访问操作系统服务功能的标准库

calendar

提供与日期相关的各种函数的标准库

urllib

用于读取来自网上(服务器)的数据标准库

json

用于使用JSON序列化和反序列化对象

re

用于在字符串中执行正则表达式匹配和替换

math

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

decimal

用于进行精确控制运算精度、有效数位和四舍五入操作的十进制运算

logging

提供了灵活的记录事件、错误、警告和调试信息等日志信息的功能

print('--------------------125.	Python中常用的内容模块------------------')
import sys
import time
import urllib.request
import math
print(sys.getsizeof(24))
print(sys.getsizeof(45))
print(sys.getsizeof(True))
print(sys.getsizeof(False))

print(time.time())
print(time.localtime(time.time()))

# print(urllib.request.urlopen('http://www.baidu.com').read())  #可用于爬虫

print(math.pi)

 --------------------125.    Python中常用的内容模块------------------
28
28
28
24
1619088196.1199284
time.struct_time(tm_year=2021, tm_mon=4, tm_mday=22, tm_hour=18, tm_min=43, tm_sec=16, tm_wday=3, tm_yday=112, tm_isdst=0)
3.141592653589793

126. 第三方模块的安装与使用

(1)第三方模块的安装: pip install 模块名

(2)第三方模块的使用 :import 模块名

print('--------------------126.	第三方模块的安装与使用------------------')

import schedule
import time
def job():
    print('哈哈---')

schedule.every(3).seconds.do(job)
while True:
    schedule.run_pending()
    time.sleep(1)

 --------------------126.    第三方模块的安装与使用------------------
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---
哈哈---

 

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值