# java
public void 方法名(形参1,形参2,...){
方法体;
return 值;
}
# python
def 函数名(形参1,形参2,...):
函数体
return 值
函数名(实参1,实参2,...)
总结:函数通过def定义,通过return返回,如果没有return那么返回None。
作用:实现一种功能,是一种封装。
# 定义
def add():
print("Hello World")
# 调用
add()
# 在主方法调用(main+“回车” 自动生成)
if__name__=='__main__':
add()
1、无参无返回(无返回表示返回None)
# 定义:
def run():
print("我独自一个人在跑步")
# 调用:
run()
2、无参有返回
# 定义:
def xzy():
print("我在努力写作业")
return "作业"
# 调用:
return_value=xzy()
print(return_value)
3、有参无返回
# 定义:
def qj(money,jinzi,shoushi):
print("我抢劫完就跑了")
# 调用:
qiangjie("钱","金子","首饰")
4、有参有返回
# 定义:
def add(a,b):
c=a+b
return c
# 调用:
sum=add(30,40)
print(sum)
总结:有参数就要传值,有返回值一般就要接收
1.有默认值的参数
# 定义:(两个参数只有一个有默认值要写到后面)
def adds(a,b=100):
c=a+b
return c
# 调用:
print(adds(30))
print(adds(30,200))
2.有不定长的参数(这种参数会把传入的值组合成一个元组)
# 定义:
def add(a,b):
print(a)
print(b)
# 调用:
add(30)
add(30,100)
add(30,100,200,300,400,500,600)
3.带**不定长的参数(这种参数会把传入的值组合成一个字典)
# 定义:
def adds(a,**b):
print(a)
print(b)
# 调用:
adds(30)
adds(30,aaa=2,bbb=3,ccc=4)
1.嵌套调用(在一个函数里面调用另一个或多个函数)
def sort(lis):
for cs in range(len(lis)):
for a in range(len(lis)-1):
if lis[a]>lis[a+1]:
temp=lis[a]
lis[a]=lis[a+1]
lis[a+1]=temp
test()
return lis
def test():
print("WWWWWWWWW")
2.嵌套定义(内部的函数只能在内部调用)
def a():
test=1
print(test)
def b():
test=2
print(test)
def c():
test=3
print(test)
b()
1.自己调用自己
def a():
print("aaaaaa")
a()
2.函数之间相互调用
def a():
print("aaaaaa")
b()
def b()
print("bbbbbb")
a()
sum=lambda a,b:a+b
print(sum(10,20))
当函数传入list或者是dict时,则是引用传递
1.写函数,接收两个数字参数,返回最大值
def num(a,b):
max=a if a>b else b
return max
print(num(30,23))
2.写函数,获取传入列表的所有奇数位索引对应的元素,并将其作为新列表返回。
def getJs(lis):
new_list=[]
for a in range(len(lis)):
if a%2==0:
new_list.append(lis[a])
return new_list
print(getJs([82,42,60,12,33,79,19,43]))
原文:https://www.cnblogs.com/TD1900/p/11890614.html