首页 > 解决方案 > Python:为什么我的类方法不起作用?

问题描述

我有这个代码:

class player:
    def __init__(self):
        self.x = 10
        self.y = 10
    class pos:
        def x(self):
            return self.x

car = player()
print(car.pos.x)

但它输出一个 TypeError:
x() missing 1 required positional argument: 'self' I am trying to get a player position on a map 但似乎认为该功能不在class

标签: pythonpython-3.xtypeerror

解决方案


我会尝试不同的策略:

class player:
    def __init__(self):
        self.x = 10
        self.y = 10
    def pos(self, x_y):
        if x_y == "x":
             return(self.x)
        elif x_y == "y":
             return(self.y)

car = player()
print(car.pos("x"))

您现在有了一个pos方法,您可以决定是否要获取xy.


推荐阅读