初识函数

初识函数

⼀. 什么是函数

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

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

  我们使⽤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)

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

posted @ 2018-08-08 15:52  Montant  阅读(139)  评论(0编辑  收藏  举报