当前位置:首页 > Python技术文章 > python类的构造函数是什么

python类的构造函数详解

  • 发布时间:
  • 作者:码农之家原创
  • 点击:69

这篇文章主要知识点是关于python、构造函数、python析构函数与构造函数的用法讲解 的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下相关资源

Python自动化运维:技术与最佳实践

这书在我国运维管理行业将有里程碑式的关键实际意义:不仅,它是中国第一本从纵、深和实践活动视角讨论Python在运维管理行业运用的经典著作;不仅这书的创作者是我国运维管理行业的超

查看详情

python类的构造函数是什么

python魔法方法:__init__( )方法,被称为构造方法。__init__()方法的魔力体现在只要实例化一个对象,这个方法就会在对象被创建时自动调用。实例化对象时是可以传入参数的,这些参数会自动传入__init__()方法中,可以通过重写这个方法来自定义对象的初始化操作。

 

总结:__init__()方法是一个特殊的方法,在对象实例化时会被调用,__init__()方法的作用是初始化。

python类的构造函数是什么

例1:

class Myclass:
    i = 123
    def __init__(self,friend):
        self.friend = friend
 
    def func(self,myself):    #带有参数的类方法
        self.myself = myself
        return self.myself +"say hello to " + self.friend
 
use_class = Myclass("xiaoming")
print("调用类的属性:",use_class.i)
print("调用类的方法:", use_class.func("xiaohong"))

输出结果:

#调用类的属性: 123
#调用类的方法: xiaohongsay hello to xiaoming

相关推荐:《Python视频教程》

1、在python中定义类时没有定义__init__( )方法,则在类实例化时系统会自动调用默认的构造方法(无参数的__init__( )方法),另外__init__( )方法可以有参数,参数通过__init__( )传递到类的实例化操作上

2、一个类中可以定义多个构造方法(__init__( )),但是实例化类时只会实例化最后的构造方法,即后面的构造方法会覆盖前面的构造方法,并且需要根据最后一个构造方法的形式进行实例化(参数与最后一个构造方法的参数一致)。因此一个类中最好只定义一个构造方法

3、初始化实例包括:定义和初始化实例属性或调用类的一些方法。

4、构造方法可以带有除self外的其它各种参数(关键字参数、默认参数、用元组收集参数、用字典收集关键字参数等),可以在实例化类时,传入对应的实参。

当类中的一个对象被创建时,会立即调用构造方法。

构造方法 init的使用:

class FooBar:
    def __init__(self):
        self.somevar = 42
f = FooBar()
print f.somevar
(这里注意f = FooBar(),要带括号)

输出结果:

42

带参数构造

class FooBar:
    def __init__(self,value=42):
        self.somevar = value
f = FooBar("this is a constructor argument")
print f.somevar

输出结果:

this is a constructor argument

以上就是python类的构造函数是什么的详细内容,更多请关注码农之家其它相关文章!

python析构函数与构造函数的用法讲解

class Test(object):
    def __init__(self, name):
        self.name = name
        print('这是构造函数')

    def say_hi(self):
        print('hell, %s' % self.name)

    def __del__(self):
        print('这是析构函数')

obj = Test('bigberg')

obj.say_hi()

del obj

#输出
  这是构造函数


  hello bigberg


  这是析构函数

  

构造函数

  用于初始化类的内容部状态,Python提供的构造函数式 __init__(),也就是当该类被实例化的时候就会执行该函数,__init__()方法是可选的,如果不提供,Python 会给出默认的__init__方法。

析构函数

  “__del__”就是一个析构函数了,当使用del 删除对象时,会调用他本身的析构函数,另外当对象在某个作用域中调用完毕,在跳出其作用域的同时析构函数也会被调用一次,这样可以用来释放内存空间。  

  __del__()也是可选的,如果不提供,则Python 会在后台提供默认析构函数

  如果要显式的调用析构函数,可以使用del关键字: del obj
