Python学习 Day 09 - 初识函数

初识函数

  • 1. 什么是函数
  • 2. 函数定义, 函数名, 函数体以及函数的调用
  • 3. 函数的返回值
  • 4. 函数的参数

1.函数

     定义一个事情或者功能. 等到需要的时候直接去用就好了. 那么这里定义的东西就是⼀个函数.           函数: 对代码块和功能的封装和定义

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

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

def 函数名():    
    函数体

    函数名的命名规则和使用和变量基本⼀样(变量的命名规则),     函数体: 就是函数被执行之后要执行的代码

def back():
    print("网上订票")
    print("坐火车回家")
    print("路上睡觉")

    定义完了. 但是这个时候去执行. 会发现什么都没有发生.  因为我只定义了⼀个函数. 但是还没有执行过这个函数.

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

def back():
    print("网上订票")
    print("坐火车回家")
    print("路上睡觉")
back()                  #调用函数)

  3.函数返回

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

     函数中return的使用:

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

def back():
    print("网上订票")
    print("坐火车回家")
    returnprint("路上睡觉")            #不会被执行
back()

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

def back():
    print("网上订票")
    print("坐火车回家")
    print("路上睡觉")
    return "就是太慢了"
think=back()
print(think)

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

def back():
    print("网上订票")
    print("坐火车回家")
    print("路上睡觉")
    return "就是太慢了","有时候票也不好买","但是相对便宜"
think=back()
print(think)      #('就是太慢了', '有时候票也不好买', '但是相对便宜')   tuple

总结⼀下:

  • 1. 遇到return. 此函数结束, 函数后面的东西将不会再执行
  • 2. return 返回值       

        关于返回值:           

  • 如果return什么都不写 或者干脆不写return .那么返回的就是None           
  • 如果return后面写了⼀个值. 则调用者可以接收⼀个结果           
  • 如果return后面写了多个结果, 则调用者可以接收⼀个tuple, 调用者可以直接解构成多个变量

4.函数的参数

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

def 函数名(参数列列表):   
     函数
def back(ways):
    print("网上订票")
    print("坐%s回家" % ways)
    print("路上睡觉")
back("汽车")
back("火车")
back("飞机")

   关于参数: 

  •   形参:写在函数声明的位置的变量叫形参.  形式上的⼀个完整. 表示这个函数需要xxx
  •   实参:在函数调⽤用的时候给函数传递的值. 叫实参, 实际执行的时候给函数传递的信息. 表⽰示给函数 xxx
  •   传参:给函数传递信息的时候将实际参数交给形式参数的过程被称为传参.

  (1)参数的分类--实参的分类

     位置参数:在访问back()的时候, 按照位置的顺序分别把"携程", "火车", 6小时 赋值给 search, ways, time. 在传参过程中. 系统会默认按照位置把实参赋值到形参.   

def back(search,ways,time):
    print("打开%s进行查找"%search)
    print("坐%s回家" % ways)
    print("路上需要睡%s" %time)
back("携程","火车","6小时")

打开携程进行查找
坐火车回家
路上需要睡6小时

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

def my_max(a, b):   
     if a > b:     
          return a    
    else:       
          return b
 # 有点⼉儿麻烦, 我们在这⾥里里学一个三元运算符. 
def my_max(a, b):    
     c = a if a > b else b   # 当a>b成⽴立返回a, 否则返回b   
     return c            

关键字参数:函数在定义的时候参数非常多时,我们不需要记住每个参数的位置. 只要记住每个参数的名字就可以了了 

def back(search,ways,time):
    print("打开%s进行查找"%search)
    print("坐%s回家" % ways)
    print("路上需要睡%s" %time)
back(ways="火车",search="携程",time="6小时")
打开携程进行查找
坐火车回家
路上需要睡6小时

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

def back(search,ways,time):
    print("打开%s进行查找"%search)
    print("坐%s回家" % ways)
    print("路上需要睡%s" %time)
back("携程",ways="火车",time="6小时") #正确 第一个位置赋值给search,后面的参数开始制定关键字
def back(search,ways,time):
    print("打开%s进行查找"%search)
    print("坐%s回家" % ways)
    print("路上需要睡%s" %time)
back(search="携程","6小时",ways="火车")   # 错误, 最开始使用了关键字参数, 那么后面的"6小时"的位置就串了,容易出现混乱

注意: 在使用混合参数的时候, 关键字参数必须在位置参数后面

(2)参数的分类--形参的分类

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

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

      比如, 我们录入咱们班学生的基本信息. 通过调查发现. 我们班大部分学生都是男生. 这个时候就可以给出⼀个sex='男'的默认值.

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

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

猜你喜欢

转载自www.cnblogs.com/wcx666/p/9640132.html