函数

一、什么是函数

  函数. 就是对一个代码块或者功能的封装. 什么时候用, 什么时候执行

  语法:

    def 函数名():
    函数体(代码块)
    

    函数的调用:   函数名()                 # 所有的()都是函数的调用

    函数名和变量名一样.

def yue():
    print("拿出手机")
    print("打开探探")
    print("找一个漂亮的美女")
    print("聊一聊.")
    print("走你~~")
yue()

二、函数的返回值

    函数在执行过程中或者执行完毕, 可以使用return返回给调用者一个结果,只要程序执行到return, 函数就会被停止, 后面的内容就不会再执行。  

def yue():
    print("拿出手机")
    print("打开探探")
    print("找一个漂亮的美女")
    return         # 这里的return终止执行一个函数,下面的不执行
    print("聊一聊.")
    print("走你~~")
yue()

    给函数的调用者一个访问结果

def yue():
    print("约金老板出来吃饭")
    print("约金角大王, 出来泡澡")
    return "小姑娘"   # 有返回值. 返回值是: "小姑娘"
ret = yue()
print(ret)

    返回值可以是多个元素

def yue():
    print("约金老板出来吃饭")
    print("约金角大王, 出来泡澡")
    return "小姑娘","小妹妹", "小萝莉", "护士"
a, b, c, d = yue() # 解构      不解构,返回值是元祖
print(a, b, c, d)

  总结: 1. 直接写个return或者不写return, 不返回任何内容, 接收的是None

              2. return 一个变量或者值(返回值)

              3. return 多个变量或者值, 返回的时候解释器会帮我们把多个返回值组装成一个tuple,接收的地方可以接收一个变量, 多个变量, 解构成多个变量

三、函数的参数:

    函数在访问的时候, 给函数传递的一些信息, 参数写在小括号里面

         1. 形参::在函数声明的位置给出的变量的声明, 形式参数

          2. 实参::在函数调用的时候.,给函数传递的具体的值, 实际参数

    3.给函数传递信息的时候将实际参数交给形式参数的过程被称为传参

    参数可以有很多个.每个参数之间用逗号隔开   

# def yue(chat):   # chat变量, 在声明函数的时候. 并不知道chat取值是什么       #形参
#     print("拿出手机")
#     print("打开"+ chat)
#     print("找一个漂亮的美女")
#     print("聊一聊.")
#     print("走你~~")
# yue("陌陌")      # 函数被调用的时候会给出具体的值       #实参
# # yue()         # 会报错. 必须要给值

  实参:    

    位置参数:按照位置把实参赋值给形参

# def yue(chat, age, address):     #形参 
#     print("拿出手机")
#     print("打开"+ chat)
#     print("在%s位置找一个%s以下美女" % (address, age))
#     print("聊一聊.")
#     print("走你~~")
#yue('陌陌',20,'北京') #实参

    关键字参数:对照形参, 给每个参数赋值

def yue(chat, age, address): 
    print("拿出手机")
    print("打开"+ chat)
    print("在%s位置找一个%s以下美女" % (address, age))
    print("聊一聊.")
    print("走你~~")
yue(address="保定", age=20, chat="陌陌")

    3. 混合参数:位置参数和关键字参数混合着使用, 必须先写位置参数, 然后才是关键字参数

def yue(chat, age, address): 
    print("拿出手机")
    print("打开"+ chat)
    print("在%s位置找一个%s以下美女" % (address, age))
    print("聊一聊.")
    print("走你~~")
yue(chat="陌陌", 18, "保定")    # 报错. 应该是:先写位置参数,然后再是关键字参数
# 练习: 编写一个函数get_max() 给函数传递两个参数: a, b, 返回a和b中比较大的那个数.
# def get_max(a, b):
#     if a > b:
#         return a
#     else:
#         return b
# c = get_max(a, b)
# print(c)

# 三元运算符(表达式)
# def get_max(a, b): #   d = a if a > b else b # c= 当a>b的时候返回a, 否则返回b #   return d
# c = get_max(a, b)
# print(c)

  形参: 

    位置参数:按照位置来赋值,到目前为止,我们使用的都是位置参数

# def yue(chat, age, address):     
#     print("拿出手机")
#     print("打开"+ chat)
#     print("在%s位置找一个%s以下美女" % (address, age))
#     print("聊一聊.")
#     print("走你~~")
#yue('陌陌',20,'北京')           

    默认值参数: 当出现很多重复的参数的时候.,考虑使用默认值参数,默认值参数必须在位置参数后面当调用的地方不给出值的时候使用默认值

# def input_stu(name, age, sex="男"):
#     print(name, age, sex)
#
# input_stu("大阳哥", 24)
# input_stu("刘帆",24)
# input_stu("碗蓉", 18, "女")
posted @ 2018-06-11 15:47  小小猎魔人  阅读(137)  评论(0编辑  收藏  举报