python 日记 day9 函数

s = '金老板'
def my_len(): 函数命名。   接收参数又叫形式参数。
    i = 0
    for k in s:
        i +=1
    return i
my_len()---------------调用函数
length = my_len()                   -----传递参数又叫实际参数
print(length)

函数的特点:

    定义了之后可以咋任何需要它的地方调用。

对比len():1.len不能变,只能计算。 

      2.只是输出结果。

     3.没有返回长度只是单纯的打印。

返回值的三种情况:

    1.无返回值-----a.只写return b.不写return

    2.返回一个值----a.可以返回任何数据类型   b.只要返回了就可以接收

    3.返回多个值

    返回值用多个变量接收,有多少返回值用多少变量接收。

    返回多个值用一个变量接收,返回值组成元组。

 调用函数
def mylen():
    s = 'hello word'
    length = 0
    for i in s:
        length +=1
    return length
strlen = mylen()
print(strlen:%s'%strlen)

return 关键字的作用

    return是一个关键字,在pycharm里你会看到他变蓝色了。a.可以结束一个函数。 b . 当没有返回值时,默认返回none。

                               c.如果一个程序中有多个return时,只执行第一个return。

函数的参数:


def func(*args):------*args 动态参数,接收的是按照位置参数的值,组成一个元组。
    print(args)
func(1,2,3,[1,2,])

def func(**kwargs):---接收的是按照关键字传递的参数的值,组成一个字典。
    print(kwargs)
func(a=[1,2])

 

 
def classmate(name,sex):
    print('%s:%s'%(name,sex))
classmate('erge','nan')

站在实际参数角度上:

    1.按位置传参     2.按照关键字传参。   3.1和2可以混用,但必须先用位置传参,再按关键字传参,不能给同一个变量传多个值。

站在形参的角度上;

    位置参数:必须传,且有几个参数传几个值。

默认参数属于关键字参数。

在定义函数时

      1.位置参数:直接定义参数。

      2.默认参数:参数名=‘默认值’

        定义顺序;需先定义位置参数再定义*args参数,再定义关键字参数,再定义**kwargs参数.

      3.动态参数:可以接收任意多个参数,参数名前加*,习惯参数名args.

def func(*args):-----站在形参的角度上加*,就是组合传来的值
    print(args)
func(1,2,3)
l = [1,2,3,4]
func(*l)---------站在实参的角度上,给一个序列加上*,就是将这个序列按顺序打散

 

posted @ 2017-12-27 14:50  liang哥哥  阅读(92)  评论(0编辑  收藏  举报