簡體   English   中英

Python-如何在不創建對象的情況下使用屬性

[英]Python - How use properties without creating an object

我如何編寫一個類使此代碼起作用。

class number:

    def double(self):
        return n*2

print(number(44).double)
>> 88

好了,您可以用property裝飾number.double方法:

class number:
    def __init__(self, number):
        self.number = number
    @property
    def double(self):
        return self.number * 2


print(number(42).double) # 84

如果您知道參數的類型,則最好繼承它的number 例如

class number(int):
    @property
    def double(self):
        return type(self)(self * 2)

print(number(42).double) # 84
print(number(42).double.double) # 168

這個給你:

class Number(object):

    def __init__(self, n):
        self.n = n

    def double(self):
        return 2*self.n

print(Number(44).double())

一些注意事項:

  1. 由於double()Number類(而不是屬性)的方法,因此需要使用括號來調用它。
  2. 在Python中,為類提供大寫名稱被視為標准做法。
  3. 如果要定義一個實例變量(在這種情況下n ,或44 ,則必須def__init__()函數,它給出了如何創建或初始化類的實例解釋說明。

希望這會有所幫助,並祝你好運!

暫無
暫無

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

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