Python014函数(新)

来源:互联网 发布:托福app软件推荐 编辑:程序博客网 时间:2024/06/11 17:18

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