• python学习笔记三 函数(基础篇)


    函数

    内置函数

    常用的内建函数:

    type()  列出指定对象的类型
    help()  能够提供详细的帮助信息
    dir()    将对象的所有特性列出
    vars()  列出当前模块的所有变量 file,doc,name
     
    __file__  列出文件位置
    __doc__  文档字符串
    __name__ 被执行的脚本,name == __main__
    if __name__ == "__main__":
        print("hello")
     
    int() 
    abs()
    max()
    min()
    pow()
    bool()
    divmod(x,y)  #相除,得到商和余数组成的元组,在网页分页操作中使用。
    sum()
     
    len()
    all()   接受一个序列 判断所有值都为真,才会返回为true
    any() 接受一个序列,只要有一项为真,即为真
     
    chr()   返回值是当前整数对应的ascii字符。
    ord()   返回值是当前ascii字符对应的整数。
    hex()  16进制转换
    oct()   8进制转换
    bin()   2进制转换
     
    range()  创建整数的迭代器
    enumerate() 枚举函数
    for k,v in enumerate(range(5)):
        print(k,v)
     
    print()  
    eval(source[,globals[,locals]])  将字符串作为表达式计算,并且返回值
     
    zip(seq1,seq2,...)   创造用于并行迭代的新序列
    sorted()     返回seq中排序后的列表
    reversed()  产生seq中值的反向版本,用于迭代

    自定义函数

    def 定义函数的关键字
    函数名,通过函数名调用函数

    函数声明,不自动执行;调用后才执行

    函数的参数 为函数提供数据;普通参数,关键字参数,默认参数,动态参数;

    返回值 当函数执行完毕后,返回的数据;可以同时返回多个值,但其实就是一个tuple

    创建函数:

    def fib(n):    
      result = [0,1]   for i in range(n-2):
        result.append(result[
    -2]+result[-1])   return result

    函数的返回值
    1.未明确指定返回值,返回None

    并非真正的函数:

    def show():
        print('a')
        return
        print('b')
    x = show()
    print(x)

    a
    None

    #函数会执行print('a'),然后被return终止,不会继续执行print('b')

    2.返回值可以赋值给某个变量

    def show(guess):
        ret =  False
        if guess == 'xixi':
            ret = True
        return ret
    ret = show('xixi')
    
    if ret:
        print("猜对了")
    else:
        print("猜错了")
    
    猜对了

    普通参数:
        形式参数,形参;实际参数,实参;参数可以有n个,传入n个参数

    def fun2(a1,a2):
        print(a1,a2)
    fun2('hello,','wolrd')

    关键字参数

        有时候参数的顺序很难记住,可以提供参数的名字;这样参数顺序不受影响,但是参数名和值一定要对应。

    def hello(greet,name):
        print('%s,%s!'%(greet,name))
    hello(name='csp',greet='hello')

    hello,csp

    默认参数

       默认参数只能放在最后,不传入参数则使用默认提供的参数。

    def hello1(greet,name="koka"):
        print('%s,%s!'%(greet,name))
    hello1('hello')
    hello,koka
    !

    动态参数

        定义时添加*,接受多个参数,内部构造元组

    def xixi(*arg):
        print(arg,type(arg))
    xixi(1,2,3,4)
    
    (1, 2, 34) <class 'tuple'>

        定义时添加**,接受多个参数,内部构造字典

    def haha(**args):
        print(args,type(args))
    haha(name='koka',age=24)
    
    {'name': 'koka', 'age': 24} <class 'dict'>

        调用时添加* 或**可以分隔序列和字典,避免内部构造元组或字典

    def haha(*arg,**args):
        print(arg,type(arg))
        print(args,type(args))
    
    haha(11,22,33,44,name='doubi')
    (11, 22, 33, 44) <class 'tuple'>
    {'name': 'doubi'} <class 'dict'>
    
    li1= [11,22,33,44]
    name = {'haha':123,'xixi':456}
    haha(*li1,**name)
    (11, 22, 33, 44) <class 'tuple'>
    {'haha': 123, 'xixi': 456} <class 'dict'>
    
    #星号只有在定义(允许使用不定数目的参数)或者调用("分割"字典或者序列)的时候才有效。
    
    #字典元素必须放在后面,否则将报错
    haha(name='test',12,13,14)
    
      haha(name='test',12,13,14)
                        ^
    SyntaxError: positional argument follows keyword argument
    View Code

    一些功能函数

    lambda 函数

    #普通函数
    def func1(arg):
        return arg + 1
     
    #匿名函数,执行简单语句
    func2 = lambda arg: arg + 1
    print(func2(12))
     
    #匿名函数也可以像普通函数一样,收集多个参数
    fun3 = lambda a,b,*arg,**args: print(a,b,arg,args)
     
    fun3(2,3,4,5,6,name='koka')

    filter 函数

    过滤函数 对于序列中的元素进行筛选,最终获取符合条件的序列

    #filter(function_or_None, iterable)
    seq = [11,22,33,44,55]
    filter(lambda a:a>33,seq) #返回迭代器,可以基于一个返回布尔值的函数对元素进行过滤
    map 函数
    将序列中的元素全部传递给一个函数
    #map(func, *iterables)
    l1 = [11,22,33]
    l2 = [44,55,66]
    def func1(a1,a2):
        return a1 + a2
    map(func1,l1,l2)
    
    [55,77,99]
  • 相关阅读:
    手机端和电脑端左右分屏录制视频解决方法
    收藏 网站部署配置文章
    廖雪峰网站:学习python函数—递归函数(四)
    廖雪峰网站:学习python函数—函数参数(三)
    廖雪峰网站:学习python函数—定义函数(二)
    廖雪峰网站:学习python函数—调用函数(一)
    廖雪峰网站:学习python基础知识—循环(四)
    廖雪峰网站:学习python基础知识—判断(三)
    Java提高十七:TreeSet 深入分析
    Java提高十六:TreeMap深入分析
  • 原文地址:https://www.cnblogs.com/koka24/p/5136925.html
Copyright © 2020-2023  润新知