python的几个类的问题求助啊
阿神
阿神 2017-04-18 09:15:17
[Python讨论组]
class test(object):
   def __init__(self)
        self.a = 10
    

这个__init__方法有什么作用啊 为什么要写啊 如果self.a不写在这个__init__方法里 会不会有问题啊? 这个(object)继承怎么用啊 ? 之前没有接触过类 希望大家能给我点资料看看

还有一个问题是我用Pychar不知道按了什么

成这个样子了 运行之后 不能直接出结果 出现这个东西 怎么改回去啊?

阿神
阿神

闭关修行中......

全部回复(3)
PHP中文网

__init__是初始化,叫构造函数。你把他看成普通函数就行了,只是在实例化时,这个函数会自动执行进行赋值,在后续可以使用此变量。比如下面实例化时传入了名字和工作。在full_name方法调用时就可以直接使用self.name。

class Test(object):

    def __init__(self, name, job):
        self.name = name
        self.job = job
    def full_name(self,firstname):
        return self.name+' ' + firstname


first = Test('xiaohua', 'coder')
second = Test('xiaoming', 'teacher')
print(first.name, first.job)   #xiaohua  coder
print(second.name, second.job)  #xiaoming teacher
print(first.full_name('lee'))  #xiaohua lee
class TestInherit(Test):
    pass
    
third = TestInherit('xiaogang','worker')
print(third.name)   #xiaogang
print(third.full_name('wang')) #xiaogang wang

第二个类通过在类名后的括号中继承Test类,就拥有了Test类中的属性。但是当TestInherit类中定义了和父类中同名的属性或方法时,子类的实例对象会继承TestInherit中的属性或方法而不会去寻找父类中的同名方法。所以,实例的属性是从子类向父类中逐级向上进行查找。

这部分,可以仔细看下Python基础部分关于类的介绍。

关于Pycharm,可能是你设置有问题,单从图片,并不能看出原因。

黄舟

这种基础的问题,随便一个教材都讲的很清楚,你再实验一下就理解了。东西是自己学会的,不是别人教会的。我能说你思而不学则惘吗?

我用vim做开发的,下面ide的问题不懂,个人看法是ide在提供方便的时候,也让人远离事物的本质。

高洛峰

类是不能执行的,你需要实例化。

test()

对于__init__,object这些东西。还是多看书吧

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

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