400-650-7353
您所在的位置:首页 > IT干货资料 > python > 【Python基础知识】eval()、filter()、float()函数使用说明

【Python基础知识】eval()、filter()、float()函数使用说明

  • 发布: python培训
  • 来源:python干货资料
  • 2020-03-27 16:08:17
  • 阅读()
  • 分享
  • 手机端入口

Python解释器内置了许多函数,这意味着我们无需定义,始终可以它们。下面按照函数的字母顺序,讨论一些常用的内建函数。

eval()

eval()函数解析传给它的表达式,并在程序中运行Python表达式(代码)。举个例子:

  1. >>> x = 1 
  2. >>> eval("x + 1")  # 注意:"x + 1"是字符串 
  3. 2 
  4. >>> eval("4 < 9"
  5. True 
  6. >>> eval("'py' * 3"
  7. 'pypypy' 
  8. >>> eval("10 ** 2"
  9. 100 

eval()函数不仅仅能运行简单表达式,还能调用函数,使用方法等等:

  1. >>> eval("abs(-11)")        # 计算-11的绝对值 
  2. 11 
  3. >>> eval('"hello".upper()')   # 把字符串'hello'全变成大写字母 
  4. 'HELLO' 
  5. >>> import os                 
  6. >>> eval('os.getcwd()')       # 获取当前的工作目录 
  7. '/home/thepythonguru' 

但是需要注意的是eval()仅适用于表达式,尝试传递语句会导致语法错误:

  1. >>> eval('a = 1')                    # 赋值语句 
  2. Traceback (most recent call last): 
  3.   File "", line 1in  
  4.   File "", line 1 
  5.     a = 1 
  6.       ^ 
  7. SyntaxError: invalid syntax 
  8. >>> eval('import re')             # 导入语句 
  9. Traceback (most recent call last): 
  10. File "", line 1in  
  11. File "", line 1 
  12. import re 
  13. SyntaxError: invalid syntax 

此外,使用eval()语句应该十分小心,永远不要将不受信任的源直接传递给eval()。 因为恶意用户很容易对您的系统造成破坏。 例如:

  1. >>> eval(input())  # eval()将执行用户输入的代码 

用户输入以下代码就能从系统中删除所有文件:

  1. os.system("RM -RF /"
  2. # 上面输入相当于执行: 
  3. >>> eval('os.system("RM -RF /")')    

filter()

"filter"的意思是“过滤”,filter()函数需要两个参数:一个函数对象和一个可迭代对象。函数对象需要返回一个布尔值,并为可迭代的每个元素调用。 filter()函数仅返回那些通过函数对象返回值为true的元素。解释有一些抽象,看一个例子:

  1. >>> a = [123456
  2. >>> filter(lambda x : x % 2 == 0, a)        # 过滤出所有偶数,结果返回一个filter对象 
  3. 0x1036dc048
  4. >>> list(filter(lambda x : x % 2 == 0, a))  # 可以使用list()函数使fileter对象变成列表,方便查看结果 
  5. [246

下面是另外一个例子:

  1. >>> dict_a = [{'name''python''points'10}, {'name''java''points'8}] 
  2. >>> filter(lambda x : x['name'] == 'python', dict_a)  # 过滤出列表中键'name'为值'python'的字典 
  3. 0x1036de128
  4. >>> tuple(filter(lambda x : x['name'] == 'python', dict_a))  # 使用tuple()函数使结果变成字典 
  5. ({'name''python''points'10},) 

float()

float()的参数是一个数字或者字符串,它返回一个浮点数。如果参数是字符串,则字符串中应该包含一个数字,并可以在数字前加入一个 '-' 符号,代表负数。参数也可以是表示NaN(非数字)或正无穷大的字符串。如果没有任何参数的话,将返回0.0。

  1. >>> float('+1.23')         # 1.23 
  2. 1.23 
  3. >>> float('   -12345\n')   # -12345 
  4. -12345.0 
  5. >>> float('1e-003')        # 0.001 
  6. 0.001 
  7. >>> float('+1E6')          # 10的6次幂 
  8. 1000000.0 
  9. >>> float('-Infinity')     # 无穷小 
  10. -inf 
  11. >>> float('-inf') + 100     # 负无穷小加100仍等于负无穷小 
  12. -inf 
  13. >>> float('inf')           # 无穷大 
  14. inf 
  15. >>> float('NaN')           # NaN,代表非数字  
  16. nan 

 

文章“【Python基础知识】eval()、filter()、float()函数使用说明”已帮助

>>本文地址:https://www.ujiuye.com/zhuanye/2020/48543.html

THE END  

声明:本站稿件版权均属中公教育优就业所有,未经许可不得擅自转载。

1 您的年龄

2 您的学历

3 您更想做哪个方向的工作?

获取测试结果
  • 大前端大前端
  • 大数据大数据
  • 互联网营销互联网营销
  • JavaJava
  • Linux云计算Linux
  • Python+人工智能Python
  • 嵌入式物联网嵌入式
  • 全域电商运营全域电商运营
  • 软件测试软件测试
  • 室内设计室内设计
  • 平面设计平面设计
  • 电商设计电商设计
  • 网页设计网页设计
  • 全链路UI/UE设计UI设计
  • VR/AR游戏开发VR/AR
  • 网络安全网络安全
  • 新媒体与短视频运营新媒体
  • 直播带货直播带货
  • 智能机器人软件开发智能机器人
 

快速通道fast track

近期开班时间TIME