首页
学习
活动
专区
圈层
工具
发布

Python通过函数名调用函数的几种场景

除了执行系统命令外,我们有时还需要动态地执行一些python代码,有经验的朋友就会知道可以使用内置函数eval实现这一需求,如eval("print(__file__)"),这还是比较简单的。...be_called_function.")if __name__ == "__main__": obj = TestA() obj.active_call_function()二、通过getattr实现1 通过函数名调用同一个类内的函数...be_called_function.")if __name__ == "__main__": obj = TestA() obj.active_call_function()2 通过函数名调用其他类的函数...be_called_function.")if __name__ == "__main__": obj = TestA() obj.active_call_function()3 通过函数名调用同文件的一级函数...be_called_function.")if __name__ == "__main__": obj = TestA() obj.active_call_function()4 通过函数名调用在其他文件的一级函数

51910
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    python迭代器(函数名的应用,新版格

    while循环模拟for循环机制 小结 可迭代对象与迭代器的对比 详细内容: 函数名的运用: 函数名的定义和变量的定义几乎一致,在变量的角度,函数名其实就是一个变量,具有变量的功能:可以赋值...;但是作为函数名他也有特殊的功能就是加上()就会执行对应的函数,所以我们可以把函数名当做一个特殊的变量。...1:函数名指向的是函数的内存地址,函数名 + () 就可以执行此函数 a =1 a()#TypeError: 'int' object is not callable 不可调用 a = 1...:python中一切皆对象。一个实实在在存在的值,对象。 ​ 可迭代?:更新迭代。重复的,循环的一个过程,更新迭代每次都有新的内容, ​ 可迭代对象-->可以进行循环更新的一个实实在在值。...迭代器是这样的对象:实现了无参数的__next__方法,返回序列中的下一个元素,如果没有元素了,那么抛出StopIteration异常.python中的迭代器还实现了__iter__方法,因此迭代器也可以迭代

    63910

    【基于 JS 的函数式编程 - 4】函子 | MayBe函子 | Monad函子

    我们知道,函数式编程的技术有 柯里化、偏函数等等。错误处理也是一种技术,本节中我们会使用函子(Functor),用一种纯函数的方式帮助我们处理错误。...概念 函子 定义: 函子是一个普通对象,它实现了map函数,在遍历每个对象值的时候生成一个新对象。即,函子是一个实现了 map 契约的对象! 简单理解:函子是一个持有值的容器。...Monad是一个含有chain方法的函子 你可以通过添加一个chain方法(或者说是join方法)扩展MayBe函子,使其成为一个Monad函子。...那么,我们就可以知道 Monad 函子的一大特点就是能够避免深层嵌套,只要提供下一运算所需要的的函数,就能将函数拆解成互相连接的多个步骤,自动进行下去,并且每次都是只返回一个单层的函子。...这个函子有一个 flatMap 方法,即降维的能力。

    69520

    Python函数二(函数名,闭包,迭代器

    函数名的使用: 函数名可以作为值,赋值给变量。 函数名可以作为参数传参给函数。 函数名可以作为返回值。 函数名可以作为元素存储在容器里。...闭包的优点: 避免局部变量不被外界修改。 函数生命周期延长。 节省开辟空间,销毁空间的时间。 闭包的作用:就是使一个局部变量常驻内存,方便后面程序调用。...__iter__() # 创建迭代器 print(isinstance(str_iter,Iterator)) # 查看是否是迭代器 #打印结果如下: False True for循环的工作原理就是通过迭代器来实现的...__next__()) #打印内容如下: H e l l o 由上面的输出可以看出与for循环的输出类似,并且迭代器是不可回退的,但是当我们的迭代器超过字符串的长度后会报错StopIteration...,那在使用for循环时for是怎么知道对象的长度,并且不会报错的呢?

    66110

    python笔记20-获取当前运行函数名

    前言 写完代码之后,一般为了方便查看日志,可以在日志输出中加入当前运行的函数名称或类和方法名称,以便于代码报错的时候能快速找到报错的是哪个函数或方法。 那么如何获取当前运行函数(或方法)的名称呢?...获取函数名称 1.在函数外部获取函数名称,用.name获取 ? 2.函数内部获取当前函数名称,用sys._getframe().f_code.co_name方法获取 ?...2.获取类里面方法名称,跟获取函数名称一样sys._getframe().f_code.co_name) ?...inspect模块 1.使用inspect模块动态获取当前运行的函数名(或方法名称) # coding:utf-8 import inspect def get__function_name():...'''获取正在运行函数(或方法)名称''' return inspect.stack()[1][3] def yoyo(): print("函数名称:%s"%get__function_name

    2.8K10

    利用Python生成Word邀请函

    背景 伴随着凯多被打败,草帽海贼团即将迎来新的挑战,现急需扩展队伍(其实就是山治想把大和叫上),为了方便后面邀请新的小伙伴也可以快速制作出邀请函,船上的神秘人悄悄地的写了一个Python自动化脚本来实现了这一个功能...,并帮助山治生成好了给大和的邀请函。...效果如下: 创建Python工程 我习惯使用conda来创建虚拟环境,搭建可以根据自己的喜好创建即可。 在项目的根目录下创建一个名叫Word的文件夹,用来保存我们用来操作Word的脚本。...并通过一下命令安装python-docx库 pip install python-docx 如果速度比较慢可以使用腾讯源来进行安装 pip install python-docx -i https://...{data['#受邀人#']}.docx") 结尾 今天简单带大家用了这个库实现了一个生成邀请函的功能,具体这个库的用法我们后面慢慢和大家细说。

    55710

    泛函编程(1)-泛函编程是如何实现的

    泛函编程就是把函数组合起来形成一个完整的程序。可想而知,函数组合的过程可以是曲折的,形成的程序可以是复杂的。那么泛函编程又是如何保证一个复杂的函数组合程序是正确无误的呢?...这个什么不可变化特性解释的够绕的了吧?实际上这也是泛函编程的重点所在,我看还是要解释清楚才行。     泛函程序是由纯函数组成。...所谓”附带影响“是指计算一个表达式后影响了函数的结果。因为泛函程序是由纯函数组成,纯函数是”可等量替换的“,具备行为不可变化特性,所以能保证泛函程序的正确性。    ...在Scala语言中 “+” 是个函数名称,我们可以确定这个“+”函数是个纯函数,因为我们可以放心的用结果2来“等量替代” 表达式1+1。...泛函编程要求尽量使用”不可改变的“(Immutable)数据结构来保证程序的纯洁性。泛函编程就好像是使用”不可改变的“数据结构过程的挣扎,起码对我来说是这样的。

    2K80

    3.Python迭代器(函数名的应用,新版格式化输出)

    函数名的运用 ​ 你们说一下,按照你们的理解,函数名是什么? ​...函数名的定义和变量的定义几乎一致,在变量的角度,函数名其实就是一个变量,具有变量的功能:可以赋值;但是作为函数名他也有特殊的功能就是加上()就会执行对应的函数,所以我们可以把函数名当做一个特殊的变量,那么接下来...2 Python新特性:f-strings格式化输出 ​ f-strings 是python3.6开始加入标准库的格式化输出新的写法,这个格式化输出比之前的%s 或者 format 效率高并且更加简化,...Python中一切皆对象,之前我们讲过的一个变量,一个列表,一个字符串,文件句柄,函数名等等都可称作一个对象,其实一个对象就是一个实例,就是一个实实在在的东西。那么什么叫迭代?...出自《流畅的python》 ​ 那么对于上面的解释有一些超前,和难以理解,不用过于纠结,我们简单来说:在python中,内部含有'Iter'方法并且含有'next'方法的对象就是迭代器。

    81320
    领券