一、模块
概念 :Python模块(Moudule),是一个Python文件,以.py结尾,包含了Python对象定义和Python语句,模块能定义函数 ,类,变量,也能包含可执行的代码
导入模块-方式一:import模块名
1、语法:模块名.功能名
# 定义模块
#类(属性+方法)、函数、变量、可执行语句
class Person(object):
def __init__(self):
self.name="张三"
def eat(self):
print("这是模块中的方法")
def sleep(self,who):
print(f"正在和{who}睡觉")
# 单独定义函数
def playdd():
print("这是模块中的函数")
#单独定义模块变量
age =22
# 导入模块
# 方式1 import 模块名
import Snail
# 实例化模块中的类
person =Snail.Person()
person.eat()
print(person.name)
person.sleep("易烊千玺")
Snail.playdd()
print(Snail.age)
2、form 模块名 as 别名
# 导入模块
# 方式1 import 模块名
# import Snail
import Snail as a
# 实例化模块中的类
person =a.Person()
person.eat()
print(person.name)
person.sleep("易烊千玺")
a.playdd()
print(a.age)
方式二:form模块名 import 功能名
from 模块名 import 功能名 as 别名
# 方式二: from 模块名 import 功能
from Snail import Person
from Snail import playdd
from Snail import age
person= Person()
person.sleep("张起灵")
playdd()
print(age)
方式三:from模块名 import *
1、使用模块 语法:功能
from Snail import *
person= Person()
person.sleep("迪丽热巴")
2、__all__列表
__all__=["Person","playdd"]
playdd()
二、包
概念:包将有联系的模块组织在一起,放在同一个 文件夹下,这个文件夹几句称之为包
1、import 包名.模块名
import MyPackage.Snail
person=MyPackage.Snail.Person()
person.sleep("宝贝")
2、import 包名.模块名 as 别名
import MyPackage.Snail as s
person=s.Person()
person.sleep("宝贝")
3、from 包名.模块名 import 功能名
from MyPackage.Snail import Person
person=Person()
print(person.name)
4、from 包名 import *
from MyPackage import *
person =Snail.Person()
person.sleep("撒旦")
三、异常
处理异常
1、捕获指定异常类型
try:
可能发生错误的代码
except 异常类型:
如果出现异常执行的代码
2、捕获多个指定异常
try:
可能发生错误的代码
except (异常类型1、异常类型2):
如果出现异常执行的代码
3、捕获所有异常
try:
可能发生错误的代码
except Exception:
如果出现异常执行的代码
4、异常的捕获信息
try:
可能发生错误的代码
except 异常类型 as result:
如果出现异常执行的代码
#result为异常的信息
异常的else
try:
可能发生错误的代码
except Exception:
如果出现异常执行的代码
else:
没有异常时执行的代码
异常的finally
try:
可能发生错误的代码
except Exception:
如果出现异常执行的代码
else:
没有异常时执行的代码
finally:
无论是否有异常都要执行的代码
自定义异常
1、自定义类继承exception
重写__init__
重写__str__ 设置抛出异常的描述信息
2、使用【raise自定义异常类】捕获异常
四、文件
打开文件
在Python文件中,使用open()函数,可以打开一个已经存在的文件,或者创建一个新文件
f=open("readme.txt","w",encoding="UTF-8")
name:是要打开的目标文件名的字符串(可以包含文件所在的具体路径)
mode:设置打开文件的模式(访问模式),只读、写入、追加等,主要为"r",“w”,“a”
关闭文件
f.close()
文件读写
读
content = f.read()
print(content)
只读取一行
content=f.readline()
print(content)
读取整体
content=f.readlines()
print(content)
五、高阶函数
把函数作为参数传入,这样的函数称为高阶函数,高阶函数是函数式编程的体现
内置函数
abs():对数字求绝对值
round():数字的四舍五入
内置高阶函数
map()
map(func,lst):将传入的函数变量func作用到lst变量的每个元素中,并将结果组成新的列表(Python2)迭代器(Python3)
reduce()
reduce(func,lst)其中func必须有两个参数,每次func计算的结果继续和序列的下一个元素做累计计算
在使用reduce()函数之前,必须导入模块functools
filter
filter(func,lst)函数用于过滤序列,过滤到不符合条件的元素,返回一个filter对象,可将其转换成list