python一些基础

list、tuple、dict、set

共性:都是可以迭代的。

名称可变性可重复性是否有序其他特点
list可变,可以修改元素[1,2]值可以重复有序相比于dict拥有占用内存小的特点,常用于堆栈的处理
set可以修改元素(1,2)值不可以重复无序常用于判断值是否存在
dict键不可变,值可变{1:1,2:2}键不可以重复,值可以重复无序符合内存换速度思想,常用于查找
tuple不可变(意思是tuple的每个元素的指向永远不变),但元素本身可以变化,例如元素为list时(1,2)值可以重复有序本身不可变,但相对比较稳定

四中类型的常用内置方法


生成器

第一种生成器创建方式:把列表的方括号,换成圆括号

g = (i*2 for i in range(5))
print(next(g))
print(next(g))
print(next(g))

第二种生成器创建方式:在函数里加yield

def fib(num):
	a = 0
	b = 1
	i = 0
	while i < num:
		a,b = b,a+b
		yield b
		i += 1
fuc = fib(10)
print(next(fuc))
print(next(fuc))

装饰器

装饰器就是一个闭包

import time
def show_time(func):
    def inner(*args,**kwargs):
        start = time.time()
        func(*args,**kwargs)
        print(time.time() - start)
    return inner

@show_time
def work(num):
    for i in range(num):
        print(i ** 2)

work(1000)

多线程

函数方式:

import threading
import time

def timeget(id):
    num = 0
    while num < 5:
        num += 1
        #time.sleep(1)
        print("id:{}--------num:{}".format(id,num))

for i in range(5):
    t = threading.Thread(target=timeget,args=(i,))
    # 设置为守护线程,over总会在所有线程运行结束后才打印出来
    # 如果不设置的话,over不一定会等待这些线程执行完以后才打印,可能在线程没执行完的时候就打印了
    t.setDaemon(True) 
    t.start()

print('over')

requests的请求

get请求

import requests
headers = {
	"User-Agent":user_agent,
	"Cookie":cookie,
	"Referer":referer
}
data = {
	"start":1,
	"end":10
}
requests.get(url = url,params = data,headers = headers)
requests.post(url = url,data = data,headers = headers)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值