Python中查看对象的所有属性和方法以及查看属性是否存在

2023-12-05

Python中查看对象的所有属性和方法以及查看属性是否存在

作者:爱编程的小金毛球球 日期:2023年12月3日

Python提供许多的内置函数和模块来帮助开发人员查看对象的所有属性,例如:dir(),vars(),__dict__等。

dir()函数查看对象的所有属性

dir()是Python内置函数之一,帮助检查给定对象的所有方法和属性,包含方法、变量、函数等。dir()函数用于枚举一个类或实例中的所有属性和方法。

语法:dir([object=None])
#!/usr/bin/env python3
# 定义一个字符串变量,并查看其所有属性和方法

sweet_talk= 'i love u'
print(dir(sweet_talk))
# 输出(list):
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', 
'__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', 
'__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', 
'__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 
'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 
'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 
'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'removeprefix', 'removesuffix', 'replace', 'rfind', 'rindex', 
'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 
'translate', 'upper', 'zfill']

使用vars()函数和__dict__属性来查看对象的所有属性

与dir()函数不同,vars()函数和__dict__属性是专门用来查看对象的属性和值,我们可以使用vars()函数来查看用户自定义对象或内置对象的属性,使用__dict__属性来查看给定对象的所有属性。vars()函数和__dict__属性使用方法类似。

语法:vars([object=None])
# 定义一个Student类,属性包括name、sex、age
class Student:
	def __init__(self, name, sex, age):
		self.name = name
		self.sex = sex
		self.age = age

Jack = Student("Jack", "man", 10)
Tom = Student("Tom", "woman", 9)

print(vars(Jack))
print(Tom.__dict__)
# 输出(dict):
{'name': 'Jack', 'sex': 'man', 'age': 10}
{'name': 'Tom', 'sex': 'woman', 'age': 9}

使用hasattr()函数判断对象是否包含对应属性

语法:hasattr(object, name)
object--对象
name--字符串,属性名
存在该属性返回True,否则返回False

以上面定义的Student类为例

print(hasattr(Tom, 'name'))
print(hasattr(Jack, 'score'))

#输出
True
False
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python中查看对象的所有属性和方法以及查看属性是否存在 的相关文章

