Python014函数(新)
好长时间没有继续写python的文章了,前一段时间工作比较忙,就把python放下了一段时间。放下python,立地成佛,哈哈哈。忙完后发现,竟然忘的差不多了,实在是郁闷。又重新把前面学的复习了一遍。古人说,温故而知新。重新来了一遍之后,对python更加有感觉了,建议新学python的同学们可以再复习一下。
---------------------------------------------------------------------------------------------------------------------
函数很有用,可以大幅度减少代码冗余,使代码的层次结构明显。经过学习python中的函数,发现确实挺特别的。下面来看一下python中的函数:
1.无参数无返回值函数
def func1():
print("func1");
#上面是函数的定义,下面是调用函数
func1(); #func1
2.无参数有返回值函数
def func2():
return 'i am func2' #这里可以返回任何类型数据
res=func2();
print(res);#i am func2
3.单参数无返回值函数
def func3(a): #参数可以是任意类型
print("func3:",a);
func3(3.14); #func3: 3.14
4.单参数有返回值函数
def func4(a):
return a**2;
print(func4(12));#144
5.多参数无返回值函数
def func5(a,b,c):
print("func5",a+b+c);
func5("张",'三',"疯");#func5 张三疯
6.多参数有返回值函数
def func6(a,b,c):
return a+b+c;
print(func6(1, 2, 3));#6
7.多返回值函数
def func7(a,b,c):
return a,b,c;
e,f,g=func7(3,4,5);
print(e,f,g);#3 4 5
8.不定长参数
def func8(*a):#这里a前面加了一个*,对于函数来说,a就是一个元组,调用的时候可以传入任意参数
s="";
for i in a:
s+=str(i);
return s;
res=func8("abc",234,-8,'rrr',{1,2,3});
print(res);#abc234-8rrr{1, 2, 3}
def func9(**a):#a是一个字典,调用方法在下面
for k in a.keys():
print(k,a[k]);
func9(name='张三疯',age=10086);#name 张三疯 age 10086
9.缺省参数
def func10(a,b=5):
print(a,b);
func10(1);#1 5
func10(1,2);#1 2
#下面的定义直接崩溃了
#def func11(a=1,b):
# print(a,b);
def func11(a=3,b=5):
print(a,b);
func11();#3 5
func11(1);#1 5
func11(1,2);#1 2
10.局部变量,全局变量
g=8;
def func12():
print(g);
func12();#8
def func13():
g+=1;
print(g);
#func13(); 报错,不能直接修改全局变量的值
def func14():
global g;#通过global修饰,就可以修改全局变量了
g+=1;
print(g);
func14();#9
print(g);#9
def func15():
g=1;#这里g是局部变量
x=1;#x是局部变量
print(g);
func15();#1
print(g);#9
11.其他
def func16(a,b,c):
print(a,b,c);
func16(1,2,3);#1 2 3
func16(a=1,c=2,b=3);#1 3 2
func16(c=1,b=2,a=3);#3 2 1