python eval 函数和 json 对象的使用

news2024/11/25 0:35:32
  • 注意:
           1、python 不支持 switch 语句,所以多个条件判断分支的写法只能用 if
           2、elif 对应 Java 中的 else if
           3、python 编写的程序代码都是自上而下执行,除非代码控制,不然不会改变
           4、需要注意代码层级,如果层级不对会报错

文章目录

  • 一、eval 函数
  • 二、json 对象的基本应用
    • 2.1 Json 概述
    • 2.2 python 对 JSON 的基本操作
      • 2.2.1 python 对 JSON 操作的函数方法
  • 三、Python open() 函数(文件操作函数)


一、eval 函数


eval 函数作用 : 将字符串 str 当成有效的表达式来求值并返回计算结果
  • eval 函数语法 : eval(source[,locals[,]])->value
    • 函数参数

      • source: 一个Python表达式或函数compile()返回的代码对象

      • globals: 可选,必须是dictionary

      • locals: 可选.任意映射对象

  • 代码示例
    •     a = "1+2+3+4"
          print(eval(a))
      
      • 运行结果
        在这里插入图片描述

二、json 对象的基本应用

2.1 Json 概述


       JSON(JavaScript Object Notation, JS 对象标记) ,简写为JSON。是一种轻量级的数据交换格式,目前使用特别广泛。有着让人一目了然的数据格式,让我们在编写和阅读更加容易,也更易于机器解析。

       JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为了理想的数据交换语言。
  • JSON由两种结构组成:

    • 键值对的无序集合——对象(或者叫记录、结构、字典、哈希表、有键列表或关联数组等)
    • 值的有序列表——数组
  • json 的格式:

    • 对象是一个无序键值对的集合,以"{“开始,同时以”}“结束,键值对之间以”:“相隔,不同的键值对之间以”,"相隔,举例

      {
          "json1" : 1,
          "json2" : "string",
          "json3" :
                  {
                   "json3-1" : 1,
                   "json3-2" : "string"
                  }
      }
      

2.2 python 对 JSON 的基本操作

  • 在 python 中使用 JSON 需要先导入 JSON 模块 (也就是导包)

    • import json

2.2.1 python 对 JSON 操作的函数方法

  • json.dumops() : 将 Python 对象编码成 JSON 字符串
    • 代码示例:

      •   	# 引入 json
          	import json
          	
          	person = {'name':"姚青",'age':999,"sss":'yyy'}
          	m = json.dumps(person) 
          	print(m)
          	print(type(m))
        
        • 运行结果
          在这里插入图片描述
      • 注意:

        • 1、被转换的 python 对象需要符合 JSON 格式,否则报错
        • 2、python 对象中存在的中文字符会被转义

  • json.loads() : 将已编码的JSON字符串解码为Python对象
    • 代码示例:

      •   	import json
          	
          	date = {'name':'姚青','age':999}
          	print(type(date))
          	# 将Python对象编码成JSON字符串
          	a = json.dumps(date)
          	print(type(a))
          	# 将JSON字符串编码成Python对象
          	x = json.loads(a)
          	print(type(x))
          	
          	print(x)
        
        • 运行结果在这里插入图片描述

  • json.dump() : 将Python内置类型序列化为JSON对象后写入文件
    • 代码示例:

      •   	import json
          	
          	data = {
          	    	'nanbei':'haha',
          	        'a':[1,2,3,4],
          	        'b':(1,2,3)
          	        }
          	
          	# 在 E:\python_Project\python\ 路径下创建一个权限为 w+ 的文件
          	with open('E:\python_Project\python\json_test.txt','w+') as f:
          	
          	    # 将对象中的内容 打印到刚刚创建的 json_test.txt 文件中
          	    json.dump(data,f)
          	
          	print(data)
        
        • 运行结果:左侧目录出现,并且文件内出现打印内容
          在这里插入图片描述
          在这里插入图片描述

  • json.load() : 读取文件中JSON形式的字符串元素转化为Python类型
    • 代码示例:

      •   	import json
          	
          	data = { 'nanbei':'haha', 'a':[1,2,3,4], 'b':(1,2,3) }
          	
          	# 在项目根目录创建一个权限为 w+ 的文件
          	with open('json_test.txt','w+') as f:
          	    # 将对象中的内容 打印到刚刚创建的 json_test.txt 文件中
          	    json.dump(data,f)
          	
          	# 打开json_test.txt文件用于读写。文件指针将会放在文件的开头。
          	with open('json_test.txt','r+') as f:
          	
          	    # 将读取出的内容转换成 Python 类型
          	    ssr = json.load(f)
          	    print(ssr)
          	    print(type(ssr))
        
        • 运行结果
          在这里插入图片描述

          在这里插入图片描述


