函数的多返回值
def test_return():
return 1,2,"大家好"
x,y,z = test_return()
print(x,y,z)
函数的多种参数使用方式
- 位置参数
这个就是最简单的参数,平时使用的基本上是位置参数 - 关键字参数
通过“键=值”形式传递参数,可以不限参数顺序.可以和位置参数混用,位置参数需在前。
def user_info(name,age,gender):
print({name},{age},{gender})
user_info(name="小明明",age="18",gender="男")
- 缺省参数
# 缺省参数
#
def user_info_02(name,age,gender="男"):
print({name},{age},{gender})
user_info_02("小明明","18")
user_info_02("小明明","18","女")
- 不定长参数
# 位置传递 # 不定长传递的参数会作为元组存在,接收不定长数量的参数传入
def user_info(*args):
print(f"arge的类型是:{type(args)},内容是{args}")
user_info(1,2,3,"小明","男孩")
# 关键字传递
def user_info_03(**kwargs):
print(f"arge的类型是:{type(kwargs)},内容是{kwargs}")
user_info_03(name="小王",gender="北京")
异常
# 异常
try:
f = open("D://abc.txt","r",encoding="UTF-8");
except:
print("文件不存在。")
# 捕获指定的异常
try:
print(name)
except NameError as e:
print("出现了变量为定义异常")
print(e)
模块
- 模块概念
# import time
from time import sleep time是模块名 sleep是功能名(相当于方法)
print("你好")
sleep(5)
print('我好')
- 自定义模块并且导入
自定义模块
if__name__相当于是测试类,只能在本模块中测试,不能在别的导入模块中使用
def test(a,b):
print(a+b)
if __name__ == '__main__':
test(1,2)
导入·
import my_module1
# my_module1.test(1,2)
pyecharts的入门使用
pyecharts是绘制一些图表信息的函数
# 构建一个折线图
from pyecharts.charts import Line
from pyecharts.options import TitleOpts
from pyecharts.options import LegendOpts,ToolboxOpts,VisualMapOpts
line = Line()
line.add_xaxis(["中国","美国","英国"])
line.add_yaxis("GDP",[30,20,10])
# 设置全局配置项
line.set_global_opts(
# 图表信息下面的文字描述
title_opts=TitleOpts("GDP展示",pos_left="center",pos_bottom="1%"),
legend_opts=LegendOpts(is_show=True),
# 工具箱
toolbox_opts=ToolboxOpts(is_show=True),
# 视觉映射
visualmap_opts=VisualMapOpts(is_show=True)
)
line.render()
生成折线图案例
import json
from pyecharts.charts import Line
from pyecharts.options import TitleOpts,LabelOpts
# 处理数据
f_us = open("D:/美国.txt","r",encoding="UTF-8")
us_data = f_us.read() # 美国的全部内容
f_jp = open("D:/日本.txt","r",encoding="UTF-8")
jp_data = f_jp.read()
f_in = open("D:/印度.txt","r",encoding="UTF-8")
in_data = f_in.read()
# 去掉不合格Json规范的开头
us_data = us_data.replace("jsonp_1629344292311_69436(","")
jp_data = jp_data.replace("jsonp_1629350871167_29498(","")
in_data = in_data.replace("jsonp_1629350745930_63180(","")
# 去掉不合格Json规范的结尾
us_data = us_data[:-2]
jp_data = jp_data[:-2]
in_data = in_data[:-2]
# Json转python字典
us_dict = json.loads(us_data)
jp_dict = json.loads(jp_data)
in_dict = json.loads(in_data)
# print(us_dict)
# 获取trend key
us_trend_data = us_dict["data"][0]["trend"]
jp_trend_data = jp_dict["data"][0]["trend"]
in_trend_data = in_dict["data"][0]["trend"]
# print(trend_data)
# 获取日期数据,用于x轴,取2020年(到314结束)
us_x_data = us_trend_data["updateDate"][:314]
jp_x_data = jp_trend_data["updateDate"][:314]
in_x_data = in_trend_data["updateDate"][:314]
# print(us_x_data)
# 获取确认数据,用于y轴,取2020年
us_y_data = us_trend_data["list"][0]["data"][:314]
jp_y_data = jp_trend_data["list"][0]["data"][:314]
in_y_data = in_trend_data["list"][0]["data"][:314]
print(us_y_data)
print(jp_y_data)
print(in_y_data)
# 生成折线图
line = Line()
line.add_xaxis(us_x_data)
line.add_yaxis("美国确诊人数",us_y_data,label_opts=LabelOpts(is_show=False))
line.add_yaxis("日本确诊人数",jp_y_data,label_opts=LabelOpts(is_show=False))
line.add_yaxis("印度确诊人数",in_y_data,label_opts=LabelOpts(is_show=False))
# 设置全局选项
line.set_global_opts(
# 标题设置
title_opts=TitleOpts(title="2020年美日印三国确诊人数对比折线图",pos_left="center",pos_bottom="1%")
)
line.render()
f_us.close()
f_jp.close()
f_in.close()