1.PEP8编码规范,以及开发的一些惯例和建议
字符串拼接尽量使用join方式:速度快,内存消耗小
2.*args返回的是元组,**kwargs返回的是字典
3.python的赋值和引用
4.迭代器,生成器
生成器是一种特殊的迭代器
5.闭包
def foo():
l = []
def bar(i):
l.append(i)
return l
return bar
if __name__ == "__main__":
f1 = foo()
f2 = foo()
print(f1(1))
print(f2(2))
print(f2(3))
6.装饰器
def deco(func):
print(func)
def warp():
print('hahah')
return warp
@deco
def A():
print('lili')
A()
例子1:输入俩个数字,装饰器的作用是求这俩个数字的和,本函数的作用是打印这俩个数字的和
def deco(func):
def warp(n,n1):
sum = n+n1
return func(sum,n1)
return warp
@deco
def A(name,name2):
print(name)
A(10,20)
例子2:在使用装饰器的情况下,无论你输入什么验证码都返回验证码错误,如果不使用,该正确就打印正确
import random
def deco2(parms):
def deco(func):
def warp(n1,n2):
if parms:
n1 = -1
return func(n1,n2)
return warp
return deco
@deco2(True)
def A(n1,n2):
if n1 == n2:
print('验证码正确')
else:
print('验证码错误')
num = random.randrange(1000,9999)
print('验证码是:%d'%num)
num2 = int(input('>>'))
A(num,num2)
例子3:检测某个时间段5秒内的ip访问的次数,如果ip的访问次数超过10次,则返回404
7.进程
进程就是操作系统中执行的一个程序,操作系统以进程为单位分配存储空间,每个进程都有自己的地址空间、数据栈以及其他用于跟踪进程执行的辅助数据,操作系统管理所有进程的执行,为它们合理的分配资源
import multiprocessing
def A():
print('hello')
if __name__ =="__main__":
#创建进程
p = multiprocessing.Process(target=A,args=('joker'))
p.start() #启动进程
p.join()
print('over')