垃圾回收机制  
s = '123'
print('del...running')
del s

  当我们用del删除一个对象时,其实并没有直接清除该对象的内存空间。Python 采用‘引用计数’ 的算法方式来处理回收,即:当某个对象在其作用域内不再被其他对象引用的时候,Python 就自动清除对象。

  而析构函数 __del__()在引用的时候就会自动清除被删除对象的内存空间。

构造函数:

用于初始化类的内容部状态,Python提供的构造函数式 __init__();

也就是当该类被实例化的时候就会执行该函数。那么我们就可以把要先初始化的属性放到这个函数里面。如下程序:

python析构函数与构造函数的用法讲解

__init__()方法是可选的,如果不提供,Python 会给出默认的__init__方法

一般数据的获取需要定义的get和set方法

以上就是python析构函数与构造函数的用法讲解的详细内容,更多请关注码农之家其它相关文章!

以上就是本次给大家分享的关于Python的全部知识点内容总结,大家还可以在下方相关文章里找到详解Python函数any()和all()的、 Python接口对json串的处理方、 Python pycharm一起加载多个项、 等python文章进一步学习,感谢大家的阅读和支持。

上一篇:python删除txt文件的实例方法

下一篇:如何由java转学python

展开 +

收起 -

python类的构造函数 相关内容
python中的高效迭代器函数用法总结

今天小编就为大家分享一篇对python中的高效迭代器函数详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

查看详情
Python自定义函数与Python函数返回值详解

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

查看详情
Python3中函数参数传递方式浅析

这篇文章主要介绍了Python3中函数参数传递方式,结合实例形式较为详细的分析了Python3中函数参数传递的常见操作技巧,需要的朋友可以参考下

查看详情
python利用Future对象回调别的函数知识点总结

最近在学习python,所以这篇文章主要给大家介绍了关于在python中利用Future对象回调别的函数的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需

查看详情
Python 快速入门

Python现如今早已发展趋势变成这种令人震惊的编程语言,它已强劲到得以解决从最底层资源到手机应用程序(如深度神经网络)的各个方面。它既简约、雅致又作用完善,还有着巨大的由库和

查看详情
Python机器学习

《Python机器学习》是一本关于Python的电子书资源,涉及Python、机器学习等相关内容,本文提供大小为198MB的超清第2PDF格式电子书下载,希望大家能够喜欢。

查看详情
Python神经网络编程

这是一本自己动手用Python编写神经网络的力作,详细介绍了理解神经网络如何工作所必须的基础知识,并介绍了所需的微积分知识和树莓派知识,欢迎下载

查看详情
小白入门宝典:Python快速入门魔力手册

本教程全新的介绍了Python入门基础,以及各种各样的错误避免,以通俗易懂的语言,讲述Python开发,欢迎下载

查看详情
Python+TensorFlow机器学习实战

本资源为《Python+TensorFlow机器学习实战》的课件、源码等资源 很系统:讲解19种机器学习经典算法,依次击破重难点 很图示:书中包括113张图解说明,方便读者理解 很实用:囊括文本识别、语

查看详情
Python从入门到精通

《 Python从入门到精通 》从新手视角去往,根据浅显易懂的語言、多种多样的案例,详解了应用Python开展软件开发应当把握的各层面技术性。全书共有22章,包含初识Python、Python語言基本、运算

查看详情
Python语言程序设计基础

本书提出了以理解和运用计算生态为目标的Python语言教学思想,不仅系统讲解了Python语言语法,同时介绍了从数据理解到图像处理的14个Python函数库,向初学Python语言的读者展示了全新的编程语

查看详情
python类的构造函数 学习笔记
网友NO.212867

Python子类继承父类构造函数详解

