Python 函数介绍

函数的作用

1.减少重复代码
2.方便修改,更易扩展
3.保持代码一致性

函数的命名规则:

1.函数名必须以下划线或字母开头,可以包含任意字母,数字或下划线的组合,不能使用任何的标点符号。
2.函数名区分大小写。
3.函数名不能是保留字。

形参和实参

形参: 形式参数,不是实际存在的,是虚拟变量。

实参: 实际参数,调用函数时传给函数的参数,可以是常量,变量,表达式,函数,传给形参。

举个例子:

def add(x, y):             # 这里 add(x, y) 里面中的 x, y 就是形参
    print(x + y)

add(1, 2)                  # 调用 add(1, 2) 函数里面的 1, 2 就是实参 

运行结果:
3

函数参数分类

1.必备参数:
必备参数必须按正确的顺序传入,数量与申明时一致。

def person(name, age):
    print('My name is %s, age %d' %(name, age))

person('klvchen', 28)

运行结果:
My name is klvchen, age 28

2.关键字参数
函数使用关键字参数进行调用时,允许参数的顺序与声明时不一致。

def person(name, age):
    print('My name is %s, age %d' %(name, age))

person(age = 28, name = 'klvchen')

运行结果:
My name is klvchen, age 28

3.默认参数
调用函数时,用户如果没有传入缺省的值,则被认为是默认值。默认参数只能放在最后。

def person(name, age, sex = 'male'):
    print('My name is %s, age %d sex is %s' %(name, age, sex))

person(age = 28, name = 'klvchen')

运行结果:
My name is klvchen, age 28 sex is male

当用户需要传入非默认参数时:


def person(name, age, sex = 'male'):
    print('My name is %s, age %d sex is %s' %(name, age, sex))

person('lily', 18, 'female')

运行结果:
My name is lily, age 18 sex is female

4.不定长参数
事先没有规定用户输入的参数数量。
(*args)只存放未命名的变量参数,用户输入的参数会组成元组方式传入。

def add(*args):
    print(args)
    total = 0
    for i in args:
        total += i
    print(total)

add(1, 2, 3)

运行结果:
(1, 2, 3)
6

(**kwargs)只存放命名的变量参数,用户输入的参数会组成字典方式传入。

def person(**kwargs):
    print(kwargs)
    for i in kwargs:
        print("%s : %s" %(i, kwargs[i]))

person(name='klvchen', job='IT')

运行结果:
{'name': 'klvchen', 'job': 'IT'}
name : klvchen
job : IT

(*args)和(**kwargs)配合一起使用即可以接受用户输入的全部参数:

def person( *args, **kwargs):
    print(args)
    print(kwargs)
    print()
    for l in args:
        print(l)
    for i in kwargs:
        print("%s : %s" %(i, kwargs[i]))

person(1, 2, 3, 4, name='klvchen', job='IT')

运行结果:
(1, 2, 3, 4)
{'name': 'klvchen', 'job': 'IT'}

1
2
3
4
name : klvchen
job : IT

函数的返回值

函数返回单个值

def test():
    return 'hello world'

result = test()
print(result)

运行结果:
hello world

函数返回多个值

def test():
    return 1, [2, 3]

result = test()
print(result)
运行结果:
(1, [2, 3])

注意:
1.如果函数没有 return 关键字,默认会返回 None
2.如果函数 return 多个值,Python 会把多个值组成一个元组返回
3.函数在执行过程中如果遇到 return 关键字就会停止执行并返回结果,return 代表着函数的结束

posted @ 2018-04-04 14:37  klvchen  阅读(259)  评论(0编辑  收藏  举报