• 函数


    一、python函数

    函数是可以重复使用的一段代码,将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可,增强代码的重用性和可读性

    二、自定义Python函数

      def:表示函数的关键字

      函数名:函数的名称,根据函数名调用函数

      函数体:函数中进行一系列的逻辑计算

      参数:为函数体提供数据

      返回值:当函数执行完毕后,可以给调用者返回数据

    def show(name):  #show:函数名,name:参数
        print(name)  #函数体
        return  #返回值
    
    show('yoyo')  #调用函数
    def func(a):
        a +=1
        return a  #返回a的值
    result = func(4)
    print(result)

    三、参数

    普通参数

    def show(name):  #name是形式参数
        print(name)  
    
    show('yoyo')   #yoyo是实际参数

    默认参数

    #默认参数,必须放在最后
    def show(name, age=18):  #定义默认参数age
        print("%s:%s" % (name, age))
    
    show('yoyo')  #使用默认参数
    yoyo:18

    关键字参数

    def show(name, age):
        print("%s:%s" %(name, age))
    
    show(name='yoyo', age=18)
    yoyo:18

    动态参数

    def myfun(*params):   #参数转换成元组
        print("有%d个参数"% len(params))
        print("第二个参数是:", params[1])
        print(type(params))
    
    myfun('h', 'e', 'l', 'l', 'o')
    
    有5个参数
    第二个参数是: e
    <class 'tuple'>
    def show(**arg):  #字典
        print(arg,type(arg))
    show(n1=78,n2=23,n3=66)

    {'n1': 78, 'n2': 23, 'n3': 66} <class 'dict'>
    def show(*args,**kwargs):  #元组和字典
        print(args,type(args))
        print(kwargs,type(kwargs))
    
    l = [11,22,33]
    d = {'n1':88,'aa':'bb'}
    show(*l,**d)
    (
    11, 22, 33) <class 'tuple'> {'n1': 88, 'aa': 'bb'} <class 'dict'>

    函数内的变量为局部变量,外部无法访问函数内的局部变量
    函数外部的为全局变量,函数内部可以访问,但无法修改全局变量
    函数内使用global可以修改全局变量

    x = 5
    def fun(y):
        x = 4            #函数内无法修改全局变量
        return x * y
    
    print(fun(4))
    print(x)
    
    16
    5   #打印全局变量,结果没变
    x = 5
    def fun(y):
        global x   #使用global修改全局变量
        x = 4
        return x * y
    
    print(fun(4))
    print(x)
    
    16
    4     #修改了全局变量

    内部函数对外部作用域的变量进行引用,这个内部函数为闭包

    def funX(x):
      def funY(y):
        return x * y
      return funY
    
    print(funX(8)(5))
    
    40

    内部函数修改外部函数局部变量的值,使用nonlocal

    def funX(x):
        x = 8
        print(x)
        def funY(y):
            nonlocal x
            x = 6
            return x * y
        return funY
    
    print(funX(8)(5))

    四、内置函数

    1.all()

    a = all([1,2,3,4])  #都为真是真
    print(a)

    2.any()

    a = any(["",[],{},1])  #有一个为真即为真
    print(a)
    #True

    3.bin()

    b = bin(10)  #返回二进制
    print(b)

    4.bytearray()

    p = bytearray('你好',encoding='utf-8')  #转换成数组
    print(p)
    #bytearray(b'xe4xbdxa0xe5xa5xbd')

    5.bytes()

    p = bytes('你好',encoding='utf-8')  #转换成字符串
    print(p)
    #b'xe4xbdxa0xe5xa5xbd'

    6.chr()

    chr(99)  #数字转换ascii码

    7.ord()

    ord('a')  #数字转换ascii码

    8.enumerate()

    li = ['yoyo','alex','eirc']
    for i,item in enumerate(li,1):print(i,item)
    #1 yoyo
    #2 alex
    #3 eirc

    9.eval()

    eval("6*8")  #计算

    10.map()

    l = [11,22,33,44]
    new_li = map(lambda x:x+100,l)
    a = list(new_li)
    print(a)
    #[111, 122, 133, 144]

    11.filter()

    def func(x):
        if x>33:
            return True
        else:
            return False
    n = filter(func,l)
    q = list(n)
    print(q)
    #44
    max(11,22,33) #取最大值
    min(11,22,33) #取最小值
    hex(100)  #16进制
    oct(10)  #8进制
    round(8.9)  #四舍五入
    dir()  #取的是键
    vars()  #取所有键值对

     五、lambda表达式

    #普通方法
    def func(arg):
        return arg + 1
    result = func(123)
    
    #lambda表达式
    my_lambda = lambda arg : arg + 1
    result = my_lambda(123)
  • 相关阅读:
    npm install命令请求制品库地址的说明
    左merge,右cherry-pick
    Spring validation中自定义的校验错误提示信息如何支持国际化
    IntelliJ IDEA中新增properties文件
    RequestFacade对象获取请求头时忽略大小写
    MongoDB高可用架构集群管理(一)
    MongoDB的备份和恢复
    Postman使用tv4进行JSON Schema结构验证和断言
    Postman中的全局/环境/集合变量的使用及优先级
    在Postman脚本中发送请求(pm.sendRequest)
  • 原文地址:https://www.cnblogs.com/yoyovip/p/5620945.html
Copyright © 2020-2023  润新知