Python中json.load()和json.loads()方法有什么区别?傻傻分不清。
目录
-
1.从代码层面说,程序为什么会崩溃
-
1)读取未赋值的变量
-
2)函数栈溢出
-
3)数组访问越界
-
4)指针的目标对象不可用
-
5)参数错误
-
6)ClassNotFoundException异常
-
7)未捕获的异常
-
8)内存泄漏
-
9)服务器宕机了
-
-
2.while死循环和for死循环的区别
-
3.集合的特点是什么
-
4.Python中
json.load()
和json.loads()
方法有什么区别 -
5.用Python找出列表中出现次数最多的数据
1.从代码层面说,程序为什么会崩溃?
1)读取未赋值的变量
没有给变量初始化和赋值,导致该变量的值为脏值。
2)函数栈溢出
函数栈溢出一般是两种情况引起的:
1.定义了一个体积太大的局部变量或者参数,参数和局部变量一般都是存储在栈中的,但是栈所占的内存空间很小,在32位下只占有8M的空间,因此如果没有使用malloc和new来在堆上创建内存空间的话,栈溢出就会很容易发生。
2.函数的嵌套调用的层次太深了,就像无穷递归和无穷的循环调用一样。
3)数组访问越界
4)指针的目标对象不可用
指针所指向的对象要正常使用,它就必须是一个合法的、有效的,可以访问的对象,像当指针为空指针或野指针时,你再使用它,程序就会立马崩溃。
而出现空指针或者野指针,一般都是下面几种操作导致的:
1.指针未赋值
2.free/delete释放了该对象
3.不恰当的指针强制类型转换
5)参数错误
一般为了保证参数合法,都会设置断言来保证只有参数合法的情况下,程序才可以正常运行。因此此类错误一般都是触发了断言导致的。
6)ClassNotFoundException异常
是因为在指定的存放class文件夹下未找到相关的class文件导致。
1.有可能是编译问题,有可能是运行时的硬件环境导致的。相同的代码,在本地运行没问题,在服务器上就找不到类。后来改了下扫描的路径就可以了。
2.全类名没写对,或者没导入这个类。
3.纯粹的代码或者依赖管理问题。
补充:
首先,Java的错误在程序角度分为exception和error。
error:是代码错误,编译不通过,运行不起来。比如变量命名不规范,public类名和文件名不一致等。
exception:分为runtime exception和非runtime exception。
runtime exception:运行时异常,是程序内部的异常,如数组下标越界,空指针,类转换异常等。
非runtime exception:非运行时异常,一般是外界导致的异常,如IO e,class not found e等。
7)未捕获的异常
8)内存泄漏
9)服务器宕机了
可以凡尔赛一点回答,肯定就是代码写得不符合规范或者机器撑不住了。
机器很少硬件故障。而系统是程序,所以机器有问题,大概率是程序问题,导致各种异常。
以上仅仅是应付面试而已,遇到真实情况,正确做法是:
应该截图报错的具体提示,解决具体问题。因为报错的问题可能是千奇百怪的,知道bug是什么,什么原因导致的,最终要回归到解决问题上的。
2.while死循环和for死循环的区别?
while死循环:
while+条件。在条件不改变且条件一直为真时,是死循环。
num=1
sum=0
while num<=100:
if num%2!=0:
sum=sum+num
print(sum)
for死循环:
for循环主要是用来做可迭代数据的迭代操作的,可以通过生成器的方式直接实现死循环。
def generator():
index=0
while True:
yield index
index +=1
for x in generator():
print("这是一个死循环:",x)
3.集合的特点是什么?
集合里所有的元素都是唯一的,它具有唯一性。集合直接帮我们把重复的数据清理掉。是无序的,速度快。
参考文章:集合
4.Python中json.load()
和json.loads()
方法有什么区别?
json.load()
方法是从json文件读取json,而json.loads()
方法是直接读取json,两者都是将字符串json转换为字典。
参考链接:https://mbd.baidu.com/ma/s/bp6zOdhV
json.dumps()
和json.loads()
是json格式处理函数(可以这么理解,json是字符串)。
json.dumps()
函数是将一个Python数据类型列表进行json格式的编码(可以这么理解,json.dumps()
函数是将字典转化为字符串)。
json.loads():
import json
a={'value':'000','type':'rgb'}
b=json.loads(json.dumps(a))
print(a)
json.load():
import json
c=json.load(open('/Users/llq/PycharmProjects/pythonProject/study/lili/package.json'))
print(c)
package.json
5.用Python找出列表中出现次数最多的数据?
a=[1,2,33,4,4,4,'a','a','a','a']
print(max(set(a),key=a.count))
注:文章中的链接是本人整理过来的,皆来自网络。链接中的文章版权皆归原作者所有。除标明“图片来自网络”的图片,其它图片皆为小编本人所画。计算机知识都一样,文章是小编整理的。如有雷同,纯属巧合。
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
END绵薄之力
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!
加入我的软件测试交流群:110685036免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)
软件测试面试小程序
被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!
涵盖以下这些面试题板块:
1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux
6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础
获取方式 :
更多推荐
所有评论(0)