广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python相关问题代码分析
  • 940
分享到

Python相关问题代码分析

2023-07-06 00:07:53 940人浏览 八月长安

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

摘要

这篇文章主要介绍“python相关问题代码分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python相关问题代码分析”文章能帮助大家解决问题。1、反射算术运算符你可能知道 Python 里面的魔

这篇文章主要介绍“python相关问题代码分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python相关问题代码分析”文章能帮助大家解决问题。

1、反射算术运算符

你可能知道 Python 里面的魔法函数,比如 __add__ 和 __sub__ 代表 + - 运算符,表示 obj +/- something,但你可能不知道还有一个 __radd__,__rsub__ 函数,可以表示 something +/- obj。

举例如下:

class Dog:def __add__(self, other):return "from __add__"def __radd__(self, other):return "from __radd__"dog = Dog()print(dog + 1) # from __add__print(1 + dog) # from __radd__
2、__getattr__ vs __getattribute__

__getattr__ 魔术方法只有在我们试图获取不存在的属性时才会被调用,__getattribute__ 在每次我们尝试访问属性时都会被调用。

代码如下:

class Dog:def __init__(self, name, age):self.name = nameself.age = agedef __getattr__(self, key):return f"{key} not found"dog = Dog("taidi", 5)print(dog.name)# taidiprint(dog.age) # 5print(dog.breed) # breed not found
class Dog:def __init__(self, name, age):self.name = nameself.age = agedef __getattribute__(self, key):return f"{key} not found"dog = Dog("taidi", 5)print(dog.name)# name not foundprint(dog.age) # age not foundprint(dog.breed) # breed not found
3、super().__init__() 的另一种写法
class Animal:def __init__(self, name, age):self.name = nameself.age = ageclass Dog(Animal):def __init__(self, name, age, breed):super().__init__(name, age)self.breed = breed

等价于:

class Animal:def __init__(self, name, age):self.name = nameself.age = ageclass Dog(Animal):def __init__(self, name, age, breed):Animal.__init__(self, name, age)self.breed = breed

请注意,Animal.__init__(self, name, age) 不能少了 self 参数。

4、检查子类的方法
class Animal: passclass Dog(Animal): passclass Cat(Animal): passclass GermanSheperd(Dog): passprint(Animal.__subclasses__())# [,]

不过,.__subclasses__() 只能检查直接子类。

5、多重集成时,同名函数,子类用的是哪一个?
class A:def test(self):print("A")class B:def test(self):print("B")class C(A, B):passC().test() # A

A 和 B 都有 test 方法,那么 C 到底集成了哪一个呢?在 Python 中,最左边的类优先。

在这里,A 是最左边的父类,因此 A 的 test 方法被集成。

多充继承让人困惑,不用为好。

6 __invert__ 魔法函数
class Dog:def __invert__(self):return "test"dog = Dog()print(~dog) # test

~ 运算符代表“按位非”,通常用于反转内容。一个更有意义的例子如下:

class Coordinate:def __init__(self, x, y):self.x = xself.y = ydef __str__(self):return f"({self.x}, {self.y})"def __invert__(self):return Coordinate(-self.x, -self.y)a = Coordinate(3, 4)b = ~aprint(a, b) # (3, 4) (-3, -4)
7、不使用 class 来创建类
def init(self, name, age):self.name = nameself.age = agedef bark(self):print("woof")Dog = type("Dog", (), {"__init__":init, "bark":bark})dog = Dog("taidi", 10)print(dog.name)print(dog.age)# taidi# 10

在这里,我们将 3 个参数传递给 type 以创建我们的类。

第一个参数 __name__ 是类的名称 第二个参数 __bases__ 是一个包含父类的元组 第三个参数 __dict__ 是一个包含属性和方法的字典。

等价于:

class Dog:def __init__(self, name, age):self.name = nameself.age = agedef bark(self):print("woof")

