转自http://www.wpmee.com/disable_reset_lost_password/
今天给大家分享一个wordpress优化中的一个防黑小妙招,禁用密码找回功能,为什么要禁用如此优秀的功能呢?因为可能被有心之人滥用,如果你也像wordpress迷一样装了postfix发信程序,那么很有可能被无数个发信线程卡死。所以如果你只是单用户的站点,直接禁用了吧。
将下面的代码添加到你主题的functions.php中即可:
L=[‘Mary’,’Steve’,’Mike’,’Dennis’]
L[0:3]切片操作,从0开始,到3(不包括3脚标)
>>>L[0:3]
‘Mary’,’Steve’,’Mike’
支持负数切片,如[-2:-1],为倒数第一个。
L[:10],前十个元素
L[:10:2],前十个元素,每隔一个取一个
[0,2,4,6,8]
L[::5]所有数,每五个取一个
字符串,tuple都可以进行切片
>>>‘ABCD’[:2]
‘AB’
迭代
用循环遍历的操作称为迭代,可迭代对象范围很广,包括dict
如
for key in dict:
for value in dict.value():
都可以
同时迭代key和value
for k,v in dict.items():
带索引迭代
>>>for i,value in enumerate(L):
多引用
>>>for i,j in [(1,2), (3,4), (5,6)]
列表生成器
如[1 4 9 16]
[x*x for x in range(1,5)]
[x*x for x in range(1,11) if x%2==0]
[4, 16, 36, 64, 100]
[m+n for m in ‘ABC’ for n in ‘CDE’]
遍历目录
import os
[d for d in os.listdir(‘.’)]
built-in函数
int() str() float() bool()
函数名可以赋值给变量,相当于alias
自定义函数
def function(x): if x<10: print('too low') else: print('good') return x+1
return用于返回函数,若无操作对象,则返回None,也可以返回多个值,tuple类型,也可以给多个变量
若在当前目录test.py中定义了function()函数,可以通过模块方式引用
>>>from test import function
无语句的缩进中可以用 pass过
if x>10:
pass
参数可以给予默认值
power(x,n=2)
n在调用时若不传递,则为2;不按顺序提供可选参数时,需要在调用时提供参数名。若默认参数指向可变对象,如list,则每次调用函数,均会使得可变对象发生改变。(传址)
def add_end(L=None):
if L is None:
L = []
L.append('END')
return L
L每次默认参数均为None,这样可以避免该问题。
可变参数标识,前缀*,可传入0-任意多参数
def sum_all(*numbers): sum=0 for num in numbers: sum=sum+num return sum
可以传入任意多个数字
如
sum_all(2,3,5,4)
若为list
l=[3,4,5,6,8]
sum_all(*l)
挂前缀传入
关键字参数,按字典进行组装
def test_student(name,gender,**kw) print('name:',name,'gender:',gender,'other:',kw)
调用时若传入其他参数
>>>test_student(‘Mike’,’Male’,city=’Beijing’)
name: Mike gender: Male other: {‘city’: ‘Beijing’}
直接传入dict则获得dict的拷贝(传值)
>>>test_student(‘Mike’,’Male’,**extra)
若通过*分隔,则定义了命名关键字参数
def test_student(name,gender,*,city)
命名关键字参数与位置参数不同,必须传入参数名
参数定义的顺序必须是:必选参数、默认参数、可变参数/命名关键字参数和关键字参数。
复习
*arg 可变参数,接受tuple
**kw 关键字参数,接受dict
递归超过一定栈帧长度会溢出,1000的阶乘是无法计算的。