理解Python中的类对象、实例对象、属性、方法

简介: class Animal(object): # 类对象 age = 0 # 公有类属性 __like = None # 私有类属性 def __init__(self): # 魔法方法 self.
class Animal(object):  # 类对象

    age = 0  # 公有类属性
    __like = None  # 私有类属性

    def __init__(self):  # 魔法方法
        self.name = 'haha'  # 公有实例属性
        self.__sex = 'man'  # 私有实例属性

    def smile(self):  # 公有方法  self指向实例对象
        pass

    def __jump(self):  # 私有方法
        pass

    @classmethod
    def run(cls):  # 类方法  cls 指向类对象
        pass

    @staticmethod
    def msg():  # 静态方法,可以没有参数
        pass

'''
# 类对象: 
将具有相似属性和方法的对象总结抽象为类对象,可以定义相似的一些属性和方法,不同的实例对象去引用类对象的属性和方法,能减少代码的重复率。

# 类属性: 
类对象所有的属性,类对象和实例对象均可以访问,被它们共同拥有; 

# 公有类属性: 
可以在类外修改类属性,需要通过类对象引用直接修改; 
类内可以通过类方法修改类属性。 
如果通过实例对象来引用类属性,相当于实例对象在实例方法中创建了一个和类属性相同的名字,等同于局部变量实例属性,和类属性无关; 

# 私有类属性: 
类外通过类对象引用不能直接更改,只能通过实例方法调用类对象更改。

# 类方法: 
需要修饰器@classmethod,标示其为类方法,类方法的第一个参数必须为类对象,一般用cls表示,通过cls引用的必须是类属性和类方法。

# 静态方法: 
需要修饰器@staticmethod,标示其为静态方法。需要做一些功能,和类相关,但不需要类和对象参与,此时可以使用静态方法,静态方法可以不需要参数。

# 实例对象: 
通过类对象创建的实例对象

# 实例属性: 
通过方法定义的属性 

# 私有实例属性: 
__开头定义的变量名;只能通过方法调用来更改 
公有实例属性: 
可以通过实例对象重新定义

# 实例方法: 
第一个参数公认为self,可以调用类对象和实例对象。

# 私有方法: 
只能在类内调用,如果类外调用,则需要类内的公有方法调用类内的私有方法,在类外调用这个公有方法,则间接调用了私有方法。 
一个程序中最核心的内容,不能随意调用,可以设置为私有方法,通过公有方法的判断去调用私有方法!

# 公有方法: 
可以在类内类外随意调用。

# 魔法方法: 
例如__init__方法,用两个__前后包裹的方法
'''

  

                                                                   -------  知识无价,汗水有情,如需搬运请注明出处,谢谢!

目录
相关文章
|
10天前
|
JSON 数据可视化 API
Python 中调用 DeepSeek-R1 API的方法介绍,图文教程
本教程详细介绍了如何使用 Python 调用 DeepSeek 的 R1 大模型 API,适合编程新手。首先登录 DeepSeek 控制台获取 API Key,安装 Python 和 requests 库后,编写基础调用代码并运行。文末包含常见问题解答和更简单的可视化调用方法,建议收藏备用。 原文链接:[如何使用 Python 调用 DeepSeek-R1 API?](https://apifox.com/apiskills/how-to-call-the-deepseek-r1-api-using-python/)
|
27天前
|
测试技术 Python
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
103 31
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
|
27天前
|
人工智能 自然语言处理 算法
随机的暴力美学蒙特卡洛方法 | python小知识
蒙特卡洛方法是一种基于随机采样的计算算法,广泛应用于物理学、金融、工程等领域。它通过重复随机采样来解决复杂问题,尤其适用于难以用解析方法求解的情况。该方法起源于二战期间的曼哈顿计划,由斯坦尼斯拉夫·乌拉姆等人提出。核心思想是通过大量随机样本来近似真实结果,如估算π值的经典示例。蒙特卡洛树搜索(MCTS)是其高级应用,常用于游戏AI和决策优化。Python中可通过简单代码实现蒙特卡洛方法,展示其在文本生成等领域的潜力。随着计算能力提升,蒙特卡洛方法的应用范围不断扩大,成为处理不确定性和复杂系统的重要工具。
67 21
|
25天前
|
数据挖掘 数据处理 开发者
Python3 自定义排序详解:方法与示例
Python的排序功能强大且灵活,主要通过`sorted()`函数和列表的`sort()`方法实现。两者均支持`key`参数自定义排序规则。本文详细介绍了基础排序、按字符串长度或元组元素排序、降序排序、多条件排序及使用`lambda`表达式和`functools.cmp_to_key`进行复杂排序。通过示例展示了如何对简单数据类型、字典、类对象及复杂数据结构(如列车信息)进行排序。掌握这些技巧可以显著提升数据处理能力,为编程提供更强大的支持。
32 10
|
2月前
|
安全
Python-打印99乘法表的两种方法
本文详细介绍了两种实现99乘法表的方法:使用`while`循环和`for`循环。每种方法都包括了步骤解析、代码演示及优缺点分析。文章旨在帮助编程初学者理解和掌握循环结构的应用,内容通俗易懂,适合编程新手阅读。博主表示欢迎读者反馈,共同进步。
|
2月前
|
存储 数据处理 Python
Python如何显示对象的某个属性的所有值
本文介绍了如何在Python中使用`getattr`和`hasattr`函数来访问和检查对象的属性。通过这些工具,可以轻松遍历对象列表并提取特定属性的所有值,适用于数据处理和分析任务。示例包括获取对象列表中所有书籍的作者和检查动物对象的名称属性。
43 2
|
2月前
|
数据采集 存储 XML
python实战——使用代理IP批量获取手机类电商数据
本文介绍了如何使用代理IP批量获取华为荣耀Magic7 Pro手机在电商网站的商品数据,包括名称、价格、销量和用户评价等。通过Python实现自动化采集,并存储到本地文件中。使用青果网络的代理IP服务,可以提高数据采集的安全性和效率,确保数据的多样性和准确性。文中详细描述了准备工作、API鉴权、代理授权及获取接口的过程,并提供了代码示例,帮助读者快速上手。手机数据来源为京东(item.jd.com),代理IP资源来自青果网络(qg.net)。
|
5月前
|
Python
Python类中属性和方法区分3-8
Python类中属性和方法区分3-8
|
8月前
|
Python
Python尝试访问不存在的属性或方法
【6月更文挑战第2天】
92 3
|
9月前
|
数据库 Python
python面型对象编程进阶(继承、多态、私有化、异常捕获、类属性和类方法)(下)
python面型对象编程进阶(继承、多态、私有化、异常捕获、类属性和类方法)
106 0

热门文章

最新文章