函数:面向过程(由功能—输入输出)
方法:面向对象
函数目的:实现代码复用
函数定义:
def 函数名(参数列表):
函数体
return 返回值列表
定义1+2+...+100累加运算
>>> s=0
>>> for i in range(100):
... s=s+i+1
...
>>> s
5050
>>> def int_sum(a): #定义的传入参数a叫形式参数
... s=0
... for i in range(a): #range(100)=0,1...99 让传入参数a在函数体中某个地方起作用
... s+=i+1 #注意这里是i +=即=s+ 累加,s+=i+1相当于s=s+i+1
... return s
...
>>> int_sum(100) #真正使用的100叫实际参数
5050
总结:具体的1+...100累加,编写成抽象的可复用的函数(自动累加/for循环)
定义一个整数n的阶乘函数
def fact(n):
s=1
for i in range(n):
s=s*(i+1) #i从0开始,所以要+1
return s
#type() 返回函数类型
type(fact)
type(fact()) ❌
#python语言最小函数
def f():
pass #pass不进行任何操作 只起到占位作用
函数的参数传递
1.可选参数传递(函数参数在定义时如已指定默认值,当函数被调用时,如没有对应传入参数,则用默认值替代
>>> def multiply(x,10):❌ #形式参数必须是变数,但可以先赋予初始值
>>> def multiply(x,y=10):
... print(x*y)
...
>>> multiply(10) #实际参数是除变数外的资料形态,如字串 数值等
100
2.参数名称传递(python用名称传递打破了其他语言位置传递,即形参输入和实参对应)
>>> def multiply(x,y=10):
... print(y/x)
...
>>> multiply(y=100,x=2