#
def sm(a,b): a = a[::-1] print(a) b.extend('45') a = 'abc' b = [1,2,'3'] sm(a,b) # cba print(a,b) # abc [1,2,'3','4','5'] class P(object): x = 1 class C1(P): pass class C2(P): pass print(P.x,C1.x,C2.x) # 1 1 1 C1.x = 3 print(P.x,C1.x,C2.x) # 1 3 1 P.x = 'a' print(P.x,C1.x,C2.x) # a 3 a
innodb 支持事务 行级锁 聚集索引 支持外键 myisam 不支持事务行级锁外键 非聚集索引 表级锁 memory 只能在内存中存储数据 速度快 断电数据消失 blackhole 不存储任何数据,只是有一个表结构 用于大数据量背景下做数据分流用的 Accept Accept-Encoding Cache-Control Connection Host User-Agent 状态码: 服务器告诉客户端,发生了什么事 在http协议中状态码出现在response的第一行 返回一个3位数字 和状态信息 状态码为了便于程序进行处理,而状态信息是为了让用户能清楚的明白意思 1xx 消息 代表请求已被接受,需要继续处理 2xx 成功 代表请求已成功被服务器接收、理解、并接受 3xx 重定向 这类状态码代表需要客户端采取进一步的操作才能完成请求 Location 4xx 请求错误 这类的状态码代表了客户端看起来可能发生了错误,妨碍了服务器的处理 5xx 服务器错误 这类状态码代表了服务器在处理请求的过程中有错误或者异常状态发生 1 浏览器地址栏上输url,按回车 2 浏览器查找当前url是否缓存,并比较缓存是否过期 3 DNS解析url对应的ip 4 根据ip建立TCP连接(3次握手) 5 http发起请求 6 服务器处理请求,浏览器接收http响应 7 渲染页面,构建dom树 8 关闭tcp连接(4次挥手)
import requests,os,re from urllib import request from bs4 import BeautifulSoup from lxml import etree 指定url 发请求 获取响应数据 解析数据 持久化存储 IP 简历自己的IP渠道 购买服务商的代理Ip def c(): fs = [] for i in range(1,4): #1,2,3 def f(j=i): # return j*i #单i 333 单j 1 2 3 fs.append(f) return fs print(c()) for f in c(): # [. .. ...] print(f()) # 3 6 9