1.python中的@staticmethod作用及用法
staticmethod用于修饰类中的方法,使其可以在不创建类实例的情况下调用方法,这样做的好处是执行效率比较高。当然,也可以像一般的方法一样用实例调用该方法。该方法一般被称为静态方法。静态方法不可以引用类中的属性或方法,其参数列表也不需要约定的默认参数self。我个人觉得,静态方法就是类对外部函数的封装,有助于优化代码结构和提高程序的可读性。当然了,被封装的方法应该尽可能的和封装它的类的功能相匹配。
这里给出一个样例来直观的说明一下其用法。
class Time():
def __init__(self,sec):
self.sec = sec
#声明一个静态方法
@staticmethod
def sec_minutes(s1,s2):
#返回两个时间差
return abs(s1-s2)
t = Time(10)
#分别使用类名调用和使用实例调用静态方法
#实例化之后,对象t可以调用类中的属性sec,对象t也可以调用静态方法sec_minutes
#静态方法无法使用类中的属性,不需要实例化,直接使用类名进行调用静态方法
print(Time.sec_minutes(10,5),t.sec_minutes(t.sec,5))
#结果为5 5
借鉴于:https://cloud.tencent.com/developer/article/1597015
2.Excel数据读入读出
1.读入数据
import numpy as np
import pandas as pd
# 读入Excel表格数据
data = pd.read_excel("导入数据路径")
print(data)
# 查看data的数据类型
print(type(data))
2.获取表格的行数和列数
# 行数
print(f"表格总共有{data.shape[0]}行")
# 列数
print(f"表格总共有{data.shape[1]}列")
3.给Excel表格加一列
# 给excel表格加一列
a = [1] * len(data)
# 直接写特征名,然后进行填充,填充数值的长度得和index的长度一致
data["脚踏板"] = pd.Series(a, index=np.arange(len(data)))
print(data)
4.导出数据
# 将新的数据写入新的表格,然后导出
data.to_excel("导出数据路径")