python 重要内置函数用法

python 重要函数用法

1、eval() 函数

描述

eval() 函数用来执行一个字符串表达式,并返回表达式的值。

语法

以下是 eval() 方法的语法:

eval(expression[, globals[, locals]])

参数

  • expression – 表达式。
  • globals – 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。
  • locals – 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。

返回值

返回表达式计算结果。

实例
以下展示了使用 eval() 方法的实例:

>>>x = 7
>>> eval( '3 * x' )
21
>>> eval('pow(2,2)')
4
>>> eval('2 + 2')
4
>>> n=81
>>> eval("n + 4")
85

例如转换数据类型时:

  • a = input('请输入: ')
  • 不确定是float还是还是int:a = eval(a)
  • 输入str时不能用eval()
    print(eval('sss'))# 会报错sss未定义,eval('sss')会人为sss是一个变量,因为eval() 函数用来执行一个字符串表达式,并返回表达式的值。

python中eval函数的用法十分灵活eval的常用示例:

  1. 字符串转化为列表
  2. 字符串转化为字典
  3. 字符串转化为元组
# 输入字符串中的内容既不是flaot,也不是int类型,而是元组,这个时候可以用eval()函数
tu_ = eval("(10,20,30,40,50)")
print(tu_)
# 得到元组(10, 20, 30, 40, 50)
  1. 字符串转化为函数
def add_nums(x1,x2):
    add_rs = int(x1) + int(x2)
    print("add_rs:", add_rs)
    return add_rs

arg = "nums"
print("add_"+arg+"(x1,x2)") # print("add_nums(x1,x2)"),print()只会答应出字符串
x1,x2= 20,30
rs = eval("add_"+arg+"(x1,x2)") # eval("add_nums(x1,x2)")重要作用是返回字符串表达式中的值,
print(rs, type(rs))
add_nums(x1,x2)

# add_nums(x1,x2)
# add_rs: 50
# 50 <class 'int'>
# add_rs: 50

2、max()和min()

  • max()用法
    max(iterable, *[, default=obj, key=func]) -> value
    max(arg1, arg2, *args, *[, key=func]) -> value=
  • 默认数值型参数,取值大者;
  • 字符型参数,取字母表排序靠后者。
  • key—可做为一个函数,用来指定取最大值的方法。
  • default—用来指定最大值不存在时返回的默认值。
  • arg1—字符型参数/数值型参数,默认数值型
  • max() 一般用法
max_value_1 = max(1, 2, 3)  # max()中传入多个参数取最大值
print(max_value_1)
value_list = list(range(10))
max_value_3 = max(value_list)   # max()传入可迭代对象
print(max_value_3)

##----output
3
9
  • max()高级用法
a = [1, 2, -5, 2]
temp = max(a, key=lambda x: abs(x)) # 取绝对值最大的项
print(temp)

temp1 = max(a, key=lambda x: x**2)  # 取平方值最大的项
print(temp1)

value_dict = {'pensor': 2, 'car': 5, }
temp2 = max(value_dict, key=lambda k: value_dict[k])    # 取字典中对应value最大的key
print(temp2)
## output
-5
-5
car
  • 如果可迭代对象为空,max()函数应该采用default参数
print(max((), default=2))
print(max((2, 4, 3), default=1))
# print(max(()))  # 会报错

## output
2
4
  • min()用法和max()相反
a = min('123')
print(type(a))
print(a)
print('-------------------------')
b = min(1, 2, 2)
print(type(b))
print(b)

print()
print('------------------------')
c = [{'person': 1, 'car': 2,}, {'person': 3, 'car': 5}]
temp = min(c, key=lambda x: x['car'])
print(temp)
## oytput
<class 'str'>
1
-------------------------
<class 'int'>
1

------------------------
{'person': 1, 'car': 2}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

XTX_AI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值