随机推荐

  • (附源码)springboot学生考勤管理系统 毕业设计29554

    目 录 摘要 1 绪论 1 1课题背景及意义 1 2国内外研究现状 1
  • (附源码)python兴农购物网站系统 计算机毕设38256

    Django兴农购物网站系统 摘 要 助农工作是当前我国全面建成小康社会的重点工作 由于我国农村地域广大 贫困人口多 区域差异大 因此 不同区域的扶贫方法也是不一样的 近年来 随着网络的普及 许多农村地区物产丰富 但由于销售渠道不畅等原因
  • (附源码)基于ssm体育馆场地预约系统app-计算机毕设 25510

    ssm体育馆场地预约系统app 摘要 随着互联网的趋势的到来 各行各业都在考虑利用互联网将自己的信息推广出去 最好方式就是建立自己的平台信息 并对其进行管理 随着现在智能手机的普及 人们对于智能手机里面的应用 体育馆场地预约系统app 也在
  • (附源码)springboot美食推荐系统 毕业设计29145

    摘 要 美食作为社会化网络的一项服务 逐渐和网络社区结合成一种互联网美食经济产业链 在快节奏的生活中 相较于传统的美食网站解决大众吃什么的烦恼 服务于用户并展示美食的菜品和价格 一个体系结构清晰且资源丰富的基于微信小程序的美食推荐系统的搭建
  • (附源码)基于SSM动漫展示系统的开发-计算机毕设 25454

    SSM动漫展示系统的开发 摘 要 21世纪 全球网络化 科技在突飞猛进 我们的生活也随之发生了极大的变化 随着计算机的普及 我们社会和经济生活中的各个领域也在发生改变 人们进行信息交流的深度与广度在不断增加 这使得传统的行业模式也要跟随时代
  • 《LeetCode力扣练习》代码随想录——哈希表(三数之和---Java)

    LeetCode力扣练习 代码随想录 哈希表 三数之和 Java 刷题思路来源于 代码随想录 15 三数之和 排序双指针 class Solution public List
  • 算法设计与实现--贪心篇

    贪心算法 贪心算法是一种在每一步选择中都采取当前状态下最优决策的算法 以期望能够通过一系列局部最优的选择达到全局最优 贪心算法的关键是定义好局部最优的选择 并且不回退 即一旦做出了选择 就不能撤销 一般来说 贪心算法适用于满足以下两个条件的
  • 算法设计与实现--动态规划篇

    什么是动态规划算法 动态规划算法是一种求解复杂问题的方法 通过将原问题分解为相对简单的子问题来求解 其基本思想是将待求解的问题分解为若干个子问题 阶段 按顺序求解子阶段 前一子问题的解 为后一子问题的求解提供了有用的信息 在求解任一子问题时
  • 光伏储能虚拟同步发电机并网仿真模型(Simulink仿真实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 目录 1 概述 2 运行结果 3 参考文献 4 Simulink仿真实现 1 概述 光伏储能虚拟同步发电
  • 【无标题】

    Postman是大家最常用的API调试工具 那么有没有一种方法可以不用手动写入接口到Postman 即可进行接口调试操作 今天给大家推荐一款IDEA插件 Apipost Helper 写完代码就可以调试接口并一键生成接口文档 而且还可以根据
  • 浅谈Django之单元测试

    一 什么是 单元测试 单元测试 是用来对一个模块 一个函数或者一个类来进行正确性检验的测试工作 如果测试通过则说明我们这个函数或功能能够正常工作 如果失败要么 测试用例 不正确 要么函数有bug需要修复 二 如何使用单元测试 from dj
  • 代码写完直接调试!IDEA插件还能这么用

    IDEA是一款功能强大的集成开发环境 IDE 它可以帮助开发人员更加高效地编写 调试和部署软件应用程序 我们在编写完接口代码后需要进行接口调试等操作 一般需要打开额外的调试工具 今天给大家介绍一款IDEA插件 Apipost Helper
  • 基于WOA-BP鲸鱼算法优化BP神经网络多维分类预测研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 数据 讲解文档
  • 英语学习(去餐馆篇)

    一 预定餐位 1 餐馆 1 谈论食物 Seafood is their specialty 海鲜是他们的特色菜 They serve authentic Italian food 他们供应正宗意大利菜 2 谈论餐馆名声 The restau
  • 《LeetCode力扣练习》代码随想录——哈希表(四数之和---Java)

    LeetCode力扣练习 代码随想录 哈希表 四数之和 Java 刷题思路来源于 代码随想录 18 四数之和 排序双指针 class Solution public List
  • 国产API调试插件:Apipost-Helper

    前言 Idea 是一款功能强大的集成开发环境 IDE 它可以帮助开发人员更加高效地编写 调试和部署软件应用程序 Idea 还具有许多插件和扩展 可以根据开发人员的需要进行定制和扩展 从而提高开发效率 今天我们就来介绍一款国产的API调试插件
  • BP-AdaBoost算法研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码及数据
  • 频次最高的38道selenium面试题及答案

    1 selenium的原理是什么 selenium的原理涉及到3个部分 分别是 浏览器 driver 一般我们都会下载driver client 也就是我们写的代码 client其实并不知道浏览器是怎么工作的 但是driver知道 在sel
  • ssh免密登录gitee

    文章目录 一 简介 二 实现流程 1 生成公钥和私钥 2 在Gitee上创建仓库 3 GoLand的连接Gitee 4 上传 实现本机与Gitee码云之间的免密码登录 通过SSH协议 用于通过Git与远程仓库进行通信 将本地仓库推送到远程仓
  • Python中查看对象的所有属性和方法以及查看属性是否存在

    Python中查看对象的所有属性和方法以及查看属性是否存在 作者 爱编程的小金毛球球 日期 2023年12月3日 Python提供许多的内置函数和模块来帮助开发人员查看对象的所有属性 例如 dir vars dict 等 dir 函数查看对