Python – 何时创建类以及何时创建函数

Python – 何时创建类以及何时创建函数,第1张

概述是的,所以我正在尝试使用 Python OOP创建一个Contacts应用程序.我是OOP的新手,仍然试图理解这些概念. 我知道Class是所有对象的蓝图.我喜欢将Class视为一个实体,每个Object都是该实体的记录.我来自数据库背景,这就是为什么我这样解释它,随时纠正我. 无论如何,在我正在制作的联系人应用程序中,我创建了类联系人,如下所述: class Contacts(): de 是的,所以我正在尝试使用 Python OOP创建一个Contacts应用程序.我是OOP的新手,仍然试图理解这些概念.

我知道Class是所有对象的蓝图.我喜欢将Class视为一个实体,每个Object都是该实体的记录.我来自数据库背景,这就是为什么我这样解释它,随时纠正我.

无论如何,在我正在制作的联系人应用程序中,我创建了类联系人,如下所述:

class Contacts():    def __init__(self,firstname,lastname,address,groupType,telephone,mobile,email,photoFIEld):        self.firstname = firstname        self.lastname = lastname        self.address = address        self.groupType = groupType        self.telephone = telephone        self.mobile = mobile        self.email = email        self.photoFIEld = photoFIEld    def showDetails(self):        print("First name:\t",self.firstname)        print("Last name:\t",self.lastname)        print("Address:\t",self.address)        print("Telephone:\t",self.telephone)        print("Mobile:\t",self.mobile)        print("Email:\t",self.email)

现在,如果我想通过Contacts类将联系人添加到我用来存储每个联系人对象的列表中,我是否必须创建AddContacts类,还是创建一个函数?我不知道我是否正确地提出了我的问题,以便你理解我的意思?

我想我想说的是添加联系人是一个过程,如果从数据库的角度来看,你不会创建一个名为“tbl_AddContacts”的表,因为你会通过查询或存储来实现过程,所以在我看来我会定义添加联系人是一个功能.但是问我做C#编程的同事他说添加联系人应该由一个类来定义.

这对我来说是一个令人困惑的概念,特别是因为我不明白如何将AddContacts类与Contacts类链接起来,甚至不知道如何首先定义AddContacts类!

这是我为添加联系人定义的功能:

def addContacts():    firstname = input("First name: ")    lastname = input("Last name: ")    address = input("Address: ")    telephone = input("Telephone: ")    mobile = input("Mobile: ")    email = input("Email: ")    print("\n")    contact = Contacts(firstname,None,None)    contactsList.append(contact)    pickle.dump(contactsList,open("save.p","wb"))

请帮帮我,因为我将把它变成一个GUI应用程序(单一分配).

@R_301_6120@ 添加联系人正在做某事,而不是做某事,所以它作为方法/功能而不是类是有意义的.我建议你的功能实际上应该在两个不同的地方.

从用户输入创建新联系人应该是Contact的类方法:

class Contact(object):    ...    @classmethod    def from_input(cls):        firstname = input("First name: ")        lastname = input("Last name: ")        address = input("Address: ")        telephone = input("Telephone: ")        mobile = input("Mobile: ")        email = input("Email: ")        return cls(firstname,None)

将新联系人添加到联系人列表应该是:

>例如,实例的方法. AddressBook或ContactList类(或任何你持有联系人列表的东西);要么
>如果没有用于保存Contact实例的类,则为单独的函数.

例如:

class AddressBook(object):    ...    def add_contact(self,contact=None):        if contact is None:            contact = Contact.from_input()        self.contacts.append(contact)

现在,您的UI可以创建一个联系人并将其直接传递给address_book.add_contact().

总结

以上是内存溢出为你收集整理的Python – 何时创建类以及何时创建函数全部内容,希望文章能够帮你解决Python – 何时创建类以及何时创建函数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1193117.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存