1.python基础
1.1 dict
问:有这样一个需求,为字典添加一个键,如果已存在则不做任何操作;如果不存在,添加后需要设置默认值。请使用字典自带的一个方法完成此操作。
答:setdefault
方法可完成此操作。示例如下:
mydict = {"1":"小闫", "2":"小良"} mydict.setdefault('1', 'xx') print(mydict) # 结果为 {'1': '小闫', '2': '小良'} mydict.setdefault('3', 'xx') print(mydict) # 结果为 {'1': '小闫', '2': '小良', '3': 'xx'}
1.2 str
问:请问字符串的方法 join
与操作符 +
,哪一个效率高?
答:如果需要拼接大量的字符串,如几万个 ,那么 join
类型的效率要远高于操作符 +
;如果仅仅是一两个字符串拼接的话,操作符会更加实用。下面从源码的角度去解析一下原因:更多精彩文章请关注公众号『Pythonnote』或者『全栈技术精选』
字符串底层是由 C
语言中 PyStringObject
对象所实现,此对象不可变,这就导致了如果要使用操作符 +
,就需要不断的重新申请地址空间去存放拼接后的字符串,在数量庞大的基础上,效率可想而知多么低。join
就不一样了,它是对列表等可迭代对象进行操作,因为操作对象是可变的,因此只需申请一次内存即可。所以结论就是 join
类型效率要高的多。
2.Git
1.1 分支
1.查看当前所属分支
git branch
2.删除分支
# 删除本地分支 git branch -d [分支名称] # 删除远程分支 git push origin --delete [分支名称]
3.MVT
问:谈一谈你对 MVT
模式的了解?
答:首先介绍一下这三个字母所代表的的内容,M
是 Model
代表模型类,与数据库进行交互;V
是 View
代表视图,是对请求进行处理并与数据库模板等进行交互;T
是 Template
代表模板,是负责填充数据产生前端页面。其大体流程为:客户端发起一个请求,视图接收后,根据内容进行处理,过程中如果涉及到数据库,会进行查询保存等操作并将结果返回给视图,然后模板进行填充并返回给视图一个 html
页面,最后视图将页面返回给客户端进行渲染展示。