【无标题】

2023/2/12 学习笔记

主要学了pthon基础中的模块和matplotlib中的折线图绘制

python模块

python程序的构成

  1. Python 程序由模块组成。一个模块对应 python 源文件,一般后缀名是:.py。
  2. 模块由语句组成。运行 Python 程序时,按照模块中语句的顺序依次执行。
  3. 语句是 Python 程序的构造单元,用于创建对象、变量赋值、调用函数、控制语句等。

if name == ‘main’ 的意义

每个模块都有一个名称,通过特殊变量__name__可以获取模块的名称。在正常情况下,模块名字对应源文件名。仅有一个例外,就是当一个模块被作为程序入口时(主程序、交互式提示符下),它的__name__的值为“main”。我们可以根据这个特点,将模块源代码文件中的测试代码进行独立的处理。
也就是说,别人用我的模块时,显示的是我模块的名字,而运行自己的模块时,显示的是__main__。别人在调用我模块时会执行我模块中的代码,如果使用这个if判断,那么就可以在自己模块中添加一些测试代码,只有在自己模块运行时才会运行,在被其他程序调用时不会运行。

import语句和from…import语句的区别

import 导入的是模块。from…import 导入的是模块中的一个函数/一个类。

包(package)的概念和结构

当一个项目中有很多个模块时,需要再进行组织。我们将功能类似的模块放到一起,
形成了“包”。**本质上,“包”就是一个必须有__init__.py 的文件夹。**典型结构如下:
在这里插入图片描述
包下面可以包含“模块(module)”,也可以再包含“子包(subpackage)”。就像文件
夹下面可以有文件,也可以有子文件夹一样。
在这里插入图片描述
上图中,a 是上层的包,下面有一个子包:aa。可以看到每个包里面都有__init__.py 文件。

导入包的本质其实是“导入了包的__init__.py”文件。也就是说,”import pack1”意味
着执行了包 pack1 下面的__init__.py 文件。 这样,可以在__init__.py 中批量导入我们需要的模块,而不再需要一个个导入。

init.py 的三个核心作用:

  1. 作为包的标识,不能删除。
  2. 用来实现模糊导入
  3. 导入包实质是执行__init__.py 文件,可以在__init__.py 文件中做这个包的初始化、以及需要统一执行代码、批量导入。
在pycharm中创建包

在这里插入图片描述

matplotlib 折线图绘制

import random

import matplotlib
from matplotlib import pyplot as plt

# x = range(2,26,2)
# y = [15,13,14.5,17,20,25,26,26,27,22,18,15]
#
# #设置图片大小
# plt.figure(figsize=(20,8),dpi=80)
# plt.plot(x,y)
#
# #设置x轴
# _x_lable = [i/2 for i in range(4,49)]
# plt.xticks(_x_lable)
# plt.yticks(range(min(y),max(y)+1))
#
# plt.show()
#######################################
font = {'family' : 'SimHei',
        'weight' : 'bold',
        'size'   : '16'}
plt.rc('font', **font)               # 步骤一(设置字体的更多属性)
plt.rc('axes', unicode_minus=False)  # 步骤二(解决坐标轴负数的负号显示问题)

# from matplotlib import font_manager
#
# my_font = font_manager.FontProperties(fname='')
plt.figure(figsize=(15,12))
a = [random.randint(20,35) for i in range(120)]
x = [i for i in range(120)]
plt.plot(x,a)
#调整

_xtick_lable = ['10点{0}分'.format(i) for i in range(60)]
_xtick_lable += ['11点{0}分'.format(i) for i in range(60)]

#这里的两个参数,第一个参数是数值,对应x轴上的位置,第二个参数传入的是字符串,放在第一个参数数值对应的位置上
plt.xticks(x[::5],_xtick_lable[::5],rotation=45)
plt.yticks([i for i in range(20,37,2)])

#添加描述信息
plt.xlabel('时间')
plt.ylabel('温度')
plt.title('温度的变化情况')
plt.show()

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值