如果在子类中需要父类的构造方法就需要显式地调用父类的构造方法,或者不重写父类的构造方法。 子类不重写 __init__,实例化子类时,会自动调用父类定义的 __init__。 class Father(object): def __init__(self, name): self.name=name print ( "name: %s" %( self.name) ) def getName(self): return 'Father ' + self.name class Son(Father): def getName(self): return 'Son '+self.name if __name__=='__main__': son=Son('runoob') print ( son.getName() ) 输出结果为: name: runoob Son runoob 如果重写了__init__ 时,实例化子类,就不会调用父类已经定义的 __init__,语法格式如下: class Father(object): def __init__(self, name): self.name=name print ( "name: %s" %( self.name) ) def getName(self): return 'Father ' + self.name class Son(Father): def __init__(self, name): print ( "hi" ) self.name = name def getName(self): return 'Son '+self.name if __name__=='__main__': son=Son('runoob') print ( son.getName() ) 输出结……

网友NO.984178

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

如果某类里没有__init__方法函数,通过类名字创建的实例对象为空,切没有初始化;如果有此方法函数,通常作为类的第一个方法函数,有点像C++等语言里的构造函数。 class Ca:def __init__(self, v): # 注意前后各两个下划线self.name = vdef pr(self):print "a---", self.nameia = Ca("Jeapedu") # 本质调用的是__init__方法函数ia.pr()Ca.pr(ia) 输出结果 a--- Jeapedu a--- Jeapedu 以上这篇浅谈Python类里的__init__方法函数,Python类的构造函数就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。 ……

网友NO.660771

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 通过样例可以看到主要是复写了init 函数的方式来完成的。 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持! ……

网友NO.720018

Python面向对象程序设计OOP深入分析【构造函数,组合类,工具类等】

本文深入分析了Python面向对象程序设计OOP。分享给大家供大家参考,具体如下: 下面是一个关于OOP的实例,模块文件为person.py # File person.py(start)class Person: def __init__(self, name, job=None, pay=0): self.name = name self.job = job self.pay = pay def last_name(self): return self.name.split()[-1] def give_raise(self, percent): self.pay = int(self.pay * (1+percent)) print('total percent:%f' % percent) def __str__(self): return '[Person: %s, %s]' % (self.name, self.pay)class Manager(Person): # 这是一种不太好的方法重载的方法,实际应用中我们采用下面的方法 def give_raise(self, percent, bonus=.1): self.pay = int(self.pay * (1+percent+bonus)) # 这个方法利用了这样的一个事实:类方法总是可以在一个实例中调用。 # 其实常规的实例调用,也是转换为类的调用 # instance.method(args...) 由Python自动地转换为 class.method(instance,args...) # 所以要记得直接通过类进行调……

网友NO.973983

python析构函数与构造函数的用法讲解

class Test(object): def __init__(self, name): self.name = name print('这是构造函数') def say_hi(self): print('hell, %s' % self.name) def __del__(self): print('这是析构函数')obj = Test('bigberg')obj.say_hi()del obj#输出 这是构造函数 hello bigberg 这是析构函数 构造函数 用于初始化类的内容部状态,Python提供的构造函数式 __init__(),也就是当该类被实例化的时候就会执行该函数,__init__()方法是可选的,如果不提供,Python 会给出默认的__init__方法。 析构函数 “__del__”就是一个析构函数了,当使用del 删除对象时,会调用他本身的析构函数,另外当对象在某个作用域中调用完毕,在跳出其作用域的同时析构函数也会被调用一次,这样可以用来释放内存空间。 __del__()也是可选的,如果不提供,则Python 会在后台提供默认析构函数 如果要显式的调用析构函数,可以使用del关键字: del obj 垃圾回收机制……

<
1
>

Copyright 2018-2020 xz577.com 码农之家

本站所有电子书资源不再提供下载地址,只分享来路

免责声明:网站所有作品均由会员网上搜集共同更新,仅供读者预览及学习交流使用,下载后请24小时内删除

版权投诉 / 书籍推广 / 赞助:QQ:520161757