Python函数&内置函数
【函数定义】:将实现某个独立功能的代码组合在一起,命一个名字,再需要使用这段代码时通过所命的名字来使用,就叫做函数
使用函数的好处:
1、将代码模块化(升级或修改某一个功能时只更新相应函数即可)
2、方便代码重复使用(不需要多次重复编写代码只需多次调用即可)
函数定义的格式:
def 函数名():
代码块
--------------------------------------------------*********【正文如下】**********——————————————————————————————————
内置函数举例:
# print input len type str int float list range
# pop append insert keys split replace strip
# remove clear
函数的特点:提高复用率,可以重复使用
函数的语法之关键字:def(关键字)---define
【函数定义】
函数名定义:1、函数名命名规则与变量命名规则一致,但一般不使用大驼峰命名方式
2、定义函数只是表示函数具有某一个功能,但是定义本身不会执行(如上面例子函数具有打印名片的功能,但是不会执行打印,执行代码时无任何打印信息)
语法格式如下:
def 函数名(): #括号内可以带参数用英文逗号隔开
函数体 #你希望这个函数去给你实现什么功能
【函数调用】---想要让函数中的代码执行,需要使用函数调用
调用方式: 函数名()
【函数参数】:调用函数时想要让函数根据提供的数据不同来执行不同的结果,传入函数的数据和函数用来接收的数据叫做函数的参数
1、形参/位置参数:以变量的形式接受实参的参数叫做形参,不是非要按顺序在函数体里调用,函数体实际怎么用就怎么用,传的参数也可以不用
def add_numbers(m,k,n): sum=0 #for i in range(m,n,k): #函数体内参数位置与形参位置不同:m=1,n=2,k=5 for i in range(m,n): # 传三个参数使用两个是可以的,形参不一定要用 sum+=i print("求得总和是:{0}".format(sum)) add_numbers(1,5,2) # 切片输出是1,和是1
2、实参:实际传入函数的参数叫做实参
3、默认参数:给变量赋予默认值,当函数不传值,则显示为默认值;函数传值以实参优先
def good_student(name): print('{0}是个好学生'.format(name)) # 调用参数 good_student('李华') #实参 good_student('xiaoming') #不传参TypeError: good_student() missing 1 required positional argument: 'name'
#输出: /usr/local/bin/python3.7 /Users/tuyoo/Documents/pytext/test02/aaa.py 李华是个好学生 xiaoming是个好学生
举例:请把1-100连续整数相加功能写成一个函数
# 方法1: def add_numbers(): sum=0 for i in range(1,101): sum+=i print(sum) add_numbers() # 方法2: def add_numbers(m,n,k=1): sum=0 for i in range(m,n,k): sum+=i print("求得总和是:{0}".format(sum)) add_numbers(1,101) # 传任意参提高复用性
#输出: /usr/local/bin/python3.7 /Users/tuyoo/Documents/pytext/test02/aaa.py 5050 求得总和是:5050
【注意点】 1)默认的情况下,实参是按顺序赋值给形参,如add_numbers(1,101) --- 按顺序赋值给形参m、n
2)在指定了实参的情况下,按指定的形参赋值,如:add_numbers(m=1,k=101) --- 将数字分别赋值给了m、k
3)当存在“形参”又存在部分形参被赋予默认参数时,默认参数必须放在“形参/位置参数”后边
ps:选中-->按tab,可以集体缩进
【函数返回值】---函数中代码执行完将执行结果返回给调用者叫做函数返回值
返回方式:
return 执行结果 # return 当你调用函数的时候,会返回一个值,这个值等于return后边的表达式,值可以输出或保存
【?】什么时候用?
使用场景:返回值给调用者---return 语句就是将结果返回到调用的地方,并把程序控制权一起返回
【注】(1)return 在函数里相当于一个结束符号,表示函数到此为止,后边的代码不会被执行。一般情况下 return 语句是函数定义的最后一部分,而 return 语句后的语句是不会执行的,并且退出函数。
(2)return后没接表达式的话,控制台返回的是None
【函数嵌套】 ---一个函数中的代码又调用了另一个函数,这种调用形式叫做函数嵌套
套用一个例子1:求3个数之和:
套用一个例子2:---求三个数的平均值
说明行流程:调用ave3Num(11,22,33),此时a=11,b=22,c=33,再调用sum3Num(11,22,33),此时num1=11,num2=22,num3=33,计算出sumResult值为66,因此aveResult值为66/3=22