思维导图:
模块:
"""
定义模块
类(属性+方法)、函数、变量、可执行语句
"""
# 控制*导入的方法
__all__ = ["Person", "playDD"]
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
# 取别名
# import Snail as s
#
# # 实例化模块中的类
# person = s.Person()
# person.eat()
# person.sleep("zs")
# print(person.name)
#
# s.playDD()
# print(s.age)
# 方式2: from 模块名 import 功能 (了解)
# from Snail import Person
# from Snail import playDD
# from Snail import age
# person = Person()
# person.sleep("as")
#
# playDD()
# print(age)
# 方式3: from 模块名 import *
# 在类上面加__all__ = [] 进行控制导入
from myPackage.Snail import *
person = Person()
person.sleep("af")
playDD()
包:
"""
导入包
"""
# 方式1
# import myPackage.Snail as s
# # # person = myPackage.Snail.Person()
# # person = s.Person()
# # person.sleep("asd")
# 方式2
# from myPackage.Snail import playDD, Person
# person = Person()
# print(person.name)
# 方式3
# from myPackage.Snail import *
from myPackage import * # 此方法需要在__init__.py下用__all__ = []控制导入的模块 否则不能导入
person = Snail.Person()
person.sleep("mm")
init.py:
__all__ = ["Snail"]
异常
""""
异常
语法格式:
try :
可能会出异常的代码
except 异常类型1,异常类型2 | Exception:
出现异常,解决异常的代码
else:
没有异常,执行的代码
finally :
无论是否有异常,都会执行
"""
"""
可用if else
这里用异常判断密码长度是否小于6位
"""
# 自定义异常
class MyException(Exception):
def __init__(self, length, minLength):
self.length = length
self.minLength = minLength
def __str__(self):
return f"输入的长度为{self.length},要求长度最少为{self.minLength}"
# 测试自定义函数
try:
pwd = input("请输入密码:")
if len(pwd) < 6:
raise MyException(len(pwd), 6)
except MyException as result:
print(result)
else:
print(pwd)
# print(6/3)
# try:
# a = 6/2
# except ZeroDivisionError:
# print("除数不能为0")
# else:
# print(f"a={a}")
# finally:
# print("运算结束")
文件:
"""
文件操作
r:读
w:写
a:追加
"""
f = open("readme.txt", "r", encoding="utf-8")
# 写文件
# f.write("好好学习,天天向上")
# 读文件
# content = f.read(2) # 读指定长度
# content = f.readline() # 读单行
# content = f.readlines() # 读所有
# print(content[0: 2])
readme.txt:
好好学习,天天向上
比你优秀的人还在努力,你有什么资格停下脚步
请不要假装很努力,因为结果不会陪你演戏
高阶函数:
"""
高阶函数
"""
import functools
# 内置函数
print(abs(-5)) # 绝对值
print(round(12.89, 1)) # 四舍五入
# 高阶函数:3
# 1、map()
list1 = [1, 2, 3, 4, 5]
# def two(x):
# return x ** 2
#
# result = map(two, list1)
# print(list(result))
# 2、reduce()
# def add(x, y):
# return x+y
#
# print(functools.reduce(add, list1))
# 3、filter()
def ou(x):
return x % 2 == 0
result = filter(ou, list1)
print(list(result))