Python基础详解四
目录
一,Json解析
二,pyecharts模块
三,类和对象
四,类型注解
一,Json解析
字典转换为JSON:
import jsondata =[{"name":"袁震","age":20},{"name":"张三","age":21},{"name":"李四","age":22}]
str =json.dumps(data)
print(str)

将乱码转换为中文:
import jsondata =[{"name":"袁震","age":20},{"name":"张三","age":21},{"name":"李四","age":22}]
str =json.dumps(data,ensure_ascii=False)
print(str)

将Json字符串转换为列表:
import jsonjsonData ='[{"name":"袁震","age":20},{"name":"张三","age":21},{"name":"李四","age":22}]'
listData =json.loads(jsonData)
print("类型:",type(listData))
print(listData)

二,pyecharts模块
官方网站:https://pyecharts.org/#/zh-cn/
画廊网站:https://gallery.pyecharts.org/
pyecharts的安装:

基础折线图:
from pyecharts.charts import LinelistX =["语文","数学","英语","物理","化学","生物"]
listY =[100,120,130,80,90,70]
line =Line()
line.add_xaxis(listX)
line.add_yaxis("考试成绩",listY)
line.render()

设置全局配置:
from pyecharts.charts import Line
from pyecharts.options import TitleOpts,LegendOpts,ToolboxOpts,VisualMapOpts
listX =["语文","数学","英语","物理","化学","生物"]
listY =[100,120,130,80,90,70]
line =Line()
line.add_xaxis(listX)
line.add_yaxis("考试成绩",listY)
line.set_global_opts(title_opts=TitleOpts(title="袁震的成绩",pos_left="center",pos_bottom="1%"),#控制标题内容和位置legend_opts=LegendOpts(type_='plain',selected_mode=True,is_show=True,pos_left=None,pos_right=None,pos_top=None,pos_bottom=None,orient='horizontal',align='auto',padding=5,item_gap=10,item_width=25,item_height=14,inactive_color='#ccc',textstyle_opts=None,legend_icon=None),#图例toolbox_opts=ToolboxOpts(is_show=True),#工具箱visualmap_opts=VisualMapOpts(is_show=True)#视觉映射
)
line.render()

三,类和对象
创建一个类:
class Person:name:Noneage:Noneaddress:None
创建一个对象:
person=Person()
person.name ="袁震"
person.age=20
person.address="淄博"print(person.name)
print(person.age)
print(person.address)

定义一个成员方法:
class Person:name:Noneage:Noneaddress:Nonedef goHome(self,address):print(f"我要回家了,原来的地址是{self.address},新的地址是{address}")person=Person()
person.name ="袁震"
person.age=20
person.address="淄川区"person.goHome("张店区")

selt相当于java中的this
构造方法:
class Person:name:Noneage:Noneaddress:Nonedef __init__(self,name,age,address):self.name=nameself.age=ageself.address=addressdef goHome(self,address):print(f"我要回家了,原来的地址是{self.address},新的地址是{address}")person=Person("袁震",20,"淄川区")
print(person.name)
print(person.age)
print(person.address)
person.goHome("张店区")

私有成员和方法:
class Person:name:Noneage:Noneaddress:None__sex:Nonedef __init__(self,name,age,address):self.name=nameself.age=ageself.address=addressdef goHome(self,address):print(f"我要回家了,原来的地址是{self.address},新的地址是{address}")def __getSex(self):print(f"我的性别是{self.__sex}")
单继承:
class Person:name:Noneage:Noneaddress:None__sex:Nonedef __init__(self,name,age,address):self.name=nameself.age=ageself.address=addressdef goHome(self,address):print(f"我要回家了,原来的地址是{self.address},新的地址是{address}")def __getSex(self):print(f"我的性别是{self.__sex}")class YuanZhen(Person):weight:Nonedef getWeight(self):print(f"{self.name}的体重是{self.weight}")yuanzhen =YuanZhen("袁震",20,"淄博")
yuanzhen.weight="150斤"
yuanzhen.getWeight()

