Python中的常见特殊方法或属性—— dir方法和dict属性
2024-10-19 00:58:13
一、__dir__方法
对象的__dir__()方法的作用是列出对象内部所有的属性名和方法名,该方法将会返回包含所有属性或方法名的序列。
如果程序对某个对象执行dir(obj)函数,实际上就是将该对象的__dir__()方法返回值进行排序,然后包装成列表。
栗子如下:
#coding=utf-8
class Item():
def __init__(self,name,price):
self.name=name
self.price=price
def info():
pass
#创建一个Item对象,将之赋值给it变量
it = Item('鼠标',29.8)
#打印所有属性(包含方法)组成的列表
print(it.__dir__())
#打印所有属性(包含方法)组成的列表,已排序
print(dir(it))
控制台打印如下:
解释:可以看到程序不仅会输出我们定义的name、price、info三个属性和方法,而且还有大量的系统内置的属性和方法,比如前两篇所说到的__repr__和__del__方法。
二、__dict__属性
__dict__属性用于查看对象内部存储的所有属性名和属性值组成的字典,通常程序直接使用该属性即可。程序使用__dict__属性既可查看对象的所有内部状态,也可以通过字典语法来访问或修改指定属性的值。
栗子如下:
#coding=utf-8
class Item():
def __init__(self,name,price):
self.name=name
self.price=price
def info():
pass
#创建一个Item对象,将之赋值给it变量
it = Item('鼠标',29.8)
print(it.__dict__)
print(it.__dict__['name'])
print(it.__dict__['price'])
it.__dict__['name'] = '键盘'
it.__dict__['price'] = 39.9
print(it.name)
print(it.price)
控制台打印如下:
解释:代码第10行直接输出对象的__dict__属性,这样将会直接输出该对象内部存储的所有属性名和属性值组成的dict对象;接下来的两行单独打印了这两个属性值;第13、14行通过对__dict__属性对name和price两个属性赋值,然后再次打印就出现了新的属性值。
最新文章
- DevExpress 为TextEdit设置水印文字
- IT励志与指导文章合集(链接)
- 疯狂java学习笔记之面向对象(八) - static和final
- 夺命雷公狗-----React---7--组建的状态props和state
- mssql的日期函数,如何取得当前年月日,当前时间,当前月份,当前天数,一年中第几天?
- 连接SQLServer2005失败--[Microsoft][ODBC SQL Server Driver][DBNETLIB]一般性网络错误。请检查网络文档
- IOS 中得runloop 详细解释
- table不能遗露了tbody
- linux下ip命令用法
- 数组名取地址所算数运算应注意的&;quot;trap&;quot;
- 树状数组-HDU1541-Stars一维树状数组 POJ1195-Mobile phones-二维树状数组
- js内置函数大全及基本使用方法(一)
- Bootstrap3 栅格系统-列偏移
- Collections模块下的Counter
- 【TensorFlow篇】--反向传播
- 定时 清理 elasticsearch 6.5.4 的 索引 文件
- python风格的抽象工厂模式
- PHP抽象方法、抽象类以及接口
- codevs 2804 最大最小数质因数
- 【TP3.2】TP3.2的 FIND_IN_SET()的用法