python eval 函数和 json 对象的使用

  • 注意:
           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 字符串
    • 代码示例:

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

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

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

      •   	import jsondate = {'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 jsondata = {'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 jsondata = { '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.rhkb.cn/news/356116.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UE5近战对抗系统Tutorial

文章目录 BP_Character 组合攻击Notify State 检测攻击BP_Character 攻击反馈BP_Character 生命系统BP_Character 死亡效果BP_Character 武器系统BP_Enemy 初始化和行为树 BP_Character 组合攻击 首先我们获取攻击动画,在这里使用的是 Easy Combo Buffering 的攻击…

nvidia历史版本驱动

打开官网 https://www.nvidia.cn windows GTX-1060为例 标准

海量数据处理利器 Roaring BitMap 原理介绍

作者:来自 vivo 互联网服务器团队- Zheng Rui 本文结合个人理解梳理了BitMap及Roaring BitMap的原理及使用,分别主要介绍了Roaring BitMap的存储方式及三种container类型及Java中Roaring BitMap相关API使用。 一、引言 在进行大数据开发时,…

全网首测!文生软件平台码上飞CodeFlying,效果炸裂!

前言: 提到AIGC,在大家的印象中应该就是让AI自己生成文字,图片等内容吧。随着今年Sora,Suno的爆火,将AIGC的应用场景又拉到了一个新的高度,为人们带来了更多的遐想。在未来,或许可以用AI来生成…

【2024德国工作】外国人在德国找工作是什么体验?

挺难的,德语应该是所有中国人的难点。大部分中国人进德国公司要么是做中国业务相关,要么是做技术领域的工程师。先讲讲人在中国怎么找德国的工作,顺便延申下,德国工作的真实体验,最后聊聊在今年的德国工作签证申请条件…

视频监控平台功能介绍:内部设备管理(rtsp、sdk、onvif、ehome/ISUP、主动注册协议等)

一、功能概述 AS-V1000视频平台是一套集成了用户设备权限管理、视音频监控、大容量存储、电子地图的系统平台软件。它结合了现代视频技术、网络通讯技术、计算机控制技术、流媒体传输技术的综合解决方案,为用户提供了强大的、灵活的组网和应用能力。 AS-V1000管理端…

蓝牙资讯|苹果iOS 18增加对AirPods Pro 2自适应音频的更多控制

苹果 iOS 18 系统将为 AirPods Pro 2 用户带来一项实用功能 —— 更精细的“自适应音频”控制。AirPods Pro 2 的“自适应音频”功能包含自适应降噪、个性化音量和对话增强等特性,可以根据周围环境自动调节声音和降噪效果。 当更新至最新测试版固件的 AirPods Pro 2…

EtherCAT扫盲,都是知识点

1. 什么是EtherCAT EtherCAT,全称Ethernet for Control Automation Technology,字面意思就是用于控制自动化技术的以太网。它是一种基于以太网的实时工业通信协议,简单说,就是让机器们通过网线互相聊天的高级方式。 EtherCAT 是最…

nodejs 某音douyin网页端搜索接口及x_bogus、a_bogus(包含完整源码)(2024-06-13)

前言 x_bogus或a_bogus算法大概是对数据、ua、时间戳、浏览器的几个指纹进行计算,拿到一个110位大数组,然后转字符,在头部再添加十二位随机字符,再进行魔改的base64加密。 问:抖音的x_bogus、a_bogus值有什么用&#x…

【自动驾驶】ROS小车系统

文章目录 小车组成轮式运动底盘的组成轮式运动底盘的分类轮式机器人的控制方式感知传感器ROS决策主控ROS介绍ROS的坐标系ROS的单位机器人电气连接变压模块运动底盘的电气连接ROS主控与传感器的电气连接ROS主控和STM32控制器两种控制器的功能运动底盘基本组成电池电机控制器与驱…

ServBay 下一代Web开发环境

ServBay是一个集成式、图形化的本地化Web开发环境。开发者通过ServBay几分钟就能部署一个本地化的开发环境。解决了Web开发者(比如PHP、Nodejs)、测试工程师、小型团队安装和维护开发测试环境的问题,同时可以快速的进行环境的升级以及维护。S…

五十三、openlayers官网示例Layer Spy解析——跟随鼠标透视望远镜效果、图层剪裁

官网demo地址: Layer Spy 这篇实现了鼠标跟随望远镜效果,鼠标移动时绘制一个圆形的剪裁区剪裁上层图层。 container.addEventListener("mousemove", function (event) {mousePosition map.getEventPixel(event);map.render();});container.a…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 任务安排问题(200分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 📎在线评测链接 https://app5938.acapp.acwing.com.cn/contest/2/problem/OD…

力扣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(!…

Qt做群控系统

群控系统顾名思义&#xff0c;一台设备控制多台机器。首先我们来创造下界面。我们通过QT UI设计界面。设计界面如下&#xff1a; 登录界面&#xff1a; 登录界面分为两种角色&#xff0c;一种是管理员&#xff0c;另一种是超级管理员。两种用户的主界面是不同的。通过选中记住…

LVS(Linux Virtual Server)集群,(1)NAT模式

Cluster&#xff1a;集群&#xff0c;为了解决某个特定问题将多台计算机组合起来形成的单个系统。 集群分为三种类型&#xff1a; LB(Load Balancing)&#xff0c;负载均衡&#xff0c;多个主机组成&#xff0c;每个主机只承担一部分访问请求 HA(High Availiablity)&#xf…

python pyautogui实现图片识别点击失败后重试

安装库 pip install Pillow pip install opencv-python confidence作用 confidence 参数是用于指定图像匹配的信度&#xff08;或置信度&#xff09;的&#xff0c;它表示图像匹配的准确程度。这个参数的值在 0 到 1 之间&#xff0c;数值越高表示匹配的要求越严格。 具体来…

L55--- 257.二叉树的所有路径(深搜)---Java版

1.题目描述 2.思路 &#xff08;1&#xff09;因为是求二叉树的所有路径 &#xff08;2&#xff09;然后是带固定格式的 所以我们要把每个节点的整数数值换成字符串数值 &#xff08;3&#xff09;首先先考虑根节点&#xff0c;也就是要满足节点不为空 返回递归的形式dfs(根节…

Qt坐标系统

目录 概述 渲染 逻辑表示 锯齿绘制 坐标转换 模拟时钟示例 Window-Viewport转换 概述 坐标系统由QPainter类控制。与QPaintDevice和QPaintEngine类一起&#xff0c;QPainter构成了Qt绘画系统的基础。QPainter用于执行绘制操作&#xff0c;QPaintDevice是一个二维空间的抽…

提升教学效率的全方位解决方案

在现代教育环境中&#xff0c;教学管理的复杂性与日俱增。如何高效管理教学活动、优化教师资源、提升教学质量&#xff0c;是每个教育机构面临的重要挑战。搭贝教务教学管理系统提供了一套全面的解决方案&#xff0c;涵盖了巡检、调课代课、生源登记、监考、外派、作业发布、听…