首页 >> 大全

(2)包名,模块名,函数名,方法名全部使用小写,单词之间用下

2023-06-20 大全 40 作者:考证青年

5.命名:

(1)除非在 函数中,否则不要用单字母的变量名。

(2)包名,模块名,函数名,方法名全部使用小写,单词之间用下划线连接。

(3)全局变量尽量使用大写,一组同类型的全局变量要加统一的前缀,单词用下划线连接。和**的用法:

def foo(*args,**):

pass

def foo(x,y,z,a,b):print(x)print(y)print(z)lst =[1, 2, 3]dic ={'a': 22, 'b': 77}foo(*lst, **dic  

的赋值和引用

(1)==, is: ==判断的是值,is判断的是内存地址(即对象的id0

(2)小整数对象:[-5,256]

二. 最简装饰器

三.多进程

def deco(func): def wrap(*args, **kwargs): return func(*args, **kwargs)return wrap@deco def foo(a, b):return a ** b

1.函数闭包:引用了自由变量的函数即是一个闭包。

def foo():l = []def bar(i):l.append(i)return lreturn bar
f1 = foo()
f2 = foo()

三. 练习题

装饰器练习题

(1)登陆失败

def deco(func):print(func)print('ddd')def warp():print('登陆失败')return func()return warp
@deco
def A():print('ww')
@deco
def B():print('www')
A()
B()

2.输入两个数字,装时期的作用是求这两个数字的和

本函数的作用是打印这两个数字的和

def deco(func):def warp(n,n1):sum_=n+n1return func(sum_,n1)return warp
@deco
def A(name,name2):print(name)
A(10,20)

3.在使用装饰器的情况下,无论你输入什么验证码都返回验证码错误,如果不使用,该正确就打印正确。

import random
def deco2(parms):def deco (func):def warp(*args,**kwargs):if parms:kwargs['n1'] =-1return func(*args,**kwargs)return warpreturn 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(n1=num,n2=num2)

4.多进程题

import multiprocessing
import os
def A(name):print(os.getpid())print(name)
if __name__ =="__main__":p1 = multiprocessing.Process(target=A,args=('Joker',))p2 = multiprocessing.Process(target=A,args=('Joker1',))p1.start()p2.start()p1.join()p2.join()print('ok')

5.检测某个时间段内(5s)ip访问的次数,如果ip的访问次数超过10次,则返回404

import time
TIME1 = 0
TIME2 = 0
def check_ip(func):def warp(*args,**kwargs):if round(abs(TIME2 - TIME1),3)<0.5:print('404')else:return func(*args,**kwargs)return warp
@check_ip
def A(ip):print('进入网页成功')
#模拟请求
for i in range(50):ip ='127.0.0.1'TIME1 =time.time()A(ip)TIME2 =time.time()time.sleep(1)

import json
import multiprocessing
import requests
def text (path):list1 = []list2 = []with open(path,mode='r') as f:res = f.readlines()[0].strip('\n').split('}')for json_ in res[:-1]:_json = json_ + '}'_json = json.loads(_json)song_play_url = _json['song_play_url']if song_play_url is not None:list1.append(song_play_url)song_name = _json['song_name']list2.append(song_name)return list1 , list2
song_url,song_name = text('F:\\vscode\\top_500.txt')def A(song_url,song_name):i = -1for path in song_url:i += 1response = requests.get(path)mp3_ = response.contentwith open('D:\\music\\wp\\'+song_name[i]+'.mp3',mode='wb') as f:f.write(mp3_)
if __name__ == "__main__":x = int(len(song_url)/2)p1 = multiprocessing.Process(target = A,args=(song_url[0:x],song_name[0:x]))p2 = multiprocessing.Process(target = A,args=(song_url[x:],song_name[x:]))p1.start()p2.start()p1.join()p2.join()

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了