目录
一、模块
二、标准模块
collections模块
三、异常处理
四、文件操作
一、模块
Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。 模块让你能够有逻辑地组织你的 Python 代码段。
新建utils的Python包,里面会自带一个__init__.py的初始化文件
_init_.py
__all__=["mysql","redis","xx"]
mysql.py
 
 url='http:mysql://localhost:3306/db/......'
uname='root'
pwd=123456
driver='com.jdbc.mysql.driver'
class MysqlEntity():
    def fn(self):
        print("~~~~~~~~~~~")
        pass
def getConnection():
 print("mysql 的连接方法被调用")
pass
if __name__ =='__main__':
 print("MYSQL~") 
 
redis.py
 
 pwd=123456
host='127.0.0.1'
port=6379
class RedisEntity():
    def fn(self):
        print("~~~~~~~~~~~")
        pass
def getConnection():
 print("Redis 的连接方法被调用")
pass
print("Redis ~") 
 
test01.py
# from Python03 import util # from util import redis from util import * # 重命名 ---- 定义模块名字 # from util import mysql as l # 模块里的函数 mysql.getConnection() # 模块里的类 m=mysql.MysqlEntity() print(m) # 模块里的方法 m.fn() # 变量 print(mysql.uname)
 
二、标准模块
collections实现了许多特定容器,这些容器在某些情况下可以替代内置容器 dict, list, tuple, set, 原因在于,他们提供了在某个方面更加强大的功能。
collections模块
 
 from collections import deque
#  [列表] /(元组)/{set集合/字典}
# 基本模块collections
d=deque()
print(d)
d.append([1,2,3])
print(d)
print("=================")
d.append({1,2,3})
print(d)
print("=================")
print(d.pop())
d.append((1,2,3))
print(d)
print("=================")
d.remove([1,2,3])
print(d) 
 

singledispatch 单处理的泛型函数
class Stu(object): def wake_up(self): print('起床') class Police: def wake_up(self): print('起床') stu = Stu() police = Police() def wake_up(obj): if isinstance(obj, Stu): print('今天周末休息,让孩子们再睡一会') elif isinstance(obj, Police): print('警察很辛苦,又要起床了') obj.wake_up() else: print('不处理') wake_up(stu) wake_up(police) wake_up('一个字符串')
 
from functools import singledispatch
class Stu(object):
def wake_up(self):
print('起床')
class Police:
def wake_up(self):
print('起床')
stu = Stu()
police = Police()
@singledispatch
def wake_up(obj):
print('不处理')
@wake_up.register(Stu)
def wake_stu(obj):
print('今天周末休息,让孩子们再睡一会')
@wake_up.register(Police)
def wake_police(obj):
print('警察很辛苦,又要起床了')
obj.wake_up()
wake_up(stu)
wake_police(police)
wake_up('一个字符串')
wraps 装饰器修饰 python标准模块functools提供的wraps函数可以让被装饰器装饰以后的函数保留原有的函数信息,包括 函数的名称和函数的注释doc信息。
# map-reduce 归约
from functools import reduce
bills = [1, 2, 3, 4, 5, 6]
m = map(lambda a: a + 2, bills)
print(list(m))
print(bills)
r = reduce(lambda a, b: a + b, bills)
print(r)
def fn(a, b):
if isinstance(a, list):
if b > 3:
a.insert(0, b)
return a
r = reduce(lambda a, b: a + b, bills, 10)
print(r)
r = reduce(fn, bills, [10])
print(r)
三、异常处理
 
 try:
    # print(1/0)
   # print("------------")
    flag =True
    if flag:
      raise  Exception("未知异常")
except ZeroDivisionError as  r:
    print(r)
except Exception as  e:
    print(e)
    print("++++")
else:
    print("正常执行则会触发!")
finally:
    print("释放资源") 
 
 
 
四、文件操作
 
 
 # 文件操作
f = open('行尸走肉.txt', 'w+', encoding='utf-8')
try:
    f.write('hello')
    print(f.read()) #模式为'w'会报错
    # f.write('world')
finally:
    # 关闭资源
    # print(f.read())  # 模式为'w'会报错
    f.close() 
 

with open('a.txt', 'w', encoding='utf-8') as f:
f.write('hello world')




















![[机缘参悟-93]:时间、空间、多维度、动态、全局、系统思考模型汇总](https://img-blog.csdnimg.cn/img_convert/cd93f048ded67ceca8e3c1bb707f9a06.png)