zoukankan      html  css  js  c++  java
  • 初识函数

    初识函数

    ⼀. 什么是函数

      函数: 对代码块和功能的封装和定义

    ⼆. 函数的定义, 函数名, 函数体以及函数的调⽤

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

      def  函数名():

        函数体(代码块)

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

      

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

      函数的调⽤: 使⽤函数名可以调⽤函数,

      写法: 函数名(), 这个时候函数的函数体会被执⾏

    1 # 调⽤yue()函数
    2 yue()
    3 结果:
       拿出⼿机
       打开陌陌
       找个漂亮的妹⼦
       问她, 约不约啊?
       oK. ⾛你!

    三. 函数的返回

      执⾏完函数之后. 我们可以使⽤return来返回结果. 函数中return的使⽤:

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

    1 def yue():
    2  print("约你")
    3  print("约我")
    4  print("约他")
    5  return
    6  print("约谁呀") # 这句话不会被执⾏
    7 yue()

      2. 给函数的调⽤者⼀个访问结果

    1 def yue():
    2  print("约你")
    3  print("约我")
    4  print("约他")
    5  return "美⼥⼀枚"
    6 girl = yue()
    7 print(girl) # 美⼥⼀枚

      遇到return. 此函数结束, 函数后⾯的东⻄将不会再执⾏

      返回值:

        1.如果函数什么都不写,不写return,没有返回值,得到是None

        2.在函数中间或者末尾写return,返回值是None

        3.在函数中写return值,返回一个值.

        4.在函数中可以返回多个返回值 ,return 值1,值2,值3. 接的是元组

    四. 函数的参数

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

        语法:

          def 函数名(参数列表):

                函数体

    1 def yue(chat):
    2    print("拿出⼿机")
    3    print("打开"+chat)
    4    print("找个漂亮的妹⼦")
    5    print("约不约")
    6 yue("陌陌") 7 yue("微信") 8 yue("探探")

      1. 形参 写在函数声明的位置的变量叫形参. 形式上的⼀个完整. 表⽰这个函数需要xxx

      2. 实参 在函数调⽤的时候给函数传递的值. 叫实参, 实际执⾏的时候给函数传递的信息. 表⽰给函数 xxx

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

    1 def yue(chat): # chat 形参
    2    print("拿出⼿机")
    3    print("打开"+chat)
    4    print("找个漂亮的妹⼦")
    5    print("约不约")

    6 yue("陌陌") # 实参 7 len("字符串") # "字符串"在这⾥就是实参 8 print("麻花藤") # "麻花藤"就是实参

        实参中  位置参数

      

     1 def yue(chat, address, age): # 形参
     2    print("拿出⼿机")
     3    print("打开"+chat)
     4    print("找个"+address+"附近漂亮的"+str(age)+"岁妹⼦")
     5    print("约不约")

    6 yue("微信", "北京", 18) # 实参 7 结果: 8 拿出⼿机 9 打开微信 10 找个北京附近漂亮的18岁妹⼦ 11 约不约

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

    练习: 编写函数, 给函数传递两个参数a, b. 比较a, b的⼤⼩, 返回 a, b中最⼤的那个数

    1 def my_max(a, b):
    2    if a > b:
    3      return a
    4    else:
    5      return b
    6 # 有点⼉麻烦, 我们在这⾥学⼀个三元运算符.
    7 def my_max(a, b):
    8    c = a if a > b else b # 当a>b成⽴返回a, 否则返回b
    9    return c

      关键字参数

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

      混合参数

      可以把上⾯两种参数混合着使⽤. 也就是说在调⽤函数的时候即可以给出位置参数, 也可 以指定关键字参数.

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

    在形参⾓度看       位置参数.

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

           默认值参数

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

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

  • 相关阅读:
    有点忙啊
    什么是协程
    HDU 1110 Equipment Box (判断一个大矩形里面能不能放小矩形)
    HDU 1155 Bungee Jumping(物理题,动能公式,弹性势能公式,重力势能公式)
    HDU 1210 Eddy's 洗牌问题(找规律,数学)
    HDU1214 圆桌会议(找规律,数学)
    HDU1215 七夕节(模拟 数学)
    HDU 1216 Assistance Required(暴力打表)
    HDU 1220 Cube(数学,找规律)
    HDU 1221 Rectangle and Circle(判断圆和矩形是不是相交)
  • 原文地址:https://www.cnblogs.com/chenxi67/p/9443304.html
Copyright © 2011-2022 走看看