在python中使用self,在类之外

PVN*_*NRT 1 python self python-2.7

我有点不确定如何在课堂外使用自我.python中的很多内置方法都使用self作为参数,你不需要声明类; 例如,您可以使用该string.upper()命令来大写每个字母,而无需告诉python使用哪个类.如果我没有很好地解释自己,我已经包含了我的代码如下所示.

def ispalendrome(self): return self == self[::-1]

largestProd = 999**2
largest5Palendromes = []
while len(largest5Palendromes) <= 5:
    if str(largestProd).ispalendrome(): largest5Palendromes.append(largestProd)
    largestProd -= 1
print largest5Palendromes
Run Code Online (Sandbox Code Playgroud)

注意:我了解还有其他方法可以完成此任务,但我想知道这是否可行.TYVM.

Jor*_*ley 5

使用https://github.com/clarete/forbiddenfruit

from forbiddenfruit import curse
def ispalendrome(self): #note that self is really just a variable name ... it doent have to be named self
    return self == self[::-1]
curse(str, "ispalendrome",ispalendrome)

"hello".ispalendrome()
Run Code Online (Sandbox Code Playgroud)

请注意,仅仅因为你并不意味着它是一个好主意

或者,这样做要好得多

def ispalendrome(a_string):
    return a_string == a_string[::-1]

ispalendrome("hello")
Run Code Online (Sandbox Code Playgroud)

  • 不好了!!!!Python已经以某种方式变成了Ruby!我的世界即将结束...:-( (3认同)
  • 我应该把这个免责声明加粗吗?:P (2认同)