首页 前端知识 Python中json.load()和json.loads()方法有什么区别?傻傻分不清。

Python中json.load()和json.loads()方法有什么区别?傻傻分不清。

2024-08-08 23:08:39 前端知识 前端哥 265 366 我要收藏

 🔥 交流讨论:欢迎加入我们一起学习!

🔥 资源分享耗时200+小时精选的「软件测试」资料包

🔥 教程推荐:火遍全网的《软件测试》教程  

📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!

目录

  • 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+条件。在条件不改变且条件一直为真时,是死循环。

 
  1. num=1

  2. sum=0

  3. while num<=100:

  4.     if num%2!=0:

  5.         sum=sum+num

  6. print(sum)

for死循环:

for循环主要是用来做可迭代数据的迭代操作的,可以通过生成器的方式直接实现死循环。

 
  1. def generator():

  2.     index=0

  3.     while True:

  4.         yield index

  5.         index +=1

  6. for x in generator():

  7.     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():

 
  1. import  json

  2. a={'value':'000','type':'rgb'}

  3. b=json.loads(json.dumps(a))

  4. print(a)

json.load():

 
  1. import  json

  2. c=json.load(open('/Users/llq/PycharmProjects/pythonProject/study/lili/package.json'))

  3. print(c)

package.json

5.用Python找出列表中出现次数最多的数据?

 
  1. a=[1,2,33,4,4,4,'a','a','a','a']

  2. print(max(set(a),key=a.count))


注:文章中的链接是本人整理过来的,皆来自网络。链接中的文章版权皆归原作者所有。除标明“图片来自网络”的图片,其它图片皆为小编本人所画。计算机知识都一样,文章是小编整理的。如有雷同,纯属巧合。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

最后我邀请你进入我们的【软件测试学习交流群:785128166】, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路

作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:程序员二黑】自提!

转载请注明出处或者链接地址:https://www.qianduange.cn//article/15112.html
评论
发布的文章

Jquery (第三章笔记)

2024-08-18 00:08:37

jquery实现tab切换简单好用

2024-08-18 00:08:35

jQuery Cookie 插件使用教程

2024-08-14 22:08:01

jQuery的DOM操作

2024-08-18 00:08:21

echarts显示中国地图

2024-08-18 00:08:11

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!