返回顶部
首页 > 资讯 > 后端开发 > Python >python中class(object)的含义是什么以及用法
  • 418
分享到

python中class(object)的含义是什么以及用法

pythonclasspythonobjectpythonclass(object) 2023-02-03 18:02:30 418人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录python class(object)的含义class, class()和class(object)的区别为什么要继承object类class, class()和class(o

Python class(object)的含义

在python2中有区别,在python3中已经没有区别:

object为默认类,表示继承关系

class Person:
    name = "zhengtong"

class Animal(object):
    name = "chonghong"
 
if __name__ == "__main__":
    x = Person()
    print( "Person", dir(x))
 
    y = Animal()
    print ("Animal", dir(y))

Python3中运行结果:

person [‘class’, ‘delattr’, ‘dict’, ‘dir’, ‘doc’, ‘eq’, ‘fORMat’, ‘ge’, ‘getattribute’, ‘gt’, ‘hash’, ‘init’, ‘init_subclass’, ‘le’, ‘lt’, ‘module’, ‘ne’, ‘new’, ‘reduce’, ‘reduce_ex’, ‘repr’, ‘setattr’, ‘sizeof’, ‘str’, ‘subclasshook’, ‘weakref’, ‘name’]
animal [‘class’, ‘delattr’, ‘dict’, ‘dir’, ‘doc’, ‘eq’, ‘format’, ‘ge’, ‘getattribute’, ‘gt’, ‘hash’, ‘init’, ‘init_subclass’, ‘le’, ‘lt’, ‘module’, ‘ne’, ‘new’, ‘reduce’, ‘reduce_ex’, ‘repr’, ‘setattr’, ‘sizeof’, ‘str’, ‘subclasshook’, ‘weakref’, ‘name’]

class, class()和class(object)的区别

为什么要继承object类

Python2中,遇到 class A 和 class A(object) 是有概念上和功能上的区别的,分别称为经典类(旧式类,old-style)与新式类(new-style)的区别。python2中为什么在进行类定义时最好要加object,加 & 不加如下实例。

历史进程:2.2以前的时候type和object还不统一. 在2.2统一到3之间, 要用class

  • Foo(object)来申明新式类, 因为它的type是 < type ‘type’ > 。
  • 不然的话, 生成的类的type就是 <type ‘classobj’ >。

继承object类的原因:主要目的是便于统一操作。

  • 在python 3.X中已经默认继承object类。
# -.- coding:utf-8 -.-
# __author__ = 'zhengtong'


class Person:
    """
    不带object
    """
    name = "zhengtong"


class Animal(object):
    """
    带有object
    """
    name = "chonghong"

if __name__ == "__main__":
    x = Person()
    print "Person", dir(x)

    y = Animal()
    print "Animal", dir(y)

Person ['__doc__', '__module__', 'name']
Animal ['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', 
'__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', 
'__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'name']

Person类很明显能够看出区别,不继承object对象,只拥有了doc , module 和 自己定义的name变量, 也就是说这个类的命名空间只有三个对象可以操作。

Animal类继承了object对象,拥有了好多可操作对象,这些都是类中的高级特性。

class, class()和class(object)的区别

python2中写为如下两种形式都是不能继承object类的,也就是说是等价的。

def class:
def class():

继承object类是为了让自己定义的类拥有更多的属性,以便使用。当然如果用不到,不继承object类也可以。

python2中继承object类是为了和python3保持一致,python3中自动继承了object类。

python2中需要写为如下形式才可以继承object类。

def class(object):

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: python中class(object)的含义是什么以及用法

本文链接: https://lsjlt.com/news/194163.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python中class(object)的含义是什么以及用法
    目录python class(object)的含义class, class()和class(object)的区别为什么要继承object类class, class()和class(o...
    99+
    2023-02-03
    python class python object python class(object)
  • JavaScript中.?、??、??=的用法及含义是什么
    今天小编给大家分享一下JavaScript中.、、=的用法及含义是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。可选链(...
    99+
    2023-06-29
  • vue中$的含义及用法是什么
    这篇文章主要讲解了“vue中$的含义及用法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue中$的含义及用法是什么”吧!这些只是Vue的命名规则,为了区分普通变量属性,避免我们自己声...
    99+
    2023-07-06
  • python中 @的含义以及基本使用方法
    目录一、表示修饰符。二、表示矩阵乘法。总结一、表示修饰符。 可以在模块或者类的定义层内对函数进行修饰。出现在函数定义的前一行,不允许和函数定义在同一行。 一个修饰符就是一个函数,它将...
    99+
    2024-04-02
  • mysql explain中key_len的含义以及计算方法是什么
    这篇文章主要为大家展示了“mysql explain中key_len的含义以及计算方法是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql explain中key_...
    99+
    2023-06-29
  • 聊聊JavaScript中.?、??、??=的用法以及含义
    目录前言可选链(.)空值合并运算符()空值赋值运算符(=)趣味问答时间:值得注意的是 : 是忽视 null ,undefined 等错误的值最后前言 在项目中我们往往要做很多很多的空...
    99+
    2024-04-02
  • linux cd的含义以及用法
    linux cd是什么意思? linux中cd的意思是change directory即切换目录。 Linux cd命令用于切换当前工作目录至 dirName(目录参数)。 其中 dirName 表示法可为绝对klOzg...
    99+
    2022-06-04
    linux cd
  • python中class的用法是什么
    在Python中,class是一种用于创建对象的蓝图或模板。它定义了一组属性和方法,这些属性和方法描述了该类创建的对象的特性和行为。...
    99+
    2023-10-21
    python
  • python中%和~的含义是什么
    本篇内容介绍了“python中%和~的含义是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!%有哪几种含义?查找手册翻看《The Pyth...
    99+
    2023-06-30
  • MySQL中“SELECT”语句的含义是什么以及如何使用它?
    SELECT命令用于从MySQL数据库中获取数据。您可以在 mysql> 提示符以及任何脚本(例如 PHP)中使用此命令。语法以下是从 MySQL 表中获取数据的 SELECT 命令的通用语法 - p>SELECT field1, ...
    99+
    2023-10-22
  • python魔法方法的含义是什么
    Python中的魔法方法(Magic methods)是一些特殊的方法,它们以双下划线(__)开头和结尾,并具有特定的功能和含义。这...
    99+
    2023-10-23
    python
  • python多态的含义及优点是什么
    多态是面向对象编程中的一个概念,指的是同一种行为具有多种不同的表现形式。在Python中,多态可以通过方法重写和方法重载来实现。 优...
    99+
    2023-10-25
    python
  • Python类中self的含义是什么
    在Python中,`self`是一个惯用的参数名,用于表示对象自身。它在类的方法中作为第一个参数传递,用于访问该对象的属性和方法。当...
    99+
    2023-10-12
    Python
  • format在python中的含义是什么
    在Python中,`format`是一个内置函数,用于对字符串进行格式化处理。它用于创建带有占位符的字符串模板,并将指定的值填充到占位符中。这样可以根据不同的情形动态地构建字符串,使输出更具可读性和可定制性。在Python中,`format...
    99+
    2023-07-31
  • MySQL explain中列的取值方法及含义是什么
    这篇文章主要介绍“MySQL explain中列的取值方法及含义是什么”,在日常操作中,相信很多人在MySQL explain中列的取值方法及含义是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对...
    99+
    2023-07-05
  • JavaScript中Set的含义和用法是什么
    本篇内容介绍了“JavaScript中Set的含义和用法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成...
    99+
    2024-04-02
  • css中id和class的定义格式以及使用方法
    本篇内容介绍了“css中id和class的定义格式以及使用方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成...
    99+
    2024-04-02
  • Python中下划线的含义是什么
    这篇文章给大家介绍Python中下划线的含义是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。格式例子作用及含义单下划线开头_var仅供内部使用,通常不会有python解释器强制执行末尾单下划线var_单个末尾下划线...
    99+
    2023-06-26
  • python中eval函数的含义是什么
    eval函数是一个内建函数,用于将字符串作为代码执行。它将字符串作为参数,并在全局或局部命名空间中执行字符串中的Python表达式,...
    99+
    2023-10-22
    python
  • 静态IP的含义及作用是什么
    本篇内容介绍了“静态IP的含义及作用是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!我相信很多经常上网的伙伴都不知道IP地址,但也有不太...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作