• python(函数)


    python 函数由关键字“def“定义

    格式:

    def 函数名(参数):
        '''对函数的解释,编程规范'''
        函数体

    函数的内存存储

    先看一下变量在内存中的存储,函数和其差不多

    当解释器读取到“x = 1”时就会在内存中开辟一部分空间,该空间的起始地址存放的是“变量名 x ”,后面存放的是 “x” 的具体内容。解释 y=4 也是同样的道理

    对函数的解释也是这样的

    解释器一定要在读取了  ‘def  ...’  这个语句后才会执行内存的分配,所以函数的调用应该放在被解释之后。

    函数的调用

    "()"是函数的调用符,"函数名()",即表示调用一个函数

    example:

    def test_1():
        print("hello ,test_1!")
    test_1()  #调用函数

    函数返回值

    返回值由关键字"return"返回

    1.如果函数没有定义返回值默认返回"None"

    1 def test_1():
    2     print("hello ,test_1!")
    3 print(test_1())  #返回None

    2.如果函数有一个返回值,则返回该值

    1 def test_1():
    2     print("hello ,test_1!")
    3     return 1
    4 print(test_1())  #返回 1

    3.如果函数有多个返回值,则返回一个元组

    1 def test_1():
    2     print("hello ,test_1!")
    3     return 1,22,'dsada',2343
    4 print(test_1())  #返回(1, 22, 'dsada', 2343)

    参数:有位置参数,关键字参数,默认参数,和参数组

    位置参数:

    传入的实参必须和形参一一对应,多一个或少一个都不行

    example:

    1 def test_2(arg1,arg2,arg3):
    2     print('arg1=%s arg2=%s arg=%s' %(arg1,arg2,arg3))
    3 test_2(5,2,0)   #函数调用结果“arg1=5 arg2=2 arg=0”

    关键字参数:

    关键字参数可以不按照顺序传入,但必须为每一个形参通过“key = value” 的方式传入实参

    example:

    1 def test_2(arg1,arg2,arg3):
    2     print('arg1=%s arg2=%s arg=%s' %(arg3,arg1,arg2))
    3 test_2(arg3=5,arg1=2,arg2=0)  #执行结果 “arg1=5 arg2=2 arg=0”

    默认参数:

    函数定义是可以设置默认参数,当一个形参没有实参传入时就会使用该默认参数,默认参数采用从右向左的设置方式 “param1,param2=6,param3=1”是可以的

    但“param1,param2=6,param3”是不可以的因为,param3没有值二param2却有值

    example:

    1 def test_2(arg1=0,arg2=2,arg3=5):
    2     print('arg1=%s arg2=%s arg=%s' %(arg3,arg2,arg1))
    3 test_2()  #执行结果 “arg1=5 arg2=2 arg=0”

    参数组:

    当不知道有多少个参数要传入函数时,可以采用参数组的形式

    example:

    1 def test_3(*args,**kwargs):   #*args接受数目不定的位置参数,**kwargs就收数目不定的关键字参数
    2     print('*arg:',args)      #打印一个元组
    3     print('**kwargs:%s' % kwargs)  #打印一个字典
    4 test_3(1,1,1,'handsome',name='joker',age=18,face='handsome')

    PS:位置参数和关键字参数混用时,关键字参数要在在位置参数的后面

    局部变量全局变量

    全局变量:

    定义在程序开头的变量

    局部变量

    定义在函数体里的变量,当函数被调用时才会在内存中为其开辟空间

    当函数被调用时,函数可以通过一些操作改变全局变量的值,这个全局变量是:列表,字典,集合,类。而字符串,数字,元组是不可以被函数修改的。除非加上关键字global。这个方法不推荐使用。

  • 相关阅读:
    docker
    opencart
    Why is setTimeout(fn, 0) sometimes useful?
    linux下php环境配置
    xampp for linux
    Where to go from here
    freefcw/hustoj Install Guide
    khan academy js
    SDWebImage
    基于OpenCV 的iOS开发
  • 原文地址:https://www.cnblogs.com/planBinary/p/11728349.html
Copyright © 2020-2023  润新知