努力是一种常态
-
闭包第一天
2022-09-09 1、闭包的作用: 可以保存外部函数的变量 2、闭包的形成条件 (1)函数嵌套 (2)内部函数使用了外部函数的变量或者参数 (3)外部函数返回内部函数,这个使用了外部函数变量的内部函数称为闭包 3、典例 1 # 函数嵌套 2 def func_out(): 3 # 外部函数 4 num1 = 10 5 6 def func_inner(n…
-
闭包第2天
2022-09-10 闭包的使用实例 1 def config_name(name): 2 def inner(msg): 3 print(name + “:” + msg) 4 5 print(id(inner)) 6 return inner 7 8 A = config_name(“A”) 9 B = config_name(“B”) 10 A (“有…
-
装饰器第1天
2022-09-11 装饰器 装饰器的定义: 装饰器是一种特殊的闭包函数,该闭包函数中有且只有一个参数,且该参数是一个函数类型。 装饰器的作用: 装饰器可以给已有函数添加新的功能。 装饰器的特点(区别与其他函数): (1)它不会改变原来函数调用的方式。 (2)它不会改变原来函数的源代码。 (3)可以给原来的函数添加新的功能。 与装饰器配合…
-
装饰器的使用
2022-09-17 装饰器的使用实例——获得计时函数所用时间: 1 import time 2 # 定义装饰器函数 3 def decorator(fun): 4 def inner(): 5 # 获得开始时间 6 start = time.time() 7 # 执行计时函数 8 fun() 9 # 执行计时函数之后所用的时间 10 end = time.…
-
使用多个装饰器
2022-09-18 多个装饰器使用的实例: 1 # 定义一个装饰器 2 def make_p(func): 3 print(“执行装饰器make_p”) 4 5 def inner(): 6 # 对已有函数增加新的功能 7 result = “<p>” + func() + “</p>” 8 # 和已有函数保持一致,如果已有函数有返…
-
带有参数的装饰器
2022-09-18 带有参数的装饰器的实质: 因为装饰器是不能在带有参数,所以要定义带有参数的装饰器应该换一种思路。在装饰器的外面套一个函数,使用该函数返回这个装饰器。 带有参数的装饰器的实例: 1 # 装饰器 2 def return_decorator(flag): 3 def decorator(func): 4 def inner(a,b): …
-
类装饰器
2022-09-18 类装饰器的定义: 使用一个类作为一个装饰器,在类里面对已有函数添加其他功能。 类装饰器使用的一个实例: 1 class MyDecorator(object): 2 def __init__(self,func): 3 self.__func = func 4 5 def __call__(self, *args, **kwarg…
-
Redis与Python连接实例
2022-09-22 1、 Redis与Python建立连接之前需要先安装“Redis”安装包: 在ubantu中,打开终端,输入命令: sudo pip install redis 此时,是安装Python2.0的版本。 一般来说,是将3.0和2.0的版本都安装,安装3.0的命令: sudo pip3 install redis 2、python与redi…
-
创建Django项目
2022-09-24 在创建Django项目时,出现了 错误,查了一下,发现要创建一个Django项目,需要先使用命令: python -m pip install pytz 安装一个“时区模块”。一般错误提示中出现“xxx”模块没有发现,大概率是要进行安装一个模块或者其他。 之后创建一个Django项目: django-admin startproj…
-
运行的第一个Django
2022-09-24 创建了一个Django项目后,进行测试,输入指令: python manage.py runserver 出现了如下问题: 我还想着,Django模块通过安装“pip install django”导入了好几遍,尝试了几次都是这样。后来发现,是虚拟环境中没有Django模块的文件夹。之后,将之前下载解压的Django文件夹放入…