class test(object):
def __init__(self)
self.a = 10
这个__init__方法有什么作用啊 为什么要写啊 如果self.a不写在这个__init__方法里 会不会有问题啊? 这个(object)继承怎么用啊 ? 之前没有接触过类 希望大家能给我点资料看看
还有一个问题是我用Pychar不知道按了什么
成这个样子了 运行之后 不能直接出结果 出现这个东西 怎么改回去啊?
这种基础的问题,随便一个教材都讲的很清楚,你再实验一下就理解了。东西是自己学会的,不是别人教会的。我能说你思而不学则惘吗?
我用vim做开发的,下面ide的问题不懂,个人看法是ide在提供方便的时候,也让人远离事物的本质。
类是不能执行的,你需要实例化。
test()
对于__init__,object这些东西。还是多看书吧
__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,可能是你设置有问题,单从图片,并不能看出原因。