一、dir()函數及基本用法
Python中的dir()函數是一個非常有用的函數,可以返回任何對象(模塊、函數、變數,等等)的屬性列表。如果沒有提供參數,那麼它將返回當前作用域內的所有名稱。關於dir()函數的基本用法,我們可以通過下面的示例進行演示:
# 示例1 >>> a = [1, 2, 3, 4] >>> dir(a) ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'] # 示例2 >>> import math >>> dir(math) ['__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'lcm', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'm', 'modf', 'multiply', 'nan', 'nextafter', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'subtract', 'tan', 'tanh', 'tau', 'trunc'] # 示例3 >>> dir() ['__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'a', 'math']
從上面的三個例子可以發現,dir()函數能返回一個由字元串組成的列表。列表中包含有對象所定義的名稱、方法名稱等。值得注意的是,列表中包括兩種類型的名稱:屬性和方法。
二、dir()函數的參數
dir()函數也可以接收參數,用於指定所要返回信息的類型。下面我們來了解一下Dir函數在不同情況下的參數設定
>dir()函數的一般用法
dir()函數不需要參數
>>> a = 1 >>> dir() ['__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'a']
>dir()函數指定模塊名
dir(moduleName)函數可以返回指定模塊內部的屬性,包括函數、變數、類和子模塊等。
# 例子1 import os print(dir(os)) # 例子2(from…import寫法) from os import * print(dir())
>dir()函數指定類名
dir(className)可以查看該類中的屬性和方法(包含繼承自父類的屬性)。
# 例子 class MyClass(): a = 1 def __init__(self): self.b = 2 def func(self): print('func called') print(dir(MyClass))
>dir()函數指定對象
dir(objectName)返回該對象所有屬性和方法。這個object可以是任何類型。例如:一個字元串類型、整型、列表、元組、自定義對象等。
# 例子1(自定義對象) class Student: def __init__(self, name, age): self.name = name self.age = age stu = Student('Jerry', 18) print(dir(stu)) # 例子2(字元串類型) str = 'hello' print(dir(str))
三、小結
dir()函數是Python編程中常用的一個函數,通過查看獲取對象的屬性和方法列表,大大提高了我們的編程效率。這個函數非常容易使用,可以指定多種參數,對不同的對象進行操作,可以讓我們更好地理解和使用Python語言。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/236430.html