三、Python open() 函数(文件操作函数)

Python open() 函数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1847043.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mentor Xpedition怎么切换中英文界面

1、Mentor Xpedition的Layout界面,切换中英文的方法如下图; 切换英文设置,设置系统环境变量:MGC_PCB_LANGUAGEEnglish,重新打开软件即可切换成中文界面; 如果想要在切换成中文,把标量值改为Chi…

七连发吴谨言专访揭秘

七连发!吴谨言专访揭秘,薛芳菲魅力再升级在娱乐圈的繁星中,总有那么一些独特的光芒,她们用才华和魅力照亮前行的道路。近日,备受瞩目的“六公主”平台连续发布了七条关于吴谨言的专访,引发了广大网友的热烈…

Java——访问修饰符

一、访问修饰符是什么 Java中的访问修饰符用于控制类、接口、构造函数、方法和数据成员(字段)的可见性和访问级别。 Java提供了四种访问修饰符: 访问修饰符同一类内同一包内不同包的子类不同包的非子类适用对象public可见可见可见可见类、…

猫头虎分享:IPython的使用技巧整理

🐯 猫头虎分享:IPython的使用技巧整理 关于猫头虎 大家好,我是猫头虎,别名猫头虎博主,擅长的技术领域包括云原生、前端、后端、运维和AI。我的博客主要分享技术教程、bug解决思路、开发工具教程、前沿科技资讯、产品…

Pytorch Geometric(PyG)入门

PyG (PyTorch Geometric) 是建立在 PyTorch 基础上的一个库,用于轻松编写和训练图形神经网络 (GNN),适用于与结构化数据相关的各种应用。官方文档 Install PyG PyG适用于python3.8-3.12 一般使用场景:pip install torch_geometric 或conda …

ERP系统品牌大比拼:哪款产品更适合您的企业?

ERP集成了企业的销售、采购、生产、财务等各个环节,实现了资源的优化配置和信息的实时共享。然而,面对市场上琳琅满目的ERP系统产品,许多企业却陷入了选择的困境。 “哪款ERP系统更适合我的企业呢?”这或许是每一位企业决策者心中…

对象reids

对象 redis并没有直接使用之前学的数据结构来实现键值对数据库,而是基于这些数据结构创建了一个对象系统 这个对象系统包含了字符串对象、列表对象、哈希对象、集合对象、有序集合对象这五种,每个对象都用到了至少一种之前的数据结构 redis可以在执行命…

变电站智能巡检机器人解决方案

我国拥有庞大的电网体系,变电站数量众多,且近年来快速增长。然而目前我国变电站巡检方式仍以人工为主,存在效率低下、监控不全面等问题。变电站通常是一个封闭的系统空间,设备种类繁多、占地面积广阔,这对巡检人员实时…

【变量与常量】

1.基本程序 容器用来存放物品 声明变量 num 是个用来装整数的变量 ! 一 个整数变量需要 4 个 byte 存储, 计算机 在内存里为你分配了 4 个 byte 。int num;在代码中,声明一个变量。 常用变量类型 存储不同类型的数据需要声明不同类型的变…

PyTorch+CNN进行猫狗识别项目

