@函数装饰器 装饰器的作用 —— 不想修改函数的调用方式 但是还想在原来的函数前后添加功能 原则: 开放封闭原则 开放 : 对扩展是开放的 封闭 : 对修改是封闭的 示例 当程序使用“@函数”(比如函数A )装饰另一个函数(比如函数B )时, 实际上完成如下两 步。 将被修饰的函数(函数B )作为参数传给@符号引用的函数(函数A )。 将函数B 替换(装饰)成第①步的返回值。 从上面介绍不难看出,被“@函数”修饰的函数不再是原来的函数,而是被替换成一个新的东西。 看一下实例: def funA(fn): print('A') fn() return 'asdf' ''' 下面的装饰效果相当于funA(funB) funB 将会被替换(装饰)成该语句的返回值 由于funA 函数返回fkit ,因此funB 就是asdf ''' @funA def funB(): print('B') print(funB) 上面程序使用@funA 修饰funB ,这意味着程序要完成两步操作。 ①将funB 作为funA()的参数,也就是上面的粗体字代码相当于执行funA(funB)。 ②将funB.... Python之@函数装饰器 人生苦短,我用Python
艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹 将这几个 ora 配置文件替换了即可! https://xyt.cjzshilong.cn/listener.ora https://xyt.cjzshilong.cn/tnsnames.ora https://xyt.cjzshilong.cn/sqlnet.ora ORA-12514: TNS:监听程序当前无法识别连接描述符中请求的服务 无
环境安装 scrapy安装 安装依赖: 1.pywin32 pip install pywin32 安装Twisted pip install Twisted 查看版本: C:\Users\cjz>python -m scrapy version Scrapy 1.8.0 创建工程项目 D:\python_cuijianzhe>scrapy startproject scrapy_test New Scrapy project 'scrapy_test', using template directory 'd:\programs\python\python37\lib\site-packages\scrapy\templates\project', created in: D:\python_cuijianzhe\scrapy_test You can start your first spider with: cd scrapy_test scrapy genspider example example.com 查看scrapy创建的文件: D:\pyt.... Scrapy学习 人生苦短,我用Python