赞
踩
- # -*-coding:utf-8 -*-
- # @Time : 19:41
- # @Author: 黄荣津
- # @File : 37.函数的定义与调用.py
- # @Software: PyCharm
-
- def calc(a,b): #a,b称为形式参数
- c=a+b
- return c
-
- result=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: PyCharm
-
-
- def 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: PyCharm
-
- def 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: PyCharm
-
- def 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: PyCharm
-
- def 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: PyCharm
-
- def 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)

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。