iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python类的高级函数详解
  • 277
分享到

Python类的高级函数详解

2024-04-02 19:04:59 277人浏览 独家记忆

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

摘要

__str__函数 如果定义了该函数,当print当前实例化对象的时候,会返回该函数的return信息 可用于定义当前类的描述信息 用法: def _

__str__函数

  • 如果定义了该函数,当print当前实例化对象的时候,会返回该函数的return信息
  • 可用于定义当前类的描述信息
  • 用法:

def __str__(self):
	return str_type
  • 参数:无
  • 返回值:一般返回对于该类的描述信息

在这里插入图片描述

__getattr__函数

  • 当调用的属性或者方法不存在时,会返回该方法定义的信息
  • 用法:

def __getattr__(self, key):
	print(something.….)
  • 参数:

key: 调用任意不存在的属性名

  • 返回值:

可以是任意类型也可以不进行返回

在这里插入图片描述

__setattr__函数

  • 拦截当前类中不存在的属性与值
  • 用法:

def __settattr__(self, key,value):
	self._dict_[key] = value
  • 参数:

key当前的属性名

value 当前的参数对应的值

  • 返回值: 无

在这里插入图片描述

__call__函数

  • 本质是将一个类变成一个函数
  • 用法:

def __call__(self,*args,**kwargs):
	print( 'call will start')
  • 参数: 可传任意参数
  • 返回值: 与函数情况相同可有可无

在这里插入图片描述

实战


#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time     : 2021/8/15 18:22
# @Author   : InsaneLoafer
# @File     : object_func.py

class Test(object):

    def __str__(self):
        return 'this is a test class'

    def __getattr__(self, key):
        return '这个key:{}并不存在'.fORMat(key)

    def __setattr__(self, key, value):
        print(key, value)
        self.__dict__[key] = value
        print(self.__dict__)

    def __call__(self, *args, **kwargs):
        print('call will start')
        print(args, kwargs)

t = Test()
print(t)
print(t.a)  # 不存在的对象会直接打印出来,而不是报错
t.name = 'insane'
t(123, name='loafer')


"""实现链式操作"""
class Test2(object):
    def __init__(self, attr=''):
        self.__attr = attr

    def __call__(self, name):
        print('key is {}'.format(self.__attr))
        return name

    def __getattr__(self, key):
        if self.__attr:
            key = '{}.{}'.format(self.__attr, key)
        else:
            key = key
        print(key)
        return Test2(key)  # 递归操作

t2 = Test2()
print(t2.a.c('insane'))

this is a test class
这个key:a并不存在
name insane
{'name': 'insane'}
call will start
(123,) {'name': 'loafer'}
a
a.c
key is a.c
insane

Process finished with exit code 0

到此这篇关于python类的高级函数的文章就介绍到这了,更多相关Python高级函数内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python类的高级函数详解

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

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

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

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

