平凡

平凡

The quieter you become, the more you are able to hear.

python的@functools.wraps
前言如果你经常与python的装饰器打交道,会发现有的代码里经常会有这样一行@wraps(xxx) from functools import wraps def logged(func): @wraps(func) def with_logging(*args, **kwargs): print func.__name__ + " was called" return func(*args, **kwargs) return with_logging @logged def f(x): "&q...
python的装饰器
翻译自:https://www.programiz.com/python-programming/decorator 装饰器接收一个函数,为其加入一些功能并返回它。它又叫作元类编程,因为一部分程序在运行时尝试修改另外一部分程序。 简单说来,装饰器像一个包裹,不用更改这个函数自身,改变原函数代码的功能(增强了它原来的功能)。就像一包月饼卖10块钱,我们给它套上精致华丽骚气而浮夸的包装盒,瞬间能卖上千了有木有,但月饼还是原来的月饼,并没有任何改变。 前置知识我们必须习惯,在python中,任何东西都是对象。名字只是指向这些对象的一个标识。函数也不例外,它们也是带有属性的对象,不同的...
python中的@property
@property是python中的getter和setter,它使python的面向对象编程更加简单。 本文译自:https://www.programiz.com/python-programming/property 一个例子创建一个摄氏度的类,这个类中可以存储temperature,也可以将其转换成华氏温度: class Celsius: def __init__(self, temperature = 0): self.temperature = temperature def to_fahrenheit(self): ...
python的PIL
英文原文:https://realpython.com/python-gil/ Python全局解释器锁(Python Global Interpreter Lock or GIL),是为了在任何时刻只能让一个线程拿到python解释器的执行,即只有一个线程可以运行。这对于运行单线程程序的机器没什么影响,但对于多线程程序简直就是灾难。你电脑是多核的?对不起,不可以运行多线程。所以GIL是Python一个臭名昭著的特性。 GIL为python解决了哪些问题python的内存管理使用计数引用,python中的每个对象都会有一个计数器,来表示有几个引用指向该对象。当这个计数器为0时,对象占...
某次腾讯校招笔试解析
1 小Q怼序列题目描述小Q有一个长度为n并包含1~n的整数序列。 在最开始,序列是升序排列,即1在序列首部,n在序列尾部。 小Q将会对序列进行m次操作,第i次操作,小Q会把xi从序列中取出来并放到序列首部。 小Q想知道m次操作后,序列变成什么样。 输入描述 输入包括m+1行 第一行包括两个整数n,m(1 <= n, m <= 100000) 接下来m行,每行一个正整数xi,表示小Q每次操作的数。 输出描述输出一行,即m次操作之后的序列,以空格分割,行末无空格。 示例1输入 5 44314 输出 4 1 3 2 5 分析: 问题可转化为:有一个数组arr[1, 2,...
数据库的锁
什么是数据库的锁,举例说明一下数据库的锁用来锁住数据库中的某些数据,使得当前只能有一个用户/会话可以更新数据。所以,数据库的锁用来防止同时有一个或多个用户更新同一块数据。当数据被锁起来,这意味着另一个数据库会话在锁释放之前不能更新这块被锁起来的数据。 画重点: 锁住数据库中的某些数据,使得当前只能有一个用户/会话可以更新数据 用来防止同时有一个或多个用户更新同一块数据 另一个数据库会话在锁释放之前不能更新这块被锁起来的数据 当另一个会话尝试更新某块被锁起来的数据,会怎样处理假如会话A尝试访问被会话B锁起来的数据,会话A会发生什么?会话A会被置于lock wait 状态,并且会话A接...
理解MySQL的索引
在Web应用中,如果出现性能问题,原因极有可能是数据库索引没有设置或者没有设置好。这篇文章希望能帮助大家更好的理解数据库索引。 什么是索引每当你运行一句where查询,数据库都会遍历一遍该表,找到符合条件的行。例如查询班里名叫张三的性别: select sex from class where name="张三" 数据库会把该班级表中所有学生都遍历一遍。当表的规模扩大后,每一次查询都要遍历更多的数据。 索引就是为了解决这个问题,它把某列的数据取出来,按顺序(如字母顺序)存储到别的位置。如果该列数据是浮点数,就会按值的大小存储,如果是日期类型,那就按日期大小存储。 建立...
python正则的多行匹配问题
在正则表达式匹配一行字符串时,这种情况比较容易处理,直接写pattern就完事了。但如果想匹配多行字符串,那就比较容易翻车,里面有不少坑。这篇文章准备带你走出这些坑。 .*与re.DOTALL这是常见的html代码: paragraph = \ ''' <p> This is a paragraph. It has multiple lines. </p>''' 如果你准备写一个爬虫想匹配<p></p>之间的内容,于是你不假思索这样写: re.search(r'<p&...
python的类方法、实例方法和静态方法
概览让我们写一个类,包含类中的三种方法(instance method、class method、static method) class MyClass: def method(self): return "instance method called", self @classmethod def classmethod(cls): return "class method called",cls @ staticmethod def staticmthod(): ...
第四届全国网络空间安全技术大赛 writeup
web2进去后url如下: http://117.34.116.192/index.php?file=login.html 这道题一看url格式,便考虑到PHP文件包含。但是使用php://filter和php://input进行测试的时候,发现“:”被过滤了。于是一套乱摸,倒是摸到了两个敏感文件: http://117.34.116.192/index.php?file=../../../../etc/apache2/apache2.conf http://117.34.116.192/index.php?file=../../../../etc/passwd 都能读出来,但没什么用,...
平凡
FRIENDS
friendA friendB