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中已经不行了。

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