下载Word文档
猜你喜欢
  • Python类的高级函数详解
    __str__函数 如果定义了该函数,当print当前实例化对象的时候,会返回该函数的return信息 可用于定义当前类的描述信息 用法: def _...
    99+
    2024-04-02
  • python函数的高级应用详解
    前言 函数是我们所熟知的,在python中函数的定义格式如下: def 函数名(形式参数): ​ 函数体 ​ 函数的封装就是实现代码块的复用,python内置了一些基础的函数,开...
    99+
    2024-04-02
  • Python类的常用高级函数汇总
    目录1.基础介绍2.定义一个函数3.__init__4.__getattr__5.__setattr__6.__call__7.__str__1.基础介绍 函数是组织好的,可重复使用...
    99+
    2024-04-02
  • TypeScript高级数据类型实例详解
    目录TypeScript 介绍函数枚举联合类型类型别名和接口类型别名接口交叉类型类TypeScript 介绍 TypeScript 是 JavaScript 的超集,提供了 Jav...
    99+
    2023-01-30
    TypeScript 高级数据类型 TypeScript 数据类型
  • Python中函数的参数类型详解
    目录1、Python的函数参数的类型2、Python的必传参数3、关键字参数4、默认参数5、不定长参数1、Python的函数参数的类型 必传参数:调用函数时必须传入的参数,函数定义时...
    99+
    2024-04-02
  • 详解Python中的普通函数和高阶函数
    目录什么是函数函数的嵌套调用高阶函数我们思考一下计算圆形和方形的面积为何高阶函数能够降低维度总结什么是函数 每个语言都有函数,甚至大家用的Excel里面也有函数,我们以前学习的数学也...
    99+
    2024-04-02
  • python有哪些高级函数
    这篇文章给大家介绍python有哪些高级函数,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几乎无所不能,该语言通俗易懂、容易入门、功能...
    99+
    2023-06-14
  • 高级Python函数有哪些
    这篇文章主要介绍“高级Python函数有哪些”,在日常操作中,相信很多人在高级Python函数有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”高级Python函数有哪些”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-16
  • Python 类,对象,数据分类,函数参数传递详解
    目录1、基本概念1.1 类与对象的关系1.3 对象的创建与引用  2、数据的分类  2.1 不可变类型  2.2 可变类型  3、函数传递参数的方式3.1 值传递  3.2 引用传递...
    99+
    2024-04-02
  • C++ 函数模板详解:高级程序设计的天地
    函数模板允许多数据类型通用函数的创建,增强代码可维护性和效率。使用类型参数 t,函数模板可以操作任意数据类型,而无需创建不同函数版本。编译器自动推断实参类型并实例化适当函数版本。实战案例...
    99+
    2024-04-27
    c++ 函数模板
  • python中函数的返回值及类型详解
    目录1.返回值介绍2.带有返回值的函数3.保存函数的返回值4.四种函数的类型1.无参数,无返回值的函数2.无参数,有返回值的函数3.有参数,无返回值的函数4.有参数,有返回值的函数5...
    99+
    2023-05-14
    python函数返回值 python 返回值类型
  • 详解python数值与字符串高级用法
    python数值与字符串高级用法 1.概述 这篇是一篇没有尽头的文章,每当过段时间,再次打开就会看到不一样的内容,有新东西在更新啊。是啊,之所以取名为高级用法,就是因为它是连载的,一...
    99+
    2024-04-02
  • python的函数最详解
    目录一、函数入门1.概念2.定义函数的语法格式函数名形参列表返回值3.函数的文档(注释→help)4.举例二、函数的参数1.可变对象2.参数收集(不定个数的参数)3.解决一个实际问题...
    99+
    2024-04-02
  • python函数详解
    结构:    def  函数名():        函数体执行:    函数名()返回值:    return    一,函数中,遇到return终止函数    二,返回值,返回给了函数的调用者:函数名()    return单个值,返回单...
    99+
    2023-01-31
    详解 函数 python
  • python 的sort()函数详解
    1.函数sort()是对列表就地排序 >>> x=[8,9,0,7,4,5,1,2,3,6]>>> x.sort()>>> print(x)[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]   2.函数sort()修改序列,不返...
    99+
    2023-10-01
    python 开发语言 后端
  • python的super函数详解
    python基础知识 用于类继承的super函数介绍 目录 python基础知识 一、super函数的用途 二、了解super函数的基本信息 三、多继承不重复调用  四、多继承重复调用 总结 一、super函数的用途 ...
    99+
    2023-09-26
    python
  • python super()函数的详解
    目录super的用法super的原理总结Python是一门面向对象的语言,定义类时经常要用到继承,在类的继承中,子类继承父类中已经封装好的方法,不需要再次编写,如果子类如果重新定义了...
    99+
    2024-04-02
  • C++ 函数声明中的コンセプト:了解高级类型检查的机制
    c++++ 中的概念提供高級類型檢查,允許在函數聲明中對模板参数類型施加限制。約束使用 concept 关键字定義,指定模板参数的條件或其他約束組合,用於檢查參數類型是否符合要求。在函數...
    99+
    2024-04-30
    c++ 函数声明
  • 如何理解 Golang 中函数类型的高阶函数?
    golang 高阶函数可接受和返回函数。它们分两类:接收函数作为参数:处理其他函数或执行动态程序。返回函数作为返回值:创建和返回可存储和后期执行的函数。 理解 Golang 高阶函数 ...
    99+
    2024-04-20
    函数类型 高阶函数 golang
  • python高级内置函数用法实例
    1、enumerate返回针对序列类型的可迭代对象的枚举对象。 2、eval取出字符串中的内容。 将str中有效的表达式返回计算结果。 3、exec运行编译后的字符串。 4、filt...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作