首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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 通过函数名调用在其他文件一级函数

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

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

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

    47310

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

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

    20320

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

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

    44910

    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.5K10

    利用Python生成Word邀请

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

    27110

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

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

    1.6K80

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

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

    59820

    Scala学习之相同数名

    最近在慢慢开始用Scala写Spark,刚开始也是在菜鸟教程上简单过了一遍Scala,现在还记得一些基本语法,还有各种奇怪语法糖。想要更快学习这门语言,还是需要自己多谢谢。...今天在看别人代码时,发现他在类中定义了两个名字一模一样函数,但是我还以为他写错了。当我以Python思维去看待这们语言时,当然是在作死边缘了。...Map("database" -> database, "collection" -> collection), Some(ReadConfig(session))) } 可以看到两个函数名一样...这两个函数功能一样,但是接受参数不一样,所以这才需要去定义两个函数。(试想一下,在Python中如何去实现) 可能你不懂Scala,让我简单跟你讲一下。...首先我们使用def关键字定义了一个名为readConfig函数,和Python一模一样;然后就是函数接受参数了,可以看到在每个参数后面有冒号,这个冒号就表示前面的数据类型,比如定义一个相加函数 object

    69430
    领券