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

    初识函数

      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("坐火车回家")
        return  print("路上睡觉") #不会被执行
    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)

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

  • 相关阅读:
    1065. [Nescafe19] 绿豆蛙的归宿(概率)
    SDOI 2016 Round1 Day2
    SDOI 2016 Round1 Day1
    Codeforces Round #397 by Kaspersky Lab and Barcelona Bootcamp (Div. 1 + Div. 2 combined)
    串 2016Vijos省选集训 day3[AC自动机]
    java连接elastic search 9300
    maven安装,maven命令行使用
    eclipse/IDEA使用maven
    hadoop笔记 基础 归档
    tpot蜜罐平台搭建
  • 原文地址:https://www.cnblogs.com/avit/p/10209659.html
Copyright © 2011-2022 走看看