关于“Python相关问题代码分析”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网Python频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: Python相关问题代码分析

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python相关问题代码分析
    这篇文章主要介绍“Python相关问题代码分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python相关问题代码分析”文章能帮助大家解决问题。1、反射算术运算符你可能知道 Python 里面的魔...
    99+
    2023-07-06
  • ADO.NET构造相关问题分析
    这篇文章主要讲解了“ADO.NET构造相关问题分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ADO.NET构造相关问题分析”吧!ADO.NET构造使用强类型DataSet的好处 ADO....
    99+
    2023-06-17
  • 相关性分析热力图(Python&Matlab代码实现)
    目录 1 热力图 1.1 简介 1.2 语法  2 算例1(Python代码实现) 2.1 算例 2.2 Python代码 2.3 运行结果  3 算例2(Python代码实现) 4 算例3(Python代码实现) 4.1 算例 4.2 P...
    99+
    2023-09-02
    python 开发语言 相关性分析 matlab
  • python皮尔逊相关性数据分析分析及实例代码
    目录前言数值类型皮尔逊系数使用场景皮尔逊相关系数(Pearson correlation)1.定义2.线性关系判定3.正态检验1.KS检验4.计算代码前言 相关性分析算是很多算法以...
    99+
    2023-02-15
    python皮尔逊相关性 python 数据分析
  • 分析Android多主题颜色的相关问题
    如果您通过以下的代码来获取定义的颜色值 context.getResources().getColor(R.color.some_color_resource_id); 在...
    99+
    2022-06-06
    Android
  • Java表达式相关问题实例分析
    本篇内容介绍了“Java表达式相关问题实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Code Golf中的一位挑战者在比赛中写了下面...
    99+
    2023-06-02
  • 怎样分析MySQL中锁的相关问题
    这篇文章给大家介绍怎样分析MySQL中锁的相关问题,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。锁分类:从对数据操作的粒度分 :表锁:操作时,会锁定整个表。行锁:操作时,会锁定当前操作行。从对数据操作的类型分:读锁(共...
    99+
    2023-06-22
  • VS2005代码相关技巧的示例分析
    这篇文章主要为大家分析了VS2005代码相关技巧的示例分析的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“VS2005代码相关技巧的示例分析”的知识吧。VS2...
    99+
    2023-06-17
  • 新建立的数据库相关问题分析
    本篇文章给大家分享的是有关新建立的数据库相关问题分析,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。建立数据库后遇...
    99+
    2022-10-19
  • 关于dns密码的问题分析
    关于dns密码的问题分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。小弟一直以来都在寻找关于DNS配置,无奈很多资料都是过时的,特别关于KEY和RNDC的部分...
    99+
    2023-06-13
  • 关于pytorch相关部分矩阵变换函数的问题分析
    目录1、tensor 维度顺序变换 BCHW顺序的调整2、矩阵乘法相关函数,矩阵乘,点乘3、求取矩阵对角线元素,或非对角线元素1、tensor 维度顺序变换 BCHW顺序的调整 te...
    99+
    2022-11-13
  • Spearman 相关性分析法,以及python的完整代码应用
    Spearman 相关性分析法 简介 Spearman 相关性分析法是一种针对两个变量之间非线性关系的相关性计算方法,同时,它不对数据的分布进行假设。该方法的基本思想是将两个(也可以多个)变量的值...
    99+
    2023-09-09
    python pandas 数据分析
  • 如何分析Visual Studio 2005插件的相关问题
    这期内容当中小编将会给大家带来有关如何分析Visual Studio 2005插件的相关问题,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。首先,我认为这是一个很有用的插件,如果继续得到改进和增强,我想该插...
    99+
    2023-06-17
  • 分析PostgreSQL SetupLockInTable方法中与OOM相关的代码
    这篇文章主要介绍“分析PostgreSQL SetupLockInTable方法中与OOM相关的代码”,在日常操作中,相信很多人在分析PostgreSQL SetupLockInTable方法中与OOM相关...
    99+
    2022-10-18
  • 分析PostgreSQL中参数设置与事务相关问题
    本篇内容主要讲解“分析PostgreSQL中参数设置与事务相关问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“分析PostgreSQL中参数设置与事务相关问题...
    99+
    2022-10-18
  • C++回溯算法中组合的相关问题分析
    目录一、组合二、组合总和III与组合总和1.组合总和III2.组合总和3.组合总和II三、电话号码的字母组合 回溯算法模板 void backtracking(参数) { ...
    99+
    2023-03-15
    C++回溯算法组合 C++回溯算法
  • 如何解析Python源码分析的相关操作步骤
    今天就跟大家聊聊有关如何解析Python源码分析的相关操作步骤,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Python是一种动态的脚本语言。具体的我就不多介绍了,源代码链接在这里:...
    99+
    2023-06-17
  • 纯C++二叉树相关操作实例代码分析
    这篇“纯C++二叉树相关操作实例代码分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“纯C++二叉树相关操作实例代码分析”文...
    99+
    2023-07-02
  • 打包 Python 代码时,需要注意哪些与索引相关的问题?
    在 Python 编程中,我们常常需要将代码打包成可执行文件或者发布到 PyPI 等代码仓库中。在打包代码时,有一些与索引相关的问题需要我们注意。 包名重复 在打包 Python 代码时,我们需要给代码指定一个包名,如果你的包名与已经...
    99+
    2023-10-08
    关键字 打包 索引
  • Centos下YUM源配置及相关问题的示例分析
    小编给大家分享一下Centos下YUM源配置及相关问题的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! Centos下YUM源配置及相关问题应用篇 yum源配置在工作中会经常用...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作