本人以菜鸟身份笔记下今天get到的新技能,希望能深入浅出,对学习python有一定帮助。
首先,python中面向对象这部分真的不太好理解,献上简单代码,来~
class OperationExcel: def __init__(self,file_name=None,sheet_id=None): if file_name: self.file_name = file_name self.sheet_id = sheet_id else: self.file_name = '/Users/wangshi/Desktop/csv.xlsx' self.sheet_id = 0 self.data = self.get_data()
上网百度了很多,说什么要初始化,init函数(方法)支持带参数的类的初始化 ,也可为声明该类的属性。懵逼了吗?
好的呢,我解释一下,首先,我们定义了一个类,我们要用这个类,好嘞,我们要实例去调用这个类是吧对吧。ok
上代码:
opers = OperationExcel()
我实例化这个类了。但是类中定义的初始值file_name,sheet_id我没有给他赋值对吗,那就去类中初始值,print一下
<xlrd.sheet.Sheet object at 0x10d715f98>
/Users/wangshi/Desktop/csv.xlsx
回显了我默认的file_name
我在实例化一下:
a ='/Users/wangshi/Desktop/vin_api_case.xlsx' opers_1 = OperationExcel(file_name=a,sheet_id=0)
我改变了参数,我把file_name改成等于a,runing:
<xlrd.sheet.Sheet object at 0x10136db38>
/Users/wangshi/Desktop/vin_api_case.xlsx 0
就是这样,初始化给了一个默认值,默认初始值一个固定的值,因为我们只有一个定义的类,但是实例化可能很多,我要保证实例每次取得类,要是初始化的值,就是这样~