任务介绍 数据结构为: big_data ├── train │ └── cat │ └── XXX.jpg(每个文件夹含若干张图像) │ └── dog │ └── XXX.jpg(每个文件夹含若干张图像) ├─…

守护清远采矿安全:可燃气体报警器检定工作的必要性与实施

清远市地处广东省北部,矿产资源丰富,包括金属矿产、非金属矿产等多种类型。采矿行业作为清远的重要产业之一,对当地经济发展起到了积极的推动作用。 然而,随着采矿业的快速发展,安全问题也逐渐凸显出来,尤…

基于PaddleDetection的电路板瑕疵检测

文章目录 1. 数据集与框架介绍2. 任务详情3. Cascade R-CNN简介4. 数据分析各类别样本的数量真实框的宽高比真实框在原图的大小比例 5. 相关配置数据增强数据集路径和评估指标学习率和优化器配置预训练CascadeRCNN 的配置日志记录 6. 训练预测7. 参考链接 1. 数据集与框架介绍 …

【Sa-Token|3】Sa-Token集成到现有微服务详细介绍

一、系统架构调整 用户中心:保持现有的用户登录、注册接口不变。多个项目:前后端分离,保持现有逻辑不变。网关服务:新增或配置网关服务,处理所有请求并进行 Token 校验和转发。统一 Token 管理:通过 Sa-Tok…

VC++学习(5)——文本编程,插入符的初始化,图形插入符;文字始终在窗口;字符输入功能,回车换行,删除,左键定位;字体修改,字体平滑变色

目录 引出第五讲 文本编程新建项目输入线的初始化根据字体大小定义插入符大小创建图形插入符文字始终保存在窗口中CString类通过字符串资源 路径层字符输入的功能键盘输入消息鼠标左键消息保存点击位置的坐标 输入回车键的处理删除文字的实现 字符输入功能代码字体的修改模拟卡…

js如何使得四舍五入的百分比之和为100%

在JavaScript中,如果你想要确保一组四舍五入后的百分比之和严格等于100%,那么你不能直接对每个百分比进行四舍五入,因为四舍五入会引入误差。但是,你可以采用一种策略,即先对所有的百分比进行常规的四舍五入&#xff0…

ffmpeg音视频开发从入门到精通——ffmpeg下载编译与安装

音视频领域学习ffmpeg的重要性 音视频领域中ffmpeg的广泛应用,包括直播、短视频、网络视频、实时互动和视频监控等领域。掌握FM和音视频技术可以获得更好的薪酬。 学习建议音视频学习建议与实战应用 音视频处理机制的学习,需要勤加练习,带…

WIFI7技术之超强MLO (Multi-Link Operation)技术

随着科技的飞速发展,无线网络已成为我们日常生活中不可或缺的一部分。从最初的WIFI71到现在的WIFI7,无线网络技术不断突破,为用户提供更快、更稳定的网络体验。本文将探讨下WIFI7的MLO(Multi-Link Operation,多链路操作…

【SpringBoot3.x】自定义开发通用SDK

1. 前言 相信大家学习SpringBoot到现在,使用Maven构建项目时,会在pom.xml文件中引入各种各样的依赖,那么我们如何将自己常用的一些工具类库进行封装成starter或者SDK供其他项目使用呢,本博客就会带着大家一步一步创建自定义的SDK…

力扣1793.好子数组的最大分数

力扣1793.好子数组的最大分数 对于每个数 求其左右两侧小于它高度的元素下标(单调栈) class Solution {public:int maximumScore(vector<int>& nums, int k) {int n nums.size();vector<int> left(n,-1);stack<int> st;for(int i0;i<n;i){while(!…

技术分享 | 基于 API 解析的 Python 爬虫

最近各大高校纷纷翻拍 Coincidence 抖肩舞&#xff0c;需要对这种流行现象进行数据分析。数据分析首先需要有数据&#xff0c;本文介绍了爬取 B 站相应视频的评论、弹幕、播放量、点赞数等数据的方法。爬虫有多种实现方法&#xff0c;大型的网络爬虫多基于成熟的爬虫框架&#…