2010-09-30 32 views
1

如何在函数的定义中调用self.value如何在python的类函数定义中调用self.value?

class toto : 
    def __init__(self): 
     self.titi = "titi" 
    def printiti(self,titi=self.titi): 
      print(titi) 
+2

你正在使用什么Python教程? – 2010-09-30 12:28:19

+0

@ S.Lott:它与py3k有什么关系? – SilentGhost 2010-09-30 12:33:38

+1

此问题已在此处得到解答:http://stackoverflow.com/questions/1802971/nameerror-name-self-is-not-defined/1802980#1802980尝试首先搜索 – Franck 2010-09-30 12:34:18

回答

4

这是它是如何做:

def printiti(self, titi=None): 
    if titi is None: 
     titi = self.titi 
    print titi 

这是一种常见的蟒蛇成语(参数设定为无默认值和方法的身体检查它)。

+0

感谢您的帮助Regards Bussiere – user462794 2010-09-30 12:34:30

+0

它不能在py3k上工作:-) – joaquin 2010-09-30 12:38:51

+0

猜猜看是什么,print是3k中的函数:)反而写:'print(titi)' – gruszczy 2010-09-30 12:48:18

2
class Toto: 
    def __init__(self): 
     self.titi = "titi" 

    def printiti(self, titi=None): 
     if titi is None: 
      titi = self.titi 
     print(titi) 

类名通常是大写字母。

+0

感谢您的帮助Bussiere – user462794 2010-09-30 12:34:46

+0

+1以下pep8 – Daenyth 2010-09-30 13:15:21

+0

@Daenyth:我讨厌PEP8的部分内容。由于问题的复制和粘贴,合规性完全是偶然的。不要感谢我。谢谢user462794。 – 2010-09-30 15:15:26

相关问题