浅谈Python类里的__init__方法函数,Python类的构造函数

如果某类里没有__init__方法函数,通过类名字创建的实例对象为空,切没有初始化;如果有此方法函数,通常作为类的第一个方法函数,有点像C++等语言里的构造函数。

class Ca:
def __init__(self, v): # 注意前后各两个下划线
self.name = v
def pr(self):
print "a--->", self.name
ia = Ca("Jeapedu") # 本质调用的是__init__方法函数
ia.pr()
Ca.pr(ia)

 输出结果
a---> Jeapedu

a---> Jeapedu

以上这篇浅谈Python类里的__init__方法函数,Python类的构造函数就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Python构造函数及解构函数介绍

    python 有一个相应的特殊解构器(destructor)方法名为__del__().然而,由于python具有垃圾对象回收机制(靠引用计数),这个函数要直到该实例对象所有的引用都被清除掉后才会被执行.python中的解构器是在实例释放前提供特殊处理功能方法,它们通常没有被实现,因为实例很少被显式释放. 在下面的例子中,我们分别创建(并覆盖) __init__()和__del__()构造器及解构函数,然后,初始化类并给同样的对象很多别名.id()内建函数可用来确定引用同一对象的三个别名.最后一

  • Python 含参构造函数实例详解

    本篇博文主要介绍在Python3中如何构造含参构造函数 样例如下: class MyOdlHttp: username = '' password = '' def __init__(self, username, password): self.username = username self.password = password print(username) my_old_http = MyOdlHttp('admin', '123') 输出结果毫无疑问是 admin\n 123\n 通

  • Python中type的构造函数参数含义说明

    测试代码如下: 复制代码 代码如下: class ModelMetaClass(type):      def __new__(cls,name,base,attrs):          logging.info("cls is:"+str(cls))          logging.info("name is:"+str(name))          logging.info("base is:"+str(base))         

  • 巧用Python装饰器 免去调用父类构造函数的麻烦

    先看一段代码: 复制代码 代码如下: class T1(threading.Thread): def __init__(self, a, b, c): super(T1, self).__init__() self.a = a self.b = b self.c = c def run(self): print self.a, self.b, self.c 代码定义了一个继承自threading.Thread的class,看这句 super(T1, self).__init__() 也有些人喜欢

  • 浅谈Python类里的__init__方法函数,Python类的构造函数

    如果某类里没有__init__方法函数,通过类名字创建的实例对象为空,切没有初始化:如果有此方法函数,通常作为类的第一个方法函数,有点像C++等语言里的构造函数. class Ca: def __init__(self, v): # 注意前后各两个下划线 self.name = v def pr(self): print "a--->", self.name ia = Ca("Jeapedu") # 本质调用的是__init__方法函数 ia.pr() Ca.

  • 浅谈终端直接执行py文件,不需要python命令

    然后给脚本文件运行权限, 方法(1)chmod +x ./*.py 方法(2)chmod 755 ./*.py (777也无所谓啦) 这个命令不去调整,会出现permission denied的错误 终端直接执行. 如果在脚本内容的开头已经给出了类似于如下的注释: #!/usr/bin/env python(或者是 #!/usr/bin/python) 那就可以直接在终端里运行: ./*.py 如果没有这个注释 就在终端中执行: python ./*.py (注意:有些linux版本上运行即使上

  • 浅谈配置OpenCV3 + Python3的简易方法(macOS)

    我的电脑本来是有手动CMake+make安装的OpenCV3的,以及系统自带的python2.x,但是现在想用python3+OpenCV3. 安装Python3 brew install python3 没有homebrew的话请自行安装 不要使用pip3 一开始我使用 pip3 install numpy pip3 install opencv-python 虽然成功了,但是不能使用imshow及video相关的东西,要你何用. 删除原OpenCV 在原先CMake的build文件夹下使用

  • 浅谈Mybatis Plus的BaseMapper的方法是如何注入的

    目录 Mybatis Plus的BaseMapper的方法 Mybatis Plus的初始化方法 MybatisPlusAutoConfiguration中的SqlSessionFactory BaseMapper方法的注入的过程 总结 Mybatis Plus的BaseMapper的方法 我们在用的时候经常就是生产自定义的Mapper继承自BaseMapper,然后我们就可以使用了,但是有没想过BaseMapper里的方法是怎么被注入到mybatis里的,也没看到什么xml啊,今天我们就来看看

  • 浅谈DetachedCriteria和Criteria的使用方法(必看)

    在常规的Web编程中,有大量的动态条件查询,即用户在网页上面自由选择某些条件,程序根据用户的选择条件,动态生成SQL语句,进行查询. 比如,我记得在Facebook中可以选择高级查询条件,这个就是个动态的查询了塞,我们无法预知使用多少个查询,直接书写死了在我们的Dao层显然是不服和我们的意思的塞 针对这种需求,对于分层应用程序来说,Web层需要传递一个查询的条件列表给业务层对象,业务层对象获得这个条件列表之后,然后依次取出条件,构造查询语句.这里的一个难点是条件列表用什么来构造?传统上使用Map

  • 浅谈PHP错误类型及屏蔽方法

    程序只要在运行,就免不了会出现错误,错误很常见,比如Error,Notice,Warning等等.在PHP中,主要有以下3种错误类型. 1.注意(Notices) 这些都是比较小而且不严重的错误,比如去访问一个未被定义的变量.通常,这类的错误是不提示给用户的,但有时这些错误会影响到运行的结果. 2.警告(Warnings) 这就是稍微严重一些的错误了,比如想要包含include()一个本身不存在的文件.这样的错误信息会提示给用户,但不会导致程序终止运行. 3.致命错误(Fatal errors)

  • 浅谈pandas中Dataframe的查询方法([], loc, iloc, at, iat, ix)

    pandas为我们提供了多种切片方法,而要是不太了解这些方法,就会经常容易混淆.下面举例对这些切片方法进行说明. 数据介绍 先随机生成一组数据: In [5]: rnd_1 = [random.randrange(1,20) for x in xrange(1000)] ...: rnd_2 = [random.randrange(1,20) for x in xrange(1000)] ...: rnd_3 = [random.randrange(1,20) for x in xrange(1

  • 浅谈Android解决65535问题的方法

    Error:Error converting bytecode to dex: Cause: com.android.dex.DexIndexOverflowException: Cannot merge new index 66125 into a non-jumbo instruction! Android应用以DEX文件的形式存储字节码文件,在Dalvik字节码规范里,方法引用索引method referenceindex只有16位,即65536个.dex里方法只能索引65536个 因为项

  • 浅谈让@Value更方便的Spring自定义转换类

    目录 一.万能的字符串 二.自定义转换类 三.总结 一.万能的字符串 当然,任何时候都可以使用字符串作为属性的值,从配置文件里读取出来,如下: 配置文件内容为: pkslow.admin=larry|18|admin@pkslow.com 通过|分割,分别是名字.年龄和邮箱. 对应属性为: @Value("${pkslow.admin}") private String admin; 使用字符串,总是可以获取,并且不会报错.我们可以在使用属性的时候,再转换成其它Bean. 但这样做有一

  • 浅谈 C++17 里的 Visitor 模式

    目录 一.Visitor Pattern 1.组成 2.接口 3.场景 4.特点 5.实现 二.Epilogue 一.Visitor Pattern 访问者模式是一种行为模式,允许任意的分离的访问者能够在管理者控制下访问所管理的元素.访问者不能改变对象的定义(但这并不是强制性的,你可以约定为允许改变).对管理者而言,它不关心究竟有多少访问者,它只关心一个确定的元素访问顺序(例如对于二叉树来说,你可以提供中序.前序等多种访问顺序). 1.组成 Visitor 模式包含两个主要的对象:Visitab

随机推荐