函数

                函数

  终于学到相当重要的知识了,函数是以后要大量用到的知识,为为什么呢,下面我来给大家说明一下。

  函数的特点:

    1:减少重复代码

    2:保持代码的一致性

    3:使代码具有可扩展性

  1:命名规范

    函数的命名规范和变量的一样:

    (1)函数名必须以下划线或字母开头,看可以包含任意字母,数字或下        划线

    (2)函数名区分大小写

    (3)函数名不能是保留关键字

  2:函数的创建  

def f():
        print{'hello word'}

    这便是一个简单的函数

   3:函数的调用

     函数分为2中情况,一种是不对函数进行操作的,这时的函数因为不做任何处理,所以    可以对函数进行直接调用。

         例如调用上一个函数:

      f():

      直接调用函数名加():就可以了

      如果要对函数进行操作:

      

1 def f(index):
2     print('function %s'%index)
3 
4 f(5)

 

 

 

      那么就在括号中加上要传入的参数

      f(5)是动态修改的变量

    4:函数添加时对应关系

      

1 def add(b,a):
2     print(a)
3     print(b)
4 
5 add(7,5)

           结果是:

这时的b和a就叫做必须参数

但是这样的添加有个缺陷,那就是必须按照b 和a的位置添加数据,如果位置错开,那么添加的数据就会有问题

       

所以为了避免这种问题,这时就用指定添加:通过关键字来添加

1 def add(b,a):
2     print(a)
3     print(b)
4 
5 add(a = 7,b = 5)

这时的结果就变成了 

                

    在添加多个参数的时候经常会遇到这样的情况添加多个一样的数据,这时就可以吧这个数据写成默认的参数,这样会减少很多的代码量。

  例如:

  

1 def add(name,age,sex = ''):
2     print('Name: %s'%name)
3     print('Age: %s'%age)
4     print('Sex:%s'%sex)
5 
6 add(name='xiaoming',age=40)

这时的结果是 

但是要注意的是:默认的参数都必须放到必须参数的后边,否则编译时就会报错

 

在很多的时候,添加的数据会多于已经定义的参数,如果在定义参数的话会特别的麻烦,这时就有了不定长的参数用‘*’标记

例如:

1 def add(*args):
2     print(args)
3     sum = 0
4     for i in  args:
5         sum+=1
6 add(1,2,3,4)

结果是:

生成的数据类型是元组类型

这时只定义了一个参数就接收了4个数据,是不是感觉非常的方便了。

但是这样的实现方法有一些缺陷,那就是只能接收没有命名的变量参数,要接收命名的变量参数那么就要用到下面的这种方法了。

使用不定长参数接收命名的参数时用'**'来接收

例如:

1 def add(*args,**kwargs):
2     print(args)
3     print(kwargs)
4 add('xiaoming',16,'male',job = 'IT')

结果是: 

看的非常明显,上边的一行的数据类型是元组下边一行的类型是字典并且把键和值都自动区分开了

但是想混合的使用这些参数,那么就必须注意先后顺序,要不然就会报错。

先后顺序是:必须参数-默认参数-不定长参数(*)-不定长参数(**)

 

posted on 2016-09-07 10:55  python-小胖  阅读(234)  评论(0)    收藏  举报

导航