Python 面试笔试题( web)基础篇

如何用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 实现事务的原理
  1. 批量操作在发送 EXEC 命令前被放入队列缓存
  2. 收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令都不会被执行
  3. 在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中

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主要是捕获并处理异常

  1. 捕获所有异常
  2. 采用traceback模块查看异常
  3. 采用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()) 给生成器发送结果,并把上下文切换到生成器函数

Django
正则表达式
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值