Python進階(一)Python中的內置函數詳解

dir

  python內置方法有很多,無論是初學者還是精通python的程序員都不能全部記住所有的方法,這時候 dir() 方法就非常有用了,使用 dir()函數可以查看對象內的所有的屬性和方法,在 python中任何東西都是對象,一種數據類型,一個模塊等,都有子集的屬性和方法,除了常用的方法外,其他的你不需要全部記住它,交給dir()函數就好了。

  比如查看列表字符串字典的方法:

print(dir([]))
print(dir(""))
print(dir({}))

  也可以查看模塊裏面的方法:

import random
print(dir(random))

內置方法

  __方法名__格式是python針對對象提供的內置方法/屬性。

  1. __doc__:獲取一個函數的文檔說明,比如:
import random
print(random.randint.__doc__)
>>>Return random integer in range [a, b], including both end points.
  1. __new__:使用類名()創建對象時,會被自動調用。是由object基類提供的內置靜態方法

  使用類名()創建對象時,python的解釋器首先會調用__new__方法爲對象分配空間。然後__init__初始化對象。

  1. __init__對象被初始化時,會被自動調用。
  2. __del__對象從內存中銷燬前,會被自動調用。如果希望在對象被銷燬前,再做一些事情,可以考慮一下__del__方法。
class Ex:
    def __del__(self):
        print("Exit")
a = Ex()
# del a
print("-"*50)
>>> --------------------------------------------------
	Exit

  這裏因爲a是全局變量,只有當程序退出時纔會被銷燬,此時纔會調用__del__()。如果在分割線上方使用del刪除對象的話,就會在分割線上方輸出字符Exit

  1. __str__:返回對象的描述信息print函數輸出使用。
class Ex:
    def __del__(self):
        print("Exit")
    def __str__(self):
        return "Class Name"
a = Ex()
print(a)
>>> Class Name
	Exit

  可以看到上述結果的print(a)輸出調用了__str__

私有屬性和私有方法

  self定義屬性,def定義方法。

  在實際開發中,對象的某些屬性或方法可能只希望在對象的內部被使用,而不希望在外部被訪問到。私有屬性就是對象不希望公開的屬性。私有方法就是對象不希望公開的方法。

  在定義屬性或方法時,在屬性名或者方法名前增加兩個下劃線,定義的就是私有屬性或方法。

  如果父類中有公有方法調用了父類中的私有屬性和私有方法的話,子類可以通過訪問父類中的共有方法間接訪問到私有屬性和私有方法。

僞私有屬性和私有方法

  Python沒有真正意義的私有,在給屬性、方法命名時,實際是對名稱做了一些特殊處理,使得外加無法訪問,處理方法是在名稱前面加上_類名=>_類名__名稱。不過這種方式在新版Python中已經不行了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章