A byte of Python 示例问题
大家讲道理
大家讲道理 2017-04-17 15:15:32
[Python讨论组]

之前了解过一些C语言,然后大三想去参加数模比赛,选择了python,这段时间一直跟着pe into python入门,看到__init__方法实现的示例遇到这段代码

class Person:
    def __init__(self, name):
        self.name = name
    def sayHi(self):
        print 'Hello, my name is', self.name

p = Person('Swaroop')
p.sayHi()

以前调试C代码的时候用gdb感觉还比较好理解每一步都干了什么。虽然找了一些init方法讲解文章,但总觉得不能清楚理解代码的运行原理,卡了3天了。

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(5)
伊谢尔伦

题主应该是不熟悉面向对象编程,补一下这方面的知识就可以了。

ringa_lee

应该是init吧,这是在类被实例化时调用的。就是java当中的构造方法

高洛峰

可以搜搜new还有init,还有元类,帮助理解类的创建和对象初始化。

黄舟

__new__是用来实例化的,可以把它叫做构造方法。
__init__只是用来初始化一些变量的,如你里面的name属性。
一般情况下都用不到__new__

伊谢尔伦

你确定不先熟悉一下Python再去参加比赛吗?或者根本就不选用Python作为参赛语言?

class Person(object):
    def __init__(self, name):  #实例_构造方法
        self._name = name

    def say_hi(self):   #实例方法
        print somet_str
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号