第5天-[21天学Python]-Python中自定义函数及调用的方法

本章内容主要包括:

  • 声明函数
  • 调用自定义函数
  • 变量作用域
  • 各种类型的函数参数应用
  • 使用lambda建立匿名函数
  • Python其他常用内建函数 

1、使用函数

1.1 声明函数

在python中,函数必须先声明,然后才能调用它,使用函数时,只要按照函数定义的形式,向函数传递必需的参数,就可以调用函数完成响应的功能或者获得函数返回的处理结果。

在python中使用def声明一个函数,声明函数的一般形式如下:

def <函数名> (参数列表):
    <函数语句>
    return <返回值>

其中,参数列表和返回值不是必须的,return后也可以不跟返回值,甚至连return也可以没有,对于没有return的函数都会返回None值。

def hello():  #函数名为hello,无参数
   print('你好,Python!')  #缩进的语句,表示函数内的语句,无return,返回None

python声明一个函数不需要声明函数的返回值类型,也不需要声明参数的类型。

def tpl_sum ( T ):  #求一个元组中所有数之和的功能
    result = 0
    for i in T: 
        result += i
    return result

1.2 调用函数

     要调用指定的函数就在语句中使用函数名,并且在函数名之后用圆括号将调用参数括起来:

def hello():  #声明函数,无参数也需写括号
   print('你好,Python!')  
hello()  #调用函数,无参数也需写括号

2、 深入函数

2.1 默认值

     声明一个参数具有默认值的函数形式如下: 

def hello(name='python'):
   print('你好,%s!' % name)
print('无参数调用时输出:')
hello()
print('有参数调用时输出:')
hello('Jonson')

第5天-[21天学Python]-Python中自定义函数及调用的方法_第1张图片

2.2 参数传递

     python中参数值的传递是按照声明函数时参数的位置顺序进行传递的,即位置参数;python还支持按照参数名传递值的方法。

def mult(a,b,c):
    return a*b*c
mult(2,3,4)

第5天-[21天学Python]-Python中自定义函数及调用的方法_第2张图片

     当自定义函数时,如果参数前加上一个星号“*”,则表示该参数是一个可变长参数,调用该函数时,如果依次将所有的其他变量都赋予值之后,剩下的参数将会收集在一个元组中,元组的名称就是前面带星号的参数名。 

def change_para(*tp1):
   print(type(tp1))
   print(tp1)
change_para(1)
change_para(1,2,3)

第5天-[21天学Python]-Python中自定义函数及调用的方法_第3张图片

3、变量的作用域

     python中,作用域可以分为以下这些: 

  • 内置作用域:python预先定义的;
  • 全局作用域:所编写的整个程序;
  • 局部作用域:某个函数内部范围。 

     下边为在函数内外都有一个同一个名称的变量而不影响: 

def myfun():
    a = 0   #函数内声明并初始化变量a为整数
    a += 3  #修改a的值
    print('函数内a:',a) #输出函数内a的值
a='external'  #全局作用域内a声明并初始化
print('全局作用域a:',a)
myfun()  #调用函数
print('全局作用域a:',a)

第5天-[21天学Python]-Python中自定义函数及调用的方法_第4张图片

     如果要在函数内部使用全局变量,可以使用:

def myfun():
    global a #增加此语句!
    a = 0   #函数内声明并初始化变量a为整数
    a += 3  #修改a的值
    print('函数内a:',a) #输出函数内a的值
a='external'  #全局作用域内a声明并初始化
print('全局作用域a:',a)
myfun()  #调用函数
print('全局作用域a:',a)

4、使用匿名函数(lambda) 

     lambda可以创建匿名函数,也可以将匿名函数赋给一个变量供调用,它是python中一类比较特殊的声明函数的方式,语法形式如下:

lambda params:expr

5、Python常用内建函数

     python中没有导入任何模块或包时,python运行时提供的函数称为内建函数,如下表所示: 

第5天-[21天学Python]-Python中自定义函数及调用的方法_第5张图片

第五天完。 

   

    

你可能感兴趣的:(21天学Python,python,开发语言,后端)