zoukankan      html  css  js  c++  java
  • python高级特性

    一、列表生成式:

      1、[x * x for x in range(1, 11) if x % 2 == 0]

      2、应用:

        在爬虫爬到站内网址时,一般用的是站内URI,所以是无法发起请求的,一般情况下,需要加上一个前缀地址,一半可以用列表生成器来做。

      3、代码:

        

     1 '''
     2     func:列表生成
     3 
     4 '''
     5 #首先生成uri,类似于小说网站的格式
     6 uri=['/article/'+str(i)+'.html' for i in range(1,10)]
     7 
     8 print(uri)
     9 #一般上面的内容为爬虫爬到的
    10 
    11 #下面是需要进行处理的内容
    12 url=['http://biquge'+i for i in uri]
    13 
    14 print(url)

      结果:

        

    二、生成器:

      关键点:是yeild关键字,普通函数是在流程执行完毕之后或者遇到return语句时候,才会退出执行。而生成器不同。生成器会在每次执行到yield定义的关键字时,会返回这个变量,然后再接着执行。其用途是在一个需要大量计算时,不必等到每个变量都计算完毕时,才会返回,而是计算一个返回一个。

      代码演示:

        

     1 '''
     2     func:generator演示
     3 '''
     4 
     5 def getUpper(a):
     6     for i in a:
     7         yield i.upper()
     8 
     9 if __name__=='__main__':
    10     for i in getUpper([chr(i) for i in range(97,123)]):
    11         print(i)

    三、函数式编程:

       1、filter函数:

           

        2、匿名函数:

        lambda x:x*x

       3、装饰器:

         其定义为接收一个函数作为参数,并返回一个函数。

           (1)代码执行:

          

     1 '''
     2     func:装饰器练习
     3     author:monty
     4 '''
     5 
     6 import functools
     7 import datetime
     8 
     9 #定义装饰器
    10 def log(func):
    11     @functools.wraps(func)
    12     def wrapper(*args,**kw):
    13         print(func.__name__+" is run:"+datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
    14         return func(*args,**kw)
    15     return wrapper
    16 
    17 @log
    18 def sum(a,b):
    19     print(a+b)
    20 
    21 
    22 if __name__=='__main__':
    23     sum(1,2)
    24 
    25     sum(100,200)

     四、匿名函数:

      语法格式:lambda x:x*x

      

  • 相关阅读:
    DPDK安装方法 17.12.13
    numa.h:No such file or directory 解决方法
    17秋 软件工程 第六次作业 Beta冲刺 Scrum3
    17秋 软件工程 第六次作业 Beta冲刺 总结博客
    17秋 软件工程 第六次作业 Beta冲刺 Scrum2
    Paper Reviews and Presentations
    17秋 软件工程 第六次作业 Beta冲刺 Scrum1
    17秋 软件工程 第六次作业 Beta冲刺
    error: could not create '/System/Library/Frameworks/Python.framework/Versions/2.7/share': Operation not permitted
    17秋 软件工程 个人作业 软件产品案例分析
  • 原文地址:https://www.cnblogs.com/monty12/p/9978718.html
Copyright © 2011-2022 走看看