zoukankan      html  css  js  c++  java
  • python 初始函数 定义 返回值 参数

        初始函数

      1.什么是函数

      2.函数定义.函数名.函数体以及函数的调用

      3.函数的返回值

      4.函数的参数

    一.什么是函数

    1.   到目前为止.可以完成一些软件的基础功能了.完成下面的功能.约妹子:

    print("拿出⼿机")
    print("打开陌陌")
    print("找个漂亮的妹⼦")
    print("问她, 约不约啊?")
    print("oK. ⾛你!")

    一次简单  再约一次怎么办??    再写一次...约几次写几次岂不是很麻烦

    使用循坏约就好了

    while 1:
     print("拿出⼿机")
     print("打开陌陌")
     print("找个漂亮的妹⼦")
     print("问她, 约不约啊?")
     print("oK. ⾛你!")

    但是这样一直约. 肯定不行呀  受不了怎么办啊.我们可以定义一个功能.什么时候想约.就什么时候去.

    这里定义它的就叫函数.

    函数:就是对代码块和功能的定义和封装(就叫函数)

    二.函数的定义,函数名,函数体以及函数的调用

    我们使用def关键字来定义函数,函数的定义语法:

    def 函数名():
     函数体

    函数名的命名规范和使用变量基本一样,自己回顾一下变量的命名规范.

    函数体:就是函数被执行之后要执行的代码

    #定义一个功能叫yue

    def yue():        
        # 函数体,代码块
        print("首先, 打开手机")
        print("打开陌陌")
        print("找一个看着还不错的某一某")
        print("出来约一约.开开心心")
        print("各回各家,各找各妈")
    
    # 函数的调用, 函数名()
    yue()   # 执行函数  # 第一次调用
    print("正常上班")
    yue()   # 第二次调用

    函数的调用:使用函数名可以调用函数,写法:函数名()这个时候函数的函数体会被执行

    首先, 打开手机
    打开陌陌
    找一个看着还不错的某一某
    出来约一约.开开心心
    各回各家,各找各妈
    正常上班    #第一次执行
    首先, 打开手机
    打开陌陌
    找一个看着还不错的某一某
    出来约一约.开开心心
    各回各家,各找各妈    #第二次执行

    现在约完了.约完了.得到一个值比如:萝莉,大妈,模特,有一个结果.那结果怎么描述呢.这就涉及到函数返回值的问题

    三.函数的返回

      执行完函数之后.我们可以使用return来返回结果.

    函数中return的使用:

      1.函数中遇到return,此函数结束,不再继续执行.

    def yue():
     print("约你")
     print("约我")
     print("约他")
     return
     print("约谁呀") # 这句话不会被执⾏
    yue()

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

    def yue():
     print("约你")
     print("约我")
     print("约他")
     return "美⼥⼀枚"
    girl = yue()
    print(girl) # 美⼥⼀枚

      函数的返回值可以有多个结果

    def yue():
     print("约你")
     print("约我")
     print("约他")
     return "美⼥⼀枚", "萝莉⼀枚"
    girl = yue()
    print(type(girl)) # tuple

    总结一下:

      1.遇到return.此函数结束.函数(return)后面的东西将不会在执行

      2.return返回值

        关于返回值:

            如果return什么都不写 或者 ⼲脆不写return .那么返回的就是None

            如果return后⾯写了⼀个值. 则调⽤者可以接收⼀个结果

            如果return后⾯写了多个结果, 则调⽤者可以接收⼀个tuple(元祖), 调⽤者可以直接解构成 多个变量

       现在,可以得到结果了,但是方式是不是有点问题,陌陌约不到了,过两天探探也坏了,那去约什么,有替代品,那就得改代码了,是不是不合适啊,最好想用什么约,就用啥约,我们可以通过函数的参数来给函数传递信息.

      四.函数的参数

        参数, 函数在调⽤的时候指定具体的⼀个变量的值. 就是参数. 语法:

    def 函数名(参数列表):
     函数体

        首先我们先把代码改一下.能够实现上面的需求.

     

    def yue(chat):
     print("拿出⼿机")
     print("打开"+chat)
     print("找个漂亮的妹⼦")
     print("约不约")
    yue("陌陌")
    yue("微信")
    yue("探探")
    结果:            #可以不同软件约,那个可以约,拿那个约
    拿出⼿机
    打开陌陌
    找个漂亮的妹⼦
    约不约
    拿出⼿机
    打开微信
    找个漂亮的妹⼦
    约不约
    拿出⼿机
    打开探探
    找个漂亮的妹⼦
    约不约

    这样就ok了.我们给约的时给一个chat一个值,然后在执行函数体

    关于参数:

        1.形参:

          1.位置参数

          2.默认值参数. 当调用的时候不给传值使用默认值

          3.混合使用.  顺序:   1.  位置参数,  2.  默认值参数

        2.实参:

          1.位置参数. 按照位置给形参赋值

          2.关键字参数. 按照名称给形参赋值

          3.混合参数. 先用位置参数, 再用关键字参数

        3.传参

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

    def yue(chat): # chat 形参
     print("拿出⼿机")
     print("打开"+chat)
     print("找个漂亮的妹⼦")
     print("约不约")
    yue("陌陌") # 实参
    len("字符串") # "字符串"在这⾥就是实参
    print("麻花藤") # "麻花藤"就是实参

    参数的分类:

      1.首先先看实参:

      1.位置参数

    def yue(chat, address, age): # 形参
     print("拿出⼿机")
     print("打开"+chat)
     print("找个"+address+"附近漂亮的"+str(age)+"岁妹⼦")
     print("约不约")
    yue("微信", "北京", 18) # 实参
    结果:
    拿出⼿机
    打开微信
    找个北京附近漂亮的18岁妹⼦
    约不约

    分析: 在访问yue()的时候, 我们按照位置的顺序分别把"微信", "北京", 18 赋值给 chat, address, age. 在传参过程中. 系统会默认按照位置把实参赋值到形参.

      2.关键字参数

      位置参数好不好呢? 如果是少量的参数还算OK, 没有问题. 但是如果函数在定义的时候参 数非常多怎么办? 程序员必须记住, 我有哪些参数, ⽽且还有记住每个参数的位置, 否则函数 就不能正常调⽤了. 那则么办呢? python提出了⼀种叫做关键字参数. 我们不需要记住每个参 数的位置. 只要记住每个参数的名字就可以了

    def yue(chat, address, age):
     print("拿出⼿机")
     print("打开"+chat)
     print("找个"+address+"附近漂亮的"+str(age)+"岁妹⼦")
     print("约不约")
    yue(chat="微信", age=18, address="北京") # 关键字参数. 

      结果:

    拿出手机

    打开微信

    找个北京附近漂亮的18岁妹子

    约不约

          搞定了,这样就不用记住繁琐的参数位置了.

      3.混合参数

        把位置参数和关键字参数混合使用.也就是说调用函数.可以给位置函数.也可以给关键字参数

    # 混合参数
    yue("微信", age=18, address="上海") # 正确.第⼀个位置赋值给chat, 后⾯的参数开始
    指定关键字.
    yue(age="18", "微信", address="⼴州") # 错误, 最开始使⽤了关键字参数, 那么后⾯的
    微信的位置就串了, 容易出现混乱

    注意:使用混合参数.必须位置参数在前面.关键字参数在后

      2.形参

      位置参数:按照位置来赋值, 到⽬前为⽌, 我们编写的函数都是这种

    def yue(chat, address, age):
     print("拿出⼿机")
     print("打开"+chat)
     print("找个"+address+"附近漂亮的"+str(age)+"岁妹⼦")
     print("约不约")

      默认值参数: 在函数声明的时候, 就可以给出函数参数的默认值. 在调⽤的时候可以 给出具体的                              值, 也可以不给值, 使⽤默认值.

    def stu_info(name, age, sex=''):
     print("录⼊学⽣信息")
     print(name, age, sex)
     print("录⼊完毕")
    stu_info("张强强", 18)

    注意:  必须先声明位置参数.才能声明默认值参数

      综上: 在形参的⾓度来看,

      1. 位置参数

      2. 默认值参数(⼤多数传进来的参数都是⼀样的, ⼀般⽤默认参数)

        

       

        

  • 相关阅读:
    变量的创建和初始化
    HDU 1114 Piggy-Bank (dp)
    HDU 1421 搬寝室 (dp)
    HDU 2059 龟兔赛跑 (dp)
    HDU 2571 命运 (dp)
    HDU 1574 RP问题 (dp)
    HDU 2577 How to Type (字符串处理)
    HDU 1422 重温世界杯 (dp)
    HDU 2191 珍惜现在,感恩生活 (dp)
    HH实习 acm算法部 1689
  • 原文地址:https://www.cnblogs.com/SUIFAN/p/9301516.html
Copyright © 2011-2022 走看看