摘要:http协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网警公司设计了SSL协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS,简单来说,HTTPS协议是有HTTP+SSL协议构建的可以进行加密传输、身份认证的网
阅读全文
摘要:get和post有一个重大区别: get产生一个tcp数据包,post产生两个tcp数据包 对于get方式的请求: 浏览器会把HTTP header和data一并发送出去,服务器响应200(返回数据); 而对于post,浏览器先发送header,服务器响应100 continue,浏览器再发送dat
阅读全文
摘要:在浏览器上输入一个URL,按回车后,这个过程发生了什么? 1、首先,浏览器地址栏输入了URL,先解析URL,检测URL地址是否合法 2、浏览器先查看浏览器缓存-系统缓存-路由器缓存,如果缓存中有,会直接在屏幕中显示页面内容。 浏览器缓存:浏览器会记录DNS一段时间,因此,只是第一个地方解析DNS请求
阅读全文
摘要:a=[1,2,3,4]b=[3,4,5,6]jiaoji=[i for i in a if i in b]print("a和b的交集:%s" % jiaoji)bingji=list(set(a).union(set(b)))print("a和b的并集: %s" % bingji)chaji=set
阅读全文
摘要:lamdba好处:精简代码,省去了定义函数。
阅读全文
摘要:悲观锁:顾名思义,就是很悲观,总是假设最坏的情况。每次取数据的时候都认为其他线程会修改,所以每次在拿数据的时候都会上锁(行锁、表锁、读锁、写锁等),这样当其他线程想要访问数据时,都需要阻塞挂起。 如mysql每次查询、修改数据操作之前都会上锁,整个数据处理过程中,将数据处于锁定状态,自己更新数据后再
阅读全文
摘要:#正则表达式判断邮箱格式是否正确# 分析:[a-zA-Z0-9_]@[a-zA-Z0-9].[a-zA-Z]while 1: import re email=input("请输入邮箱:") # patten=re.compile("^[a-zA-Z0-9]@[a-zA-Z0-9].[a-zA-Z]$
阅读全文
摘要:#正在表达式匹配QQ号格式是否正确#QQ号假如长度为5-11位,纯为数字import rewhile 1: qq=input("请输入QQ号:") result=re.findall("^\d{5,11}$",qq) #以数字开头,用\d表示数字,^表示以数字开头,5-11位时用$表示结尾 if r
阅读全文
摘要:分析: 手机号格式,以1开头,第二位一般是3,5,7,8,总长度是11。
阅读全文
摘要:r=0.2393/360*7print( "期利率= %s" % r)# 借款本金:p# 期利率: r# 还款期数:Mdef fun(p,r,M): v = p * (r * (1 + r) ** M) / (((1 + r) ** M) - 1) return vsum=fun(2000,r,5)
阅读全文
摘要:传值:在C++中,传值就是把一个参数的值给这个函数,其中的更改不会影响原来的值。 传址:即传引用,直接把这个参数的内存地址传递进去,直接去这个内存地址上进行修改。 但是这些在Python中都没有,Python个只有可变对象和不可变对象。 Python中的传参都是传递对象的引用。 不可变对象相当于传值
阅读全文
摘要:统计该字符串内每个单词出现的次数:str="safadsfasgrhdyerywrefdv"分析:使用collections里的Counter方法即可:Counter(str)
阅读全文
摘要:对str="sadfasfasfashghf"去重,并从小到大排序 分析: 先使用set去重,再转换成list调用sort方法排序,再使用str.join方法转换成str str="sadfasfasfashghf" se=set(str) l=list(se) l.sort() str2="" s
阅读全文
摘要:*args和**kwargs表示可变长度的参数。 *args是元组类型: **kwargs是字典类型: 注意:arg、*args、**kwargs三个参数的位置必须是固定的,否则会报错。
阅读全文
摘要:join()方法用于将序列中的元素以指定的字符串连接成一个新的字符串,如 split()函数通过指定分隔符对字符串进行切片,如果参数第二个参数num有指定值,则分割成num+1个子字符串,返回的是list
阅读全文
摘要:可以用random中的shuffle()函数,该函数将序列中的所有元素随机排序
阅读全文
摘要:如果只是引用全局变量,不在函数中修改它的值的话,不需要加global关键字,直接引用即可: 如果需要在函数中修改的话,就涉及到歧义问题。如下可以看到,并没有修改成功 在函数内部加上global关键字修饰a,再修改a的值。可以看到,修改成功了: 总结:引用全局变量,不需要global关键字。修改全局变
阅读全文
摘要:正则表达式帮助你方便的检查一个字符串是否与某种模式匹配。 re模块使Python语言拥有全部的正则表达式功能。 re.match尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。 re.search方法扫描整个字符串并返回一个成功的匹配。 re.matc
阅读全文
摘要:Python连接mysql数据库: 创建数据库: 插入数据: 查询数据 更新数据: 删除数据:
阅读全文
摘要:python迭代器是访问集合元素的一种方式,迭代器是一个可以记住遍历的位置的对象,迭代器对象从集合的第一个元素开始访问,直到所有元素被访问完毕,迭代器只能往前不能后退,有两个基本方法:iter()和next() 字符串、列表或元组对象都可以用于创建迭代器。 迭代器对象可使用常规for语句进行遍历:
阅读全文
摘要:错误(Syntax Errors):语法错误,也就是解析时错误,当我们写出不符合python语法的代码时,在解析时会报SyntaxError,并且会显示出出错的那一行。 异常(Exception):语句或表达式在语法上是正确的,但在运行时可能发生错误,运行时错误叫做异常。异常并不是致命的问题,因为我
阅读全文
摘要:python有五种异常处理机制,分别是 1、默认异常处理器。 如果我们没有对异常进行任何预防,那么程序在执行过程中发生异常就会中断程序,调用python默认的异常处理器,并在终端输出异常信息,如图所示,第二行代码发生异常,第三行代码不会被执行 2、try....except.... 程序执行到第2句
阅读全文
摘要:grep -E 'at |Exception|exception|Error|error|Caused by' test.log
阅读全文
摘要:有个需求,把列表[0,1,2,3,4,5,6,7,8,9],要求你把列表里面的每个值加1。 什么是生成器? 通过列表生成式,我们可以直接创建一个列表,但是受到内存的限制,列表容量是有限的,而且创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元
阅读全文
摘要:python 可通过 if 语句来实现三目运算符的功能,因此可以近似地把这种if语句当成三目运算符。作为三目运算符的 if 语句的语法格式如下: True_statements if expression else False_statements 三目运算符的规则是:先对逻辑表达式 express
阅读全文
摘要:a = [1, 2, 3, 4, 5, 6, 7, 8]l=[i**2 for i in a if i**2>=16] #列表推导式+if判断print(l)print(type(l))b={1:1,2:2,3:3}d={i**2 for i in b }print(d) #输出的是一个集合print(type(d))c=(1,2,3,4,5) #元组...
阅读全文
摘要:import randomprint(random.choice(["135"])+"".join(random.choice("1234567890")for i in range(8)))
阅读全文
摘要:UPDATE user_auth SET id_no=RIGHT(user_id, 18) WHERE login_pwd='e10adc3949ba59abbe56e057f20f883e';UPDATE user_auth_0 SET id_no=RIGHT(user_id, 18) WHERE
阅读全文