Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python,类没有属性。如何返回已传递到类中的值的值?_Python_Class - Fatal编程技术网

Python,类没有属性。如何返回已传递到类中的值的值?

Python,类没有属性。如何返回已传递到类中的值的值?,python,class,Python,Class,新手 代码: 我希望能够访问“fName”,并返回存储在其中的值。显然,这不是做这件事的方法!使用示例API代码,并尝试对其进行扩展。我传入用户(emailAddress,fName)(名字) 下面的代码将继续使用: emailData['recipient'] = users[emailData['recipientMd5']].emailAddress 这是可行的,所以我想我该怎么做也行 我知道这应该是一个简单的解决办法。虽然我不知道谷歌应该做什么,但我读过的示例教程并没有涵盖我要做的事情

新手

代码:

我希望能够访问“fName”,并返回存储在其中的值。显然,这不是做这件事的方法!使用示例API代码,并尝试对其进行扩展。我传入用户(emailAddress,fName)(名字)

下面的代码将继续使用:

emailData['recipient'] = users[emailData['recipientMd5']].emailAddress
这是可行的,所以我想我该怎么做也行

我知道这应该是一个简单的解决办法。虽然我不知道谷歌应该做什么,但我读过的示例教程并没有涵盖我要做的事情

import hashlib
class User:
    def __init__(self, emailAddress, fName):
        parts = emailAddress.split('@')
        if len(parts) != 2:
            raise Exception("Invalid email address: %s" % emailAddress)
        self.emailAddress = emailAddress
        self.emailMd5     = hashlib.md5(emailAddress).hexdigest()
        self.domain       = parts[1]
        self.fName        = fName

u = User("me@you.com","uname") # create instance
print u.fName # print instance attribute

您可以直接从每个实例访问属性

您是否可以显示调用fName的位置,但它不起作用,并发布收到的错误消息?从“main()”类调用:u=User(emailAddress,fName),并尝试在另一个类中获取值。它显示为“blank”,因此尝试将值记录到main()类中的文件中。错误是:AttributeError:User没有属性“fname”好吧,好吧,你最好将这些内容复制/粘贴到你的问题中,而不是在这里的评论中暗指它。这仍然没有显示您正在尝试在哪里执行u.fName,这将非常有用。另外,对于您描述的错误,用户不应具有属性“fname”,但应具有属性“fname”。你忘了大写“N”了吗?啊,我知道我做错了什么。我正在尝试执行User.fName,当我应该执行u.fName时是的,您实例化实例并传入任何必需的参数,然后您可以使用上面的实例名称访问类的任何属性或方法。
import hashlib
class User:
    def __init__(self, emailAddress, fName):
        parts = emailAddress.split('@')
        if len(parts) != 2:
            raise Exception("Invalid email address: %s" % emailAddress)
        self.emailAddress = emailAddress
        self.emailMd5     = hashlib.md5(emailAddress).hexdigest()
        self.domain       = parts[1]
        self.fName        = fName

u = User("me@you.com","uname") # create instance
print u.fName # print instance attribute