day03-高阶函数、eval函数

本文介绍了Python中高阶函数的概念及应用实例,并详细解释了如何使用eval()函数将类似字典的字符串转换为真正的字典。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、高阶函数

高阶函数:变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数。

 

高阶函数功能就是:把函数本身当做一个参数,传到另一个函数中,然后在这个函数中做处理。代码如下:

 1 def test_1(a,b):
 2     return a+b
 3 
 4 #高阶函数
 5 def test_2(a,b,f):
 6     return f(a)+f(b)
 7 
 8 print("------test_1-----")
 9 res = test_1(1,-3)
10 print(res)
11 print("------test_2-----")
12 res = test_2(1,-3,abs)  #把abs(求绝对值)这个内置函数当做参数传进去
13 print(res)

#输出

------test_1-----

-2

------test_2-----

4

2、eval()函数

在我们使用一些类似于字典的字符串时,虽然它看起来很像字典,但是在它的最外层多了引号,说明它是字符串,但是我们如何把它转换成字典呐,这就用到了eval()函数,看看eval()函数是如何把字符串转换成字典的:

#定义一个类似于字典的字符串,把值赋给arg

>>> arg = '''{

            'backend': 'www.oldboy.org',

            'record':{

                'server': '100.1.7.9',

                'weight': 20,

                'maxconn': 30

            }

        }'''

 

#这边根据键取值报错,说明它是一个字符串,不是字典

>>> arg["backend"]

Traceback (most recent call last):

  File "<input>", line 1, in <module>

TypeError: string indices must be integers

 

#通过eval()函数把字符串转成字典

>>> arg = eval(arg)

#显示的类型是字典

>>> type(arg)

<class 'dict'>

>>> arg

{'record': {'server': '100.1.7.9', 'weight': 20, 'maxconn': 30}, 'backend': 'www.oldboy.org'}

#通过键能获取对应的值,说明字符串成功转成字典

>>> arg["backend"]

'www.oldboy.org'

转载于:https://www.cnblogs.com/Study-Blog/p/6681521.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值