美文网首页
《Python基础教程》學習筆記

《Python基础教程》學習筆記

作者: 余顺太 | 来源:发表于2020-08-12 11:10 被阅读0次
class MyClass:
    pi = 3.14   # 因为pi前没有self所以pi属于MyClass这个类,因此也属于该类将来创建的实例。对于实例而言它就叫做self.pi,而对于类而言它就叫做MyClass.pi。

    def __init__(self,value=42):
        self.tmp = value   #因为tmp前面加上了self,所以这里的self.tmp不属于类(即不存在MyClass.tmp)而是属于该类创建的实例,因为带self的是实例的属性,不是类的属性,带self的只存在于实例中。
>>> f = MyClass()   #创建实例
>>> f.tmp   #tmp是在类中带上了self所以tmp是实例属性,f就是实例。
42

>>> MyClass.tmp    #tmp不是类属性,所以这个将会失败
Traceback (most recent call last):
 ......

>>> MyClass.pi   #pi是类属性
3.14
>>> f.pi   #pi前没有self,所以pi既是类属性也是由类创建出来的实例属性。
3.14

9.5.1 函数property的理解


class Rectangle:
    def __init__ (self):
        self.width = 0
        self.height = 0
        self.area = 0
    def set_size(self, size):
        self.width, self.height = size   #将高和宽都称为size,这样管理起来比较方便
         self.area = self.width * self.height = size
    def get_size(self):
        return self.width, self.height
    size = property(get_size,set_size)  #获取方法在前,设置方法在后。这里其实产生的是self.size,这里省略了self


rect = Rectangle()
print (rect.get_size())

rect.size = 10,5  #将宽高理解成一组东西,叫做size,对size这一个属性进行更改,就相当于更改了两个属性。size是类(Rectangle())中一个实例(rect)的属性。可以直接在外面进行赋值操作。执行赋值语句的时候会调用set_size的方法,将10和5作为参数,传递进去。
print (rect.get_size())
print (rect.size)


#有一些属性,然后定义一个设置这些属性的方法(给它们取一个名字,这里是size),再定义一个获取这些属性的方法,然后给

还可以计算面积

9.5.2 静态方法和类方法

#一般的对象方法在没有创建实例的时候没法调用

class MyClass:
    def foo(self):
        print ('hi')

MyClass.foo()  #没有创建实例,无法调用方法

tmp = MyClass() #创建实例tmp
tmp.foo()  #通过实例调用方法

#不创建实例有三种策略可使函数在外部被调用;
#其实也可以
#策略一:
MyClass().foo()

#策略二:静态方法

class MyClass:
    def foo():
        print ('hi')
    foo = staticmethod(foo)  


#策略三:类方法.
#类方法中要包含参数cls
class MyClass:
    def foo(cls):  
        print ('hi')
    foo = classmethod(foo)  

相关文章

  • 《Python基础教程》學習筆記

    9.5.1 函数property的理解 还可以计算面积 9.5.2 静态方法和类方法

  • Pocket API + Python 學習筆記

    原先我只了解evernote可以離線閱讀文章,但evernote對於多裝置(免費用戶)實在是不方便。 直到有天,我...

  • 自學烏克麗麗-高頻小套路

    # 學烏克麗麗-自學筆記 學習的心情一定要開心,不要有壓力。 1. 設定學習目的,ex:自彈自唱(自嗨) 2. 選...

  • Kotlin學習筆記

    變數(variable) 1.不可改變的變數 2.可以改變的變數 example: 方法 預設是final, pu...

  • 學習筆記1

    #筆記 羅胖今天講新書《事實》還有每天聽書的《心智》讓我大受啟發,立刻被我列為必讀書單。 《事實》讓我們用長時段看...

  • 學習筆記分享

    恬淡虛無 真氣從之,宇宙法則,馬太效應:好的人會越來越好,壞的人越來越壞 淡是平淡 淡淡的 反義詞:酸苦甘辛甜 重...

  • KT小白筆記|第9課 ULORD原鏈及技術優勢(下)

    整理這堂筆記時,市場上依舊片野哀嚎... 這個小白筆記系列...記錄著自己一步一步學習一個嶄新科技領域的過程,同時...

  • React PropTypes 學習筆記

    在使用react做項目的時候,通常會使用prop-types輔助庫,這個庫在開發中幫助我們辨識props中屬性的類...

  • Kotlin學習筆記(一)

    kotlin類型安全 kotlin常用操作符 Elvis操作符 ?:如果?:左邊表達式非空,elvis返回左邊結果...

  • 煉裝學習筆記

    11月TCG才出,不虛,慢慢學。 目錄煉裝系統:煉裝系統: 稀炼装勇士·铋巫煉裝系統: 本家魔法陷阱煉裝系統: 融...

网友评论

      本文标题:《Python基础教程》學習筆記

      本文链接:https://www.haomeiwen.com/subject/ylypdktx.html