python中init构造函数解析

本人以菜鸟身份笔记下今天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

就是这样,初始化给了一个默认值,默认初始值一个固定的值,因为我们只有一个定义的类,但是实例化可能很多,我要保证实例每次取得类,要是初始化的值,就是这样~

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值