python函数基础知识
目录
前言
什么是函数?函数就是执行特定任务和以完成特定功能的一段代码,那为什么要用到函数呢?是为了复用代码,隐藏实现细节,提高可维护性,提高可读性便于调试等等。那接下来介绍下函数的常见基础知识吧。
一、函数的定义
Ⅰ、函数的创建
函数的创建是通过def关键字来创建的。
                 这就是一个最简单的函数表示方式
这就是一个最简单的函数表示方式
函数的调用也很简单,就是直接:函数名(参数)例如:最后得出c等于3。
def main(a,b):
    return a+b
c = main(10,20)
print(c)Ⅱ、函数的参数
知道了函数是怎么创建的,那么接下来了解下什么是函数的参数和是怎么传递的吧。
函数的参数分为实参和形参。函数定义时,给形参设置默认值,只有与默认值不符的时候才需要传递实参。
def main(a,b = 10):
    print(a + b)
main(20)
main(20,30) 运行结果
运行结果
                 位置实参:根据形参对应的位置进行实参传递 参数一对一进行传递。
 参数一对一进行传递。
                关键字实参:根据形参名称进行实参传递 参数根据名字进行传递。
参数根据名字进行传递。
实参名称和形参名称可以不一致。
在函数使用过程中,进行参数的传递,如果是不可变对象,在函数体的修改不会影响实参的值。
如果是个数可变的位置参数:①定义函数时,无法确定传递的位置实参的个数,使用可变的位置参数。②使用*定义个数可变的位置形参。③结果为一个元组且可变的位置参数,只能是一个。
def main(a,b,c):
    print(a + b +c)
main(1,2,3)    #函数调用的参数传递,叫做位置传参
lis = [2,3,4]
main(*lis)  #现在调用,将列表中的每个元素转换成位置实参传入如果是个数可变的关键字形参: ①定义函数时,无法确定传递的关键字实参的个数时,使用可变的关键字形参。②使用**定义个数可变的关键字形参。③结果为一个字典且个数可变的关键字参数,只能是一个。
def main(a,b,c):
    print(a + b +c)
main(a = 1,b = 2,c = 3)    #关键字实参
lis = {'a':2,'b':3,'c':4}
main(**lis)  #现在调用,将列表中的每个元素转换成关键字实参传入注意:在一个函数定义过程中,既有个数可变的关键字形参,也有位置参数,位置参数必须放在关键字形参前面
二、函数的变量
变量的作用域:程序代码能访问该变量的区域。
根据变量的有效范围范围可分:局部变量:在函数内定义并使用的变量,只在函数内部有效,局部变量使用global声明,这个变量就会成全局变量。全局变量:函数体外定义的变量,可作用于函数内外。
a = 10  # 先定义一个全局变量
print(a)      # 输出全局变量
def main():
  global a      # 利用global重新定义变量a
  a = 100
  print(a)
main()
print(a)  #输出的是100,说明变量a已经被重新定义了,变成了全局变量 运行结果
运行结果
三、递归函数(递推,回归)
如果在一个函数的函数体内调用了该函数本身,这个函数就称为递归函数,递归组成部分:递归调用与递归终止条件
递归地调用过程:每递归调用一次函数,都会在栈内分配一个栈帧;每执行完一次函数,都会释放相应的空间
占用内存多,效率低;思路和代码简单
def mian(a):
  if a == 1:
    return 1
  return a * mian(a - 1)
a = mian(3)
print(a)  #输出6 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号