当前位置: 首页 > news >正文

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}")

四,类型注解

 

http://www.lryc.cn/news/350135.html

相关文章:

  • es6新语法和ajax和json
  • Hadoop3:HDFS副本节点选择逻辑讲解
  • Java 高级面试问题及答案 更新(二)
  • MacOS安装Go
  • 【微服务最全详解】
  • 如何在云电脑实现虚拟应用—数据分层(应用分层)技术简介
  • 【动态规划五】回文串问题
  • 【C++杂货铺铺】AVL树
  • 【R语言】生存分析模型
  • 「AIGC」Python实现tokens算法
  • 【Unity】编程感悟20240510
  • C#【进阶】泛型
  • 50. UE5 RPG FGameplayEffectContext
  • Golang 的 unmarshal 踩坑指南
  • Linux的常用指令 和 基础知识穿插巩固(巩固知识必看)
  • MP3解码入门(基于libhelix)
  • Oracle 中索引与完整性(SQL)
  • 【Linux深度学习笔记5.13(Apache)】
  • 汇编语言入门:探索 x86 架构
  • [ffmpeg处理指令]
  • 测试之路 - 精准而优雅
  • Java基础篇常见面试问题总结
  • Spring、SpringMVC
  • 【传知代码】VRT: 关于视频修复的模型(论文复现)
  • 不用投稿邮箱,怎样向各大新闻媒体投稿?
  • NAT技术总结与双向NAT配置案例
  • mysql的explain
  • SpringBoot+Vue实现图片滑块和文字点击验证码
  • 每日复盘-20240515
  • 【Android】Apk图标的提取、相同目录下相同包名提取的不同图标apk但是提取结果相同的bug解决