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的常用示例:
- 字符串转化为列表
- 字符串转化为字典
- 字符串转化为元组
# 输入字符串中的内容既不是flaot,也不是int类型,而是元组,这个时候可以用eval()函数
tu_ = eval("(10,20,30,40,50)")
print(tu_)
# 得到元组(10, 20, 30, 40, 50)
- 字符串转化为函数
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}