笔记|python 函数的概述与基本用法总结

# -*-coding:utf-8 -*- # @Time :19:41 # @Author: 黄荣津 # @File : 37.函数的定义与调用.py # @Software: PyCharmdef calc(a,b):#a,b称为形式参数 c=a+b return cresult=calc(10,20)#10,20成为实际参数 print(result)res=calc(b=10,a=20)# =左侧的变量的名称称为关键字参数 print(res)

# -*-coding:utf-8 -*- # @Time :19:57 # @Author: 黄荣津 # @File : 38.函数参数传递的内存分析.py # @Software: PyCharmdef fun(arg1,arg2): print('arg1',arg1) print('arg2', arg2) arg1=100 arg2.append(10) print('arg1', arg1) print('arg2', arg2)n1=11 n2=[22,33,44] print(n1) print(n2) print('-------------') fun(n1,n2) #按位置顺序传参 print(n1) print(n2)'''在函数的调用过程中,进行参数的转递 如果是不可变对象,在函数的修改不会影响实参的值,arg1的修改为100,不会影响n1的值 如果是可变对象,在函数体的修改会影响实参的值,arg2的修改,append(),会影响到n2的值 ''''''函数参数定义-默认值参数'''def fun(a,b=10):#b称为默认值参数 print(a,b)#函数的调用 fun(100) fun(20,30) #30会把10覆盖掉

# -*-coding:utf-8 -*- # @Time :20:13 # @Author: 黄荣津 # @File : 39.函数的返回值.py # @Software: PyCharmdef fun(num): odd=[] #存计数 even=[] #存偶数 for i in num: if i%2: odd.append(i) else: even.append(i) return odd,even#函数的调用lst=[10,29,34,23,44,53,55] print(fun(lst))''' 函数的返回值 (1)如果函数没有返回值,return可以不用写 (2)函数的返回值如果是一个,直接返回类型 (3)函数的返回值如果是多个,返回的结果为元组 '''def fun1(): print('hello')fun1()def fun2(): return 'hello'res=fun2() print(res)def fun3(): return 'hello','world'print(fun3())

# -*-coding:utf-8 -*- # @Time :20:42 # @Author: 黄荣津 # @File : 40.函数参数形参个数可变.py # @Software: PyCharmdef fun(*args):#函数定义时的 可变的位置参数只能是一个,返回是元组类型 print(args)fun(10) fun(30,32) fun(2,6,4)def fun1(**args): #个数可变的关键字参数,返回是字典类型 print(args)fun1(a=10) fun1(a=10,b=20,c=30)def fun2(*args1,**args2): pass''' 在一个函数的定义过程中,既有个数可变的关键字形参,也有个数可变的位置形参 要求:个数可变的位置形参要放在个数可变的关键字形参之前 '''

# -*-coding:utf-8 -*- # @Time :20:57 # @Author: 黄荣津 # @File : 41.函数的参数总结.py # @Software: PyCharmdef fun(a,b,c): print('a',a) print('b', b) print('c', c)#函数的调用fun(10,20,30)lst=[11,22,33] fun(*lst) #在函数调用时,将列表的每一个元素都转换为位置实参转入fun(a=100,b=200,c=300) #函数的调用dic={'a':111 , 'b':222,'c':333} fun(**dic)#在函数调用时,将字典中的键值对都转换为位置实参转入

# -*-coding:utf-8 -*- # @Time :20:35 # @Author: 黄荣津 # @File : 42.递归函数.py # @Software: PyCharmdef fac(n): if n==1: return 1 else: return n*fac(n-1)print(fac(6))def fib(n): if n==1: return 1 elif n==2: return 1 else: return fib(n-1)+fib(n-2)#斐波那契数列第六位上的数字 print(fib(6))#输出这个数列的前6位上的数字之和 sum=0 for i in range(1,7): sum=sum+fib(i)print(sum)

【笔记|python 函数的概述与基本用法总结】

    推荐阅读