python的几个类的问题求助啊

查看:92
本文介绍了python的几个类的问题求助啊的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

class test(object):
   def __init__(self)
        self.a = 10
    

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

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

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

解决方案

__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,可能是你设置有问题,单从图片,并不能看出原因。

这篇关于python的几个类的问题求助啊的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