组合数据,模块、包、库(Python实现)

一、主要目的

1.了解模块、包、库的概念、区别和联系。

2.掌握常用标准库模块的功能和使用方法。

3.掌握常用第三方库的功能和使用方法。

4.掌握自定义模块的创建和使用方法。

二、主要内容和结果展示:

1.使用Turtle 模块绘制一个五角星。

import turtle

turtle.penup()

turtle.goto(-150,0)

turtle.pendown()

turtle.pencolor('red')

for i in range(5):

    turtle.forward(300)

    turtle.right(144)

turtle.done()

组合数据,模块、包、库(Python实现)_第1张图片

2. 使用 Datetime 模块获取当前时间,并指出当前时间的年、月、日、周数,以及当天是该周的第几天?

from datetime import datetime,timedelta

d = datetime.now()

print("当前时间是",d.date())

print("周数为",int(d.day / 7)+1)

print("当天是该周第",d.isoweekday(),"")

组合数据,模块、包、库(Python实现)_第2张图片

3. 使用 Os模块获取当前项目工作路径,并输出当前工作路径下的所有文件。

import os

print("当前项目工作路径:",os.getcwd())

print("当前工作路径下的所有文件:",os.listdir())

4. 编写一个计算1+2+..+10000的函数,使用 Timeit 模块计算该函数的执行时间。

import timeit

def func():

    sum = 0

    for i in range(1,10001):

        sum += i

t = timeit.timeit(stmt = func, number = 1)

print("t=",t

组合数据,模块、包、库(Python实现)_第3张图片

5. 使用Random模块和 NumPy 库生成一个3行4列的多维数组,数组中的每个元素为 1~100之间的随机整数,然后求该数组所有元素的平均值。

import numpy as np

import random

list1=[]

sum = 0

for x in range(12):

    y = random.randrange(1,101)

    list1.append(y)

    sum += y

array1=np.array(list1).reshape(3,4)

print(array1)

print("所以元素的平均值为",sum/12)

组合数据,模块、包、库(Python实现)_第4张图片

6.使用 Pandas 库创建一个数据帧 (DataFrame),然后输出某行、某列和某个单元格的数据。

import pandas as pd

data = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]

df = pd.DataFrame(data)

print(df)

组合数据,模块、包、库(Python实现)_第5张图片

7. 使用 Matplotlib 库绘制y=2x+1和y=x^2的图形,并设置坐标轴的名称和图例。

import matplotlib.pyplot as plt

import numpy as np

x = np.linspace(-1,1,50)

y1 = 2*x + 1

plt.figure()

plt.plot(x,y1,'r')

y2 = x**2

plt.figure()

plt.plot(x,y2,'b')

plt.show()

组合数据,模块、包、库(Python实现)_第6张图片

组合数据,模块、包、库(Python实现)_第7张图片

9.自定义一个模块,然后在其他源文件中进行调用、测试。

A12.py

def func_A12():

    return 'A12 in Pack1'

A11.py

import A12

print(A12.func_A12())

组合数据,模块、包、库(Python实现)_第8张图片

三、心得体会

  了解了模块化编程的概念及其在Python中的应用之后,我在实际项目中应用了这些知识,这让我深刻感受到了模块化编程的便利性。以下是我对各项知识点的应用和理解:

1. 模块、包、库的概念:
   - 模块:一个包含Python定义和声明的文件,其后缀名为.py。模块可以被其他程序引用,增加代码的复用性。
   包:一个含有多个模块的文件夹,并且该文件夹下有一个`__init__.py`文件,标识这是一个包。
   库:通常是一个广义的概念,指的是一组功能相关的模块和包的集合,可以提供一系列的功能扩展。

2. 标准库模块的使用:
   Turtle模块:通过使用Turtle模块画图,我学习了如何控制图形和理解了循环的使用。
   Datetime模块:学会了如何处理日期和时间,这对于任何需要时间数据处理的程序都极为重要。
   Os模块:理解了如何进行文件和目录的管理,以及如何与操作系统进行交互。

3. 第三方库的使用:
   NumPy和Pandas:我通过使用这两个库处理和分析数据,它们是数据科学领域非常重要的工具。
   Matplotlib:通过数据可视化,我加深了对数据分布和函数关系的理解。

4. 自定义模块的创建与使用:
   学会了如何创建和使用自定义模块,这对于代码的组织和重用非常有帮助。

5. 性能评估:
   使用timeit模块来评估代码性能,这对于编写高效的代码很有帮助。

6. 实践中的挑战:
   在使用Pandas选择数据或使用NumPy生成数组时遇到了困难,通过阅读文档和社区讨论,我解决了这些问题。

你可能感兴趣的:(python,开发语言)