如何用python来进行查询和替换一个文本字符串?
https://blog.csdn.net/yinglang19941010/article/details/52076995?utm_source=blogxgwz2
import re
re.match(pat, s)
re.search(pat, s)
re.sub(pat, newpat, s)
list = ‘’
list.find()
list.replace()
https://blog.csdn.net/u011860731/article/details/46956953?utm_source=blogxgwz0
python生成随机数,随机选取0到100之间的偶数
import random
random.rangint(0,99) #随机生成0-98之间的整数
random.randrange(0,101,2) #随机生成0-100间的整数
参考链接:https://www.jb51.net/article/45653.htm
redis的事务?用事务模拟原子+1操作?
redis事务:一次执行多条命令,本质是一组命令的集合,一个事务中所有的命令将被序列化,即按顺序执行而不会被其他命令插入
模拟原子+1操作:
1.Redis事务通过MULTI命令开始,这条命令总是返回OK
2.然后用户可以执行多条指令,redis不会马上执行这些指令,还只是放入到队列中
3.当执行exec指令时,所有的指令执行
4.调用discard指令,将会flush事务队列,并且退出事务
redis 实现事务的原理
- 批量操作在发送 EXEC 命令前被放入队列缓存
- 收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令都不会被执行
- 在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中
redis事务参考:
https://blog.csdn.net/candy_rainbow/article/details/52810440?utm_source=blogxgwz9
https://blog.csdn.net/u012313890/article/details/52811027?utm_source=blogxgwz5
https://blog.csdn.net/lihao21/article/details/72356313?utm_source=blogxgwz8
下面代码会输出什么:
def f(x, l=[]):
for i in range(x):
l.append(i*i)
print(l)
f(2)f(3, [3,2,1])f(3) #SyntaxError: invalid syntax
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序,请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数
https://blog.csdn.net/weixin_38339143/article/details/79794245
class Solution:
#array二维数组
def find(self, target, array):
row = 0
maxrow = len(array) - 1
col = len(array[0]) - 1
while col >= 0 and row <= maxrow:
if array[row][col] == target:
return True
elif target > array[row][col]:
row += 1
else:
target < array[row][col]
col -= 1
return False
if __name__ == "__main__":
solution = Solution()
array = [[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]]
target = [3]
solution.find(array, target)
后台接口测试插件:
postman&http-request
Django页面实现for循环,循环内输出当前循环的执行次数或计数
{% for page in pages %}
{{ forloop.counter }}
{% endfor %}
Django模板for循环:https://jingyan.baidu.com/article/4b07be3c7cc53348b380f3d1.html
请用python写一段代码实现alist去重复,然后随机其中一个元素。
https://blog.csdn.net/melody_1314/article/details/7298448
alist = [1, 1, 2, 3, 4, 5]
b={}
b = b.fromkeys(alist)
alist = list(b.keys())
print(alist)
c = list(set(alist))
print(c)
方法一:利用map的fromkeys来自动过滤重复值,map是基于hash的,大数组运算效率高
方法二:用set(),set是定义集合的,无序,非重复
集合{1,2,3,4}
列表[1,2,3,4]
元组(1,)
字典{1:‘hyh’, 2:‘zyh’}
args,kwargs的作用是什么?如何使用?
https://www.2cto.com/kf/201709/677866.html
https://www.sohu.com/a/113217687_218897
*args和kwargs是Python中经常使用到的函数参数,代表着函数的参数数目是可变的
args: 传递一个元组(tuple)
kwargs:传递一个字典(dict)
注意:在函数参数同时存在args, **kwargs时,args的使用必须要在kwargs的前面,否则编译器会报错
介绍以下Python中except的用法以及作用
https://blog.csdn.net/u014717398/article/details/63252886?utm_source=blogxgwz1
except主要是捕获并处理异常
- 捕获所有异常
- 采用traceback模块查看异常
- 采用sys模块回溯最后的异常
常用异常名:
异常名 描述
AttributeError 调用不存在的方法引发的异常
EOFError 遇到文件末尾引发的异常
ImportError 导入模块出错引发的异常
IndexError 列表越界引发的异常
IOError I/O操作引发的异常,如打开文件出错等
KeyError 使用字典中不存在的关键字引发的异常
NameError 使用不存在的变量名引发的异常
TabError 语句块缩进不正确引发的异常
ValueError 搜索列表中不存在的值引发的异常
ZeroDivisionError 除数为零引发的异常
g = lambda x,y=4: x*y
g(3) #12
Python中是非法的
x = (y=z+1)
for i in range(2):
print(i)
for i in range(4,6):
print(i)
linux级联复制:cp /home/test/* /var/ -r
netstat命令显示本机正在运行的tcp和udp端口
netstat -an |grep tcp udp
多线程、并发底层??
https://blog.csdn.net/daiyu__zz/article/details/81912018
协程
生成器
协程的核心就是上下文切换,在Python中最简单的实现是用生成器
生成器有个方法 send() 可以从调用者向生成器函数发送数据,这样就可以在生成器中 yield future 表示要等待 future 的结果,然后把上下文切换到调用者,等 future 结果准备好后调用者再 send(future.result()) 给生成器发送结果,并把上下文切换到生成器函数