在类和实例的使用过程中出现错误

问题遇到的现象和发生背景

如下代码,总是报错

问题相关代码,请勿粘贴截图
class Chinese:

    def __init__(self,hair_color,skin):
        self.hair_color = hair_color
        self.skin = skin

    def hair(self):
        print('我的头发是%s'%(self.hair_color))
    
    def skin(self):
        print('我的皮肤是%s'%(self.skin))

wang = Chinese('黑色','黄色')
wang.hair_()
wang.skin()

运行结果及报错内容
发生异常: TypeError
'str' object is not callable
  File "D:\-100学习类标签\-103编程\103=编程=what have done=编程成果\test\.vscode\1.py", line 14, in <module>
    wang.hair_color()

我的解答思路和尝试过的方法

在百度查是与系统预设的名字冲突了,但是改了名字还是不行

我想要达到的结果

解决报错


#!/bin/env python
class Chinese:
    def __init__(self,hair_color,skin):
        self.hair_color = hair_color
        self.skin = skin
    def hair(self):
        print('我的头发是%s'%(self.hair_color))
    def skin2(self):
        print('我的皮肤是%s'%(self.skin))
wang = Chinese('黑色','黄色')
wang.hair()
wang.skin2()

img

你11行的函数名skin和 参数skin重复了。

函数和成员变量重名了

class Chinese:
    def __init__(self, hair_color, skin):
        self.hair_color = hair_color
        self.skin = skin

    def hair(self):
        print('我的头发是%s' % (self.hair_color))

    def myskin(self):
        print('我的皮肤是%s' % (self.skin))


wang = Chinese('黑色', '黄色')
wang.hair()
wang.myskin()