1、dir函数
dir()函数的参数是你传入的对象,它会返回对象的属性和方法。比如字符串,当你不记得某个方法的拼写就可以用该函数查询字符串的所有方法。
2、使用
- 查询字符串,一个双引号就是字符串类,所以以下代码就是查询字符串的所有属性。
print(dir(""))
同理,
2. 查询元组
print(dir(()))
3. 查询列表
print(dir([]))
4. 查询字典
print(dir({}))
3、查询非内置类
除了上述内置类可以查询,所有对象都可以查询,所以如果我们自己写的类也是可以查询的,查询方法一样。
首先,定义一个类:
class DIR_Test:
def __init__(self, a):
self.a = a
self.b = 2
self.c = "hello dir"
def train(self):
pass
def eval(self):
pass
先来看看不实例化,直接查询:
print(dir(DIR_Test))
如果实例化后,再查询:
dir_test = DIR_Test(a=1)
print(dir(dir_test))
可以看出:
- 没有实例化后查询,只能看到方法;实例化后再查询,可以看到方法和属性。因为只有实例化后才能把属性的值定下来,所以正确的使用方法是先实例化再使用。
- 比如上面查询列表,传入的是"[]"实际上就已经实例化了一个对象。
- dir查询到的属性是没有值的