zoukankan      html  css  js  c++  java
  • Python基础(九)--函数

    函数的作用

    • 减少重复代码
    • 程序易于维护
    • 程序易于扩展

    函数的定义

    >>> def calculate(x,y):    #定义函数名为calculate,参数为x和y
        result = x+y
        return result             #返回结果
    
    >>> a = calculate(x=3,y=4)       #调用,关键参数x=3,y=4
    >>> print(a)
    7

    函数参数

    形参,实参:形参类似与数学函数中的变量,实参是则是运算时变量实际的值

    位置参数:调用函数时,可以按照函数定义时的位置顺序给定参数

    关键参数:调用函数时,可以不按顺序给行形参,但须指明对应

    默认参数:函数定义时,可以给某个形参定义好初始值,调用时可不给定其实参;默认参数必须写在最后

    >>> def calculate(x,y,z=3):       #默认参数为z=3
        res = x+y+z
        return res
    
    >>> a = calculate(3,4)        #位置参数对应,z可以不给定
    >>> print(a)
    10

    非固定参数:可接受额外参数

    • *args接收的是元组,实参以位置参数实现
    • *kwargs接收的是字典,实参以关键参数实现
    • 由于位置参数需要写在最左,*args要能接收值的话,前面的参数都必须以位置参数实现
    >>> def register(name,age,cn=00,*args,**kwargs):
        print(name)
        print(age)
        print(cn)
        print(args)
        print(kwargs)
    
        
    >>> register('xing','55kg','yang','666',height=170)
    xing
    55kg
    yang
    ('666',)
    {'height': 170}

    函数的返回值

     返回使用return关键词

    • 如果未指定return,则返回None
    • 函数执行过程中遇到return语句便会停止执行并返回值
    >>> def test():
        return 1,2,4,4
    
    >>> test()                #返回多个值会将变成元组
    (1, 2, 4, 4)

    函数的作用域

    • 局部变量和全局变量存在不同的内存空间,不会冲突
    • 就近原则:函数内部未定义变量时,会去全局变量里调用
    • 函数内部可定义全局变量,使用global 声明
    • globals(),locals() 可查看全局变量和局部变量
    • 函数内不可以修改全局变量
    >>> name = 'xing'        #全局变量
    >>> def test():
        name = 'lala'        #局部变量
        print(name)
    
        
    >>> test()
    lala
    >>> print(name)
    xing
  • 相关阅读:
    zookeeper 分布式锁
    mysql linux 安装
    分布式配置中心Apollo
    分布式任务调度平台xxl-job
    Java并发编程笔记之ThreadLocalRandom源码分析
    Java并发编程笔记之ThreadLocal源码分析
    SpringCloud实战10-Sleuth
    SpringCloud实战9-Stream消息驱动
    SpringCloud实战8-Bus消息总线
    SpringCloud实战7-Config分布式配置管理
  • 原文地址:https://www.cnblogs.com/lalaxing/p/11321673.html
Copyright © 2011-2022 走看看