多继承:
class Person:name:Noneage:Noneaddress:None__sex:Nonedef __init__(self,name,age,address):self.name=nameself.age=ageself.address=addressdef goHome(self,address):print(f"我要回家了,原来的地址是{self.address},新的地址是{address}")def __getSex(self):print(f"我的性别是{self.__sex}")class Worker:def doWork(self):print("工作")
class YuanZhen(Person,Worker):weight:Nonedef getWeight(self):print(f"{self.name}的体重是{self.weight}")yuanzhen =YuanZhen("袁震",20,"淄博")
yuanzhen.weight="150斤"
yuanzhen.getWeight()
yuanzhen.doWork()

当类里面不写东西时,写 pass
调用父类成员:
class YuanZhen(Person,Worker):weight:Nonedef getWeight(self):super().goHome("张店")print(f"{self.name}的体重是{self.weight}")
四,类型注解

相关文章:
Python基础详解四
目录 一,Json解析 二,pyecharts模块 三,类和对象 四,类型注解 一,Json解析 字典转换为JSON: import jsondata [{"name":"袁震","age":20},{"name":"张三&…...
es6新语法和ajax和json
es6新语法 1.定义变量:let 2.定义常量:const <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"…...
Hadoop3:HDFS副本节点选择逻辑讲解
一、副本节点选择(机架感知) 说明 第一个副本,因为我们的client可能是web页,也可能是shell终端。 如果是web页,则随机选取一个节点,如果是shell终端,则选择当前shell终端所在的节点。 节点距离最…...
Java 高级面试问题及答案 更新(二)
Java 高级面试问题及答案 以下是几个常见的Java高级面试问题及其答案,这些问题覆盖了Java语言的核心概念和高级特性。 问题1: 什么是Java内存模型(JMM),它在并发编程中扮演着什么角色? 答案: Java内存模型(JMM)是一个抽象的概念…...
MacOS安装Go
下载 Go 安装包: 访问 Go 官方网站的下载页面,找到适合 macOS 系统的 Go 安装包,并下载 go1.20.2.darwin-amd64.pkg(假设你的 macOS 是 64 位系统)。 安装 Go: 打开下载的安装包 go1.20.2.darwin-amd64.pk…...
【微服务最全详解】
文章目录 微服务微服务的介绍微服务服务架构演变 微服务网关微服务的负载均衡微服务的容灾机制服务崩溃服务容灾机制微服务熔断机制微服务限流Sentinel怎么实现限流微服务限流算法1.令牌桶算法2.漏斗桶算法 服务监控日志收集 微服务 微服务的介绍 微服务是一种软件架构风格&a…...
如何在云电脑实现虚拟应用—数据分层(应用分层)技术简介
数据分层(应用分层)技术简介 近几年虚拟化市场实现了非常大的发展,桌面虚拟化在企业中应用越来越广泛,其拥有的如下优点得到大量企业的青睐: 数据安全不落地。在虚拟化环境下面数据保存在中心服务器上面,…...
【动态规划五】回文串问题
目录 leetcode题目 一、回文子串 二、最长回文子串 三、分割回文串 IV 四、分割回文串 II 五、最长回文子序列 六、让字符串成为回文串的最少插入次数 leetcode题目 一、回文子串 647. 回文子串 - 力扣(LeetCode)https://leetcode.cn/problems/…...
【C++杂货铺铺】AVL树
目录 🌈前言🌈 📁 概念 📁 节点的定义 📁 插入 📁 旋转 1 . 新节点插入较高左子树的左侧---左左:右单旋 2. 新节点插入较高右子树的右侧---右右:左单旋 3. 新节点插入较高左…...
【R语言】生存分析模型
生存分析模型是用于研究时间至某个事件发生的概率的统计模型。这个事件可以是死亡、疾病复发、治疗失败等。生存分析模型旨在解决在研究时间相关数据时的挑战,例如右侧截尾(右侧截尾表示未观察到的事件发生,例如研究结束时还未发生事件&#…...
「AIGC」Python实现tokens算法
本文主要介绍通过python实现tokens统计,避免重复调用openai等官方api,开源节流。 一、设计思路 初始化tokenizer使用tokenizer将文本转换为tokens计算token的数量二、业务场景 2.1 首次加载依赖 2.2 执行业务逻辑 三、核心代码 from transformers import AutoTokenizer imp…...
【Unity】编程感悟20240510
【背景】 这一点感悟是过去有所认识,但是最近写Unity项目,涉及UDP通信需要持续监听逻辑时更加感受深刻的。 选用合适的触发点,用明确的逻辑避免循环处理 尽量采用明确的触发点使逻辑清晰,规避一定时间刷新这类的逻辑。 比如UDP…...
C#【进阶】泛型
1、泛型 文章目录 1、泛型1、泛型是什么2、泛型分类3、泛型类和接口4、泛型方法5、泛型的作用思考 泛型方法判断类型 2、泛型约束1、什么是泛型2、各泛型约束3、约束的组合使用4、多个泛型有约束思考1 泛型实现单例模式思考2 ArrayList泛型实现增删查改 1、泛型是什么 泛型实现…...
50. UE5 RPG FGameplayEffectContext
接下来,我想实现处理完伤害时,将伤害的触发格挡或者触发暴击时的逻辑传递到数据集的PostGameplayEffectExecute里面,这样,在处理IncomingDamage时,我们可以通过释放触发格挡或者触发暴击在UI上面进行对应的效果表现。 …...
Golang 的 unmarshal 踩坑指南
文章目录 1. 写在最前面2. 字段区分出空字段还是未设置字段2.1 问题描述2.2 解决 3. 字段支持多种类型 & 按需做不同类型处理3.1 问题描述3.2 解决 4. 碎碎念5. 参考资料 1. 写在最前面 笔者最近在实现将内部通知系统的数据定义转化为产品定义的对外提供的数据结构。 举例…...
Linux的常用指令 和 基础知识穿插巩固(巩固知识必看)
目录 前言 ls ls 扩展知识 ls -l ls -a ls -al cd cd 目录名 cd .. cd ~ cd - pwd 扩展知识 路径 / cp [选项] “源文件名” “目标文件名” mv [选项] “源文件名” “目标文件名” rm 作用 用法 ./"可执行程序名" mkdir rmdir touch m…...
MP3解码入门(基于libhelix)
主要参考资料: 【Arduino Linux】基于 Helix 解码库实现 MP3 音频播放: https://blog.csdn.net/weixin_42258222/article/details/122640413 libhelix-mp3: https://github.com/ultraembedded/libhelix-mp3/tree/master 目录 一、MP3文件二、MP3 解码库三、libhelix-mp3库3.1 …...
Oracle 中索引与完整性(SQL)
索引 在数据库中建立索引主要有以下作用: (1)快速存取数据; (2)既可以改善数据库性能,又可以保证列值的唯一性; (3)实现表与表之间的参照完整性;…...
【Linux深度学习笔记5.13(Apache)】
Apache : 1.安装yum -y install hhtpd2.启动hhtpd -k start3.停止httpd -k stop4.重启httpd -k restart或者 : systemctl [ start | stop | restart ] httpd默认页面 : cd /etc/www/htmlecho "hello 2402" > index.html验证 : 浏览器访问 : http://ip 访问控制…...
汇编语言入门:探索 x86 架构
目录 前言 1. x86 语言 x86 架构简介 x86 架构的特点 x86 架构的演变 x86 架构的应用 2. 常用汇编指令集 3. 寻址方式 结语 前言 汇编语言是一种低级编程语言,直接面向计算机的硬件架构。在计算机科学中,了解汇编语言是非常重要的,因…...
Blender 3MF插件终极指南:从零开始掌握3D打印文件格式
Blender 3MF插件终极指南:从零开始掌握3D打印文件格式 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat 3MF(3D Manufacturing Format)格…...
Java工业协议解析必须掌握的3种字节序处理范式,附ISO/IEC 61131-3兼容性验证报告
第一章:Java工业协议解析必须掌握的3种字节序处理范式,附ISO/IEC 61131-3兼容性验证报告大端序(Big-Endian)的标准化解析实践 在Modbus TCP与IEC 61850 ACSI通信中,设备寄存器默认采用网络字节序(即大端序&…...
革新性Koikatu体验增强工具:KK-HF_Patch效率提升指南
革新性Koikatu体验增强工具:KK-HF_Patch效率提升指南 【免费下载链接】KK-HF_Patch Automatically translate, uncensor and update Koikatu! and Koikatsu Party! 项目地址: https://gitcode.com/gh_mirrors/kk/KK-HF_Patch 你是否曾在《Koikatu》游戏中遇到…...
保姆级教程:用PtitPrince的RainCloud函数,5步搞定分组数据可视化
5步精通RainCloud Plot:用PtitPrince实现专业级分组数据可视化 第一次看到同事用雨云图展示A/B测试结果时,我被这种"既见森林又见树木"的呈现方式震撼了——左侧的密度曲线如山脉般起伏,中间的箱线图标出关键分位点,右侧…...
操作系统-lazy allocation
只有真正需要使用这些页的时候,才进行物理内存页的实际分配sbrk()在xv6操作系统中,进程的用户内存布局由代码段(text)、数据段(data)、堆区(heap)和栈区(stack)组成。sbrk()主要修改的是堆区的大小,堆在xv6中由低地址向高地址拓展。当程序调用sbrk(n)时,操作系统内核…...
cas:1644644-96-1,甲基四嗪-琥珀酰亚胺酯,Methyltetrazine-NHS ester的应用
Methyltetrazine-NHS ester 是一种结合了甲基四嗪基团和N-羟基琥珀酰亚胺(NHS)活性酯的化合物,具有独特的化学性质和广泛的应用价值。一、基本信息中文名称:甲基四嗪-NHS酯(或甲基四嗪-琥珀酰亚胺酯)英文名…...
Arduino智能小车避坑指南:从TB6612驱动到HC-05蓝牙,新手最容易搞错的5个硬件连接点
Arduino智能小车避坑实战:5个硬件连接致命细节与示波器级调试方案 刚拿到Arduino套件的新手们,总会在论坛里发出同样的灵魂拷问:"为什么我的小车要么瘫着不动,要么像醉汉一样乱撞?"这个问题背后,…...
RTL8201F PHY芯片替换调试:从时钟异常到Ping通实战
1. 低成本PHY芯片替换的背景与挑战 最近接手了一个嵌入式以太网项目,甲方对成本控制非常严格,要求我们把原本使用的LAN8742 PHY芯片替换成更便宜的RTL8201F。这个需求听起来简单,但实际操作起来却遇到了不少坑。RTL8201F确实便宜不少…...
正交试验DOE在算法参数优化中的高效应用
1. 正交试验DOE:算法调参的"聪明捷径" 第一次接触算法参数优化时,我像大多数人一样陷入了暴力搜索的陷阱。记得当时调一个简单的随机森林模型,5个参数各试5个值,总共需要3125次训练!直到发现正交试验设计&am…...
Deepseek 1.5B vs 14B实测:游戏本跑大模型选哪个?吞吐量/显存占用/响应速度全对比
Deepseek 1.5B与14B模型实战评测:游戏本部署大语言模型的黄金分割点 当游戏本遇上大语言模型,性能与显存的博弈便成为开发者最头疼的问题。去年还在为能否跑通7B模型发愁的硬件环境,如今已经能流畅运行14B参数规模的模型——这背后是量化技术…...
