函数编程:
死循环---->while True:
把重复的代码提取出来放到公共的地方起个名字,当想用这个代码的时候调用这个名字就可以使用。这就是一个函数。函数可以减少重复代码。
函数的定义和语法特性:
定义:函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可。
编程中的函数也有很多的叫法:BASIC语言中叫做subroutine(子过程或子程序),在C中只有function,在JAVA里面叫做method。
特性:
减少重复代码;
使程序变得可扩展;
使程序变得易维护。
语法定义:
def abc(): #函数名,括号内可以定义参数 abc() #调用函数
函数的各种参数:
形参,实参:
默认参数:默认参数需要写在后面。因为默认参数可以不写,写在中间,程序就会报错。
根据位置进行一一对应的就叫位置参数
关键参数(指定参数),在赋值时指定它的名字,加了参数名就叫关键参数,调用时关键参数必须放在位置参数之后。调用时多次调用重复赋值,会报错。
优先级:位置参数> 关键参数
非固定参数:若函数在定义时不确定用户想传入多少个参数,就可以使用非固定参数。
*args & **kwargs ,*后面可以自己定义,但通用是args 和kwargs。
def demo(name,age,*args) # *args会把多传入的参数变成一个元组形式 demo(Icey,28,China",engineer) def demo(name,age,**kwargs) # **kwargs会把多传入的参数变成一个字典形式 demo(Icey,28,addr="China",job="engineer")
函数的返回值
1.函数外部的代码要想获取函数的执行结果,就可以在函数里用return语句把结果返回。
在return存到函数的状态可以在外部调用。
def demo(name,age) print("名字",name) print("名字",age) if age > 22; return False else: return True judge = demo("Icey",27) print(judge) if judge : print("成功") else: print("失败")
2.程序执行一遇到return就代表函数的结束。
3.如果函数中没有指定return的值,则返回none。
局部变量&全局变量
在函数内部定义的变量都叫局部变量,只在函数内部生效,当函数执行完毕后,所有变量都会释放掉。局部变量的作用域是定义该变量的函数。
在函数一开始定义的变量就是全局变量。全局变量的作用域是整个程序。
name = "Icey" def demo(): global name #声明一个全局变量 name = "Jon" print(name)
函数里传递列表、字典产生的现象?
当列表和字典传递到函数内时,可以更改它们里面的数据,不能更改列表和字典本身。
列表参数传递给函数后, 函数就可以对其进行修改。注意: 在函数中对列表所进行的任何修改都是永久性的。
常用的内置函数:
Python 内置函数 | 菜鸟教程