簡體   English   中英

在python中創建對象實例的問題

[英]problems of creating object instances in python

我想定義一個類並創建一個對象實例。 但總是得到錯誤。 代碼如下:

class complex:
    def _init_(self,realpart,imagpart):
        self.r=realpart
        self.i=imagpart

x=complex(3,4)

錯誤消息是:

Traceback (most recent call last):<br>
  File "pyshell#5", line 1, in "module" <br>
  x=complex(3,4) <br>
  TypeError: object.__new__() takes no parameters

那有什么問題?

謝謝你的閱讀!

_init_每邊應該有兩個下划線:

>>> class complex:
...     def __init__(self,realpart,imagpart):
...         self.r=realpart
...         self.i=imagpart
... 
>>> x=complex(3,4)

另外,您知道,Python已經有一個complex類型:

>>> 2+3j
(2+3j)
>>> complex(2, 3)
(2+3j)

__init__應該有2個下划線而不是1

所以

def _init_(self,realpart,imagpart):

應該

def __init__(self,realpart,imagpart):
  • 還有一個建議,而不是多個賦值,元組解包將更具可讀性和邊際效率

  • 首選新的Type類構造,它派生自object

  • PEP8建議將CamelCase用於類名

  • 如果可以的話,請務必使用電池,而不是自己動手。 Python默認支持復雜類型

這就是它

class complex(object):
    def __init__(self,realpart,imagpart):
        self.r, self.i=realpart, imagpart

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM