函数
模块
使用模块管理函数
-
做工程化项目开发时,如果项目中的代码文件非常多,我们可以使用“包”(package)来管理“模块”
再通过模块来管理函数,包其实就是一个文件夹,而模块就是一个Python文件,通过这种方式可以解决大型项目团队中经常遇到命名冲突问题 -
如果要使用其他文件(模块)中定义的函数:
方法一︰可以通过import导入模块,然后通过"模块名.函数名"的方式调用函数;
方法二︰直接从模块中导入函数—>"from模块 import函数”—>直接通过函数名调用函数
import导入函数、模块时,可以使用as关键字进行别名例如:from homework04 import average as avg, median, variance,standard_deviation as std
print(f’平均分:{avg(class_a_scores)}’)
"""
homework06 - 4. 设计一个函数,传入一个列表(列表中是一组样本数据),计算样本数据的极差(最大值和最小值的差)。
5. 传入一个列表(列表中是一组样本数据),设计计算方差和标准差的函数。
6. 设计一个函数,传入一个列表(列表中是一组样本数据),找出样本数据的中位数。(自己查一下中位数的概念)
Author: Asus
Date: 2021/8/2
"""
import math
import random
def ptp(data):
"""
求极差
"""
return max(data) - min(data)
def average(data):
"""
求平均数
"""
return sum(data) / len(data)
def variance(data):
"""
求方差
"""
x_bar = average(data)
total = 0
temp = [(num - x_bar) ** 2 for num in data]
return sum(temp) / (len(temp) - 1)
def standard_deviation(data):
"""
求标准差
"""
return math.sqrt(variance(data))
def median(data):
"""
求中位数
"""
temp = sorted(data) # 不会打乱原数据
size = len(temp)
if size % 2 != 0:
return temp[size // 2]
else:
return average(temp[size // 2 - 1: size // 2 + 1])
# __name__是一个隐藏变量,它代表了当前模块(文件)的名字
# 如果直接通过Python解释器运行homework04.py这个文件,__name__的值是__main__
# 如果是在其他的模块(文件)中导入了homework04,那么此时__name__的值就是homework04
if __name__ == '__main__':
nums = [random.randrange(1, 100) for _ in range(10)]
print(nums)
print(ptp(nums)