初始函数

一、函数的作用:

  函数用来是实现单一或者相关联功能的代码段,减少代码的重复和提高可读性。

二、函数的定义

  定义函数的规则如下:

    函数代码是以def关键字开头,后面是函数名和圆括号()。

    函数的第一行语句可以选择性的使用文档字符串--用于存放函数声明。

    函数体要缩进

  函数的语法:

def  函数名()
    函数体

  函数的实例

 

def return1(): # def 是函数的关键字,return1是函数名
    print('11111111')
    print('22222222')
    print('33333333')
return1()

  函数的调用

    定义一个函数,给了函数一个名称,指定了函数里面包含的参数,和代码块结构。

    定义一个函数后,会将这个函数加载到内存中,函数中的函数体不会执行,只用调用这个函数后才会执行函数里面的函数体,如下实例:

#!/usr/bin/python
# -*- encodeing:utf-8 -*-
def mylen(s):
    i = 0
    for k in s:
        i += 1
    return i
b = mylen('caoyanfei')  #此处就是调用函数
c = mylen('dshdgshjfgjhdsfgsdjhdsjf')#此处就是调用函数
print(b)
print(c)
调用函数

  函数返回值(return)

    不写return  返回是None

    只写return 结束一个函数,(默认返回值为None)

    返回一个值  可以返回一个任意类型的数据

    返回多个值 返回多个值用多个变量接收,有多少个值就使用多少个变量,也可以使用一个变量接收,返回的形式是数值以元祖的形式,如下实例:

#!/usr/bin/python
# -*- encodeing:utf-8 -*-
# def return1(): # def 是函数的关键字,return1是函数名
#     print('11111111')
#     print('22222222')
#     return 
#     print('33333333')
# return1()  #只有return 是结束整个函数的继续
# def return2():
#     print('4512')
#     print('2455')
# ret = return2()
# print(ret)   #没有返回值,默认返回None


# def return2():
#     ll = [1,2,3,4,5,6,7]
#     count = 0
#     for i in ll:
#         count += 1
#     return count
# ret = return2()   # 返回单个数值
# print(ret)

# def rerurn3():
#     return 1,2,3,4
# ret1,ret2,ret3,ret4 = rerurn3()  #有多少个数值就用多少个变量接收0
# print(ret1,ret2,ret3,ret4)


# def rerurn4():
#     return 1,2,3,4
# ret = rerurn4()
# print(ret)   #多个数值使用一个变量接收,返回的形式是以元祖的形式。
返回值实例

三、参数

  实参:

    按照位置传参,必须是顺序一一对应才可以,实例如下:

#!/usr/bin/python
# -*- encodeing:utf-8 -*-
def func(x,y): #括号中的代表形参
    return x,y
ret = func(1,2)  #括号中的值就是按照位置进行传参,x=1,y=2
print(ret)
按照位置传参

    按照关键字传参,顺序可以不对应,实例如下:

#!/usr/bin/python
# -*- encodeing:utf-8 -*-
def func(x,y): #括号中的代表形参
    return x,y
ret = func(y=1,x=2)  #括号中的值就是按照关键字进行传参,x=2,y=1
print(ret)
关键字传参

    混合传参,此项需要注意它的传参顺序:必须按照位置传,在按照关键字传,实例如下:

#!/usr/bin/python
# -*- encodeing:utf-8 -*-
def func(x,y,z,c): #括号中的代表形参
    return x,y,z,c
ret = func(1,2,c=1,z=10)  #括号中的值必须按照混合传参的规则顺序才可以,否则会报错
print(ret)
混合传参

  形参:

    按照位置传参与实参一样,实例参考实参的代码:

    默认参数  就是在定义形式参数是就已经设置完成,实例代码如下:

#!/usr/bin/python
# -*- encodeing:utf-8 -*-
def classmate(name,sex=''): # 此处的sex已经设置为默认参数,在添加人数时默认添加新成员的性别都是男性。
    print('%s : %s'%(name,sex))

classmate('曹艳飞')
classmate('方少伟')
classmate('朗哥',sex= '') # 如果出现不同的性别可以在添加新成员时修改性别
默认参数

     动态参数*args:是不定长参数,它是接收多个按照位置参数

    动态参数**kwargs 也是不定长参数,它是接收多个按照关键字的参数

    参数的顺序:位置参数===》*args===》默认参数===》**kwargs,实例如下:

#!/usr/bin/python
# -*- encodeing:utf-8 -*-
# def func(*args):
#     return args
# ret = func(1,2,3,4)
# print(ret)


# def func(a,b,c,*args):
#     return a,b,c,args
# ret = func(1,2,3,4,5,6)
# print(ret)

# def func(a,b,c,*args,sex='man'):
#     return a,b,c,args,sex
# ret = func(1,2,3,4,5,6,sex='女')
# print(ret)

# def func(*args,**kwargs):
#     for i in args:
#         i = str(i)
#         i = tuple(i)
#     return args
# a = [1,2,3,4,56,7]
# ret = func(a)
# print(ret)
动态参数

 

posted @ 2018-02-01 16:31  曹艳飞  阅读(303)  评论(0编辑  收藏  举报