python学习day09

Posted Duke77

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习day09相关的知识,希望对你有一定的参考价值。

一:几个重要的内置函数

#codeing:UTF-8
#__author__:Duke
#date:2018/3/8/008

# abs() #绝对值函数
# all()  #判断空
# eval()  #还原数据,同时也是一个计算器
# frozenset()  #不可变集合

#filter  函数
str = [a,b,c,d]
def fun(s):
    if s !=a:  #过滤条件
        return s
ret = filter(fun,str)
#功能用作过滤
# for i in ret:
#     print(i)
print(ret)


# map 函数
str = [a,b,c,d]

def fun2(s):
    return s+duke
ret = map(fun2,str)
#作用添加,修剪东西
for i in ret:
    print(i)
print(ret)

# reduce  函数
from functools import reduce

def add(x,y):
    return x+y
#reduce  的结果就是一个值,不是什么对象
print(reduce(add,range(1,10)))


# lambda 函数
def add(a,b):
    return a+b
lambda a,b:a+b   #匿名函数  等同于 add函数

 

二:装饰器

#codeing:UTF-8
#__author__:Duke
#date:2018/3/8/008

#装饰器  python 重点

#一:作用域 L   E(嵌套作用域)  G(全局变量)  B(内置变量) 原则
# x = 10 #全局变量
# def f():
#     t = 5 #局部变量
#     def inner():
#         count =7   #局部变量
#         return 1
#

#二:高阶函数 两个条件  1:函数名可以作为参数输入  2:函数名可以作为返回值


#三:闭包
# def outer():
#     x = 10
#     def inner():  #内部函数
#         print(x)   #引用外部的变量
#     return inner    #这个函数就叫闭包函数
#inner() 局部变量,全局无法调用

import time

#假设还有很多函数
#我现在需要算每一个函数的执行时间,必须满足不改变原函数的情况下进行,可以为功能拓展
#这里我们可以选用装饰器为其拓展功能,切不改变原函数的调用方式
def show_time(f):   #装饰器函数
    def two():   #这个闭包函数的功能就是多一层包装,使其不改变原来的调用方式
        start_time = time.time ()
        f()
        end_time = time.time ()
        print(end_time - start_time)
    return two

@show_time   #fun1=show_time(fun1)#  这里调用返回的结果为 two 函数名
def fun1():
    print("fun1...")
    time.sleep(1)
@show_time   # 等同于 fun2=show_time(fun2#  这里调用返回的结果为 two 函数名
def fun2():
    print("fun2...")
    time.sleep(2)


fun1()  #此时调用该函数,它不仅仅有前面fun1 的功能,同时也打印出了该函数的执行时间

 功能函数加参数(不定参数)

import time
#功能函数加参数  不定参数的添加
def show_time(f):
    def two(*x,**y):   
        f(*x,**y)
    return two
@show_time
def add(*a,**b): #加法器
    sum = 0
    for i in a:
        sum += i
    print(sum)
    time.sleep(1)

add(1,2,3,4,5)

 

以上是关于python学习day09的主要内容,如果未能解决你的问题,请参考以下文章

python学习day09

Python入门学习-DAY09-函数基础与参数

坚持Selenium+Python学习之从读懂代码开始 DAY1

第四周 day4 python学习笔记

python 机器学习有用的代码片段

Python100天学习笔记Day22 Web学习-Html标签