Fork me on GitHub

python中函数的定义及调用

python中函数的定义及使用方法

1、函数的概念:函数是将具有独立功能的代码块组织为一个整体,使其具有特殊功能的代码集;
2、函数的作用:使用函数可以加强代码的复用性,提高程序编写的效率;
3、函数的使用:函数必须先创建才可以使用,该过程称为函数的定义,函数创建后可以使用,使用过程称为函数调用;

函数定义与调用

  • 函数语法:
def 函数名(形参1,形参2): #定义
    ...  #函数体
函数名(实参1,实参2)  #调用
  • 规则:

  • 函数代码块以def关键词开头,后接函数标识名称和圆括号();

  • 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数;

  • 函数的第一行语句可以选择性的使用文档字符串_用于存放函数说明;

  • 函数内容以冒号起始,并且缩进;

  • return[表达式] 结束函数,选择性的返回一个值给调用方,不带表达式的return相当于返回None;

  • 定义函数

lst = [1,2,3,4]
def mylen():
    i = 0
    for n in lst:
      i += 1
    print(i)
  • 调用函数
lst = [1,2,3,4]
def mylen():
    i = 0
    for n in lst:
      i += 1
    print(i)
mylen()  #调用函数
  • 函数返回值
def mylen():
    i = 0
    for n in lst:
      i += 1
    return i   # return 的作用就是将函数内的值返回给调用者
lst = [1,2,3,4]
ret = mylen()
print('>>>',ret)
  • 不写return 所有代码执行完后自动结束函数,返回值为None
  • 只写return 与到return函数结束 返回值为None
  • return 返回的结果 程序结束,返回结果,可以返回多个值,如:return 结果1,结果2,结果3,会变成元组返回给调用者

参数

  • 形参和实参
def sum(a,b,c):  # 此处传的值为形式参数  形参  
     return a+b+c
a1 = input('>>>>') # 3
a2 = input('>>>>') # 4
a3 = input('>>>>') # 5
ret = sum(int(a1),int(a2),int(a3))   # 此处传的值为实际参数  实参
print(ret)
>>>12
  • 位置参数
def func(a,b,c):  # 形参
    print(a)
    print(b)
    print(c)
func(1,2,3)  # 注意:在此处传值的时候要对应形参,a=1,b=2,c=3
>>>1
>>>2
>>>3
  • 关键字参数
def func(a,b):  # 此处的a,b为关键字参数
    print(a)
    print(b)
func(a = 1,b = 2)  # 此处传参按关键字传参:a = 1,b = 2 的方式
>>>1
>>>2
func(a = 3,b = 4)  # 此处传参按关键字传参:a = 3,b = 4 的方式
>>>3
>>>4
  • 默认参数
def func(a,b,c = 3):  # 此处的c为默认参数
    print(a)
    print(b)
    print(c)
func(1,2)
>>>1
>>>2
>>>3
  • 动态参数一 用*args来接受参数
def sum(*args):  *args 按位置传参
    s = 0
    for i in args:
        s += i
    return s
ret = sum(1,2)
print(ret)  # 结果:3
ret1 = sum(1,2,3)
print(ret1) # 结果:6
ret2 = sum(1,2,3,4)
print(ret2) # 结果:10

一般*args动态参数放在位置参数之后

def demo(a,b,c,*args):
    print(a)  # 结果:1
    print(b)  # 结果:2
    print(c)  # 结果:3
    print(args) # 结果:(4,5)
demo(1,2,3,4,5)
  • 动态参数二 用**kwargs接受参数
def func(**kwargs): # *kwargs 按关键字传参
    print(kwargs)  # 结果:{'a': 1, 'b': 2, 'c': 3}
func(a = 1,b = 2,c = 3)

参数使用的先后顺序:位置参数+动态参数+默认参数(关键字参数)

def func(a,b,c,*args,d='A'):
    print(a)  # 结果:1
    print(b)  # 结果:2
    print(c)  # 结果:3
    print(d)  # 结果:A
    print(args) # 结果:(4,5,6,7)
func(1,2,3,4,5,6,7)
如果想修改默认参数的值,便在传参的时候重新给d赋值:
def func(a,b,c,*args,d='A'):
    print(a)  # 结果:1
    print(b)  # 结果:2
    print(c)  # 结果:3
    print(d)  # 结果:B
    print(args) # 结果:(4,5,6,7)
func(1,2,3,4,5,6,7,d ='B')
传参简便方法
def func(*args):
    print(args)
tup = (1,2,3)
func(*tup)   # func(1,2,3)
结果:(1, 2, 3)
def func(a,b,c):
    print(a,b,c)
dic = {'a': 1, 'b': 2, 'c': 3}
func(**dic)   # func(a=1,b=2,c=3)
结果:1 2 3
def func(**kwargs):
    print(kwargs)
dic = {'a': 1, 'b': 2, 'c': 3}
func(**dic)   # func(a=1,b=2,c=3)
结果:{'a': 1, 'b': 2, 'c': 3}
posted @ 2019-09-10 22:07  Anesthesias  阅读(835)  评论(0编辑  收藏  举报