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

    一. 什么是函数

      函数: 对代码块和功能的封装和定义.等到需要使用这个功能的时候直接调用就可以了.函数名命名规则和变量一样

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

      语法:def 函数名(形参):

          函数体(代码块)

      调用:

        函数名(实参)

    #定义一个函数名为day的函数,里面打印七条语句,从周一到周日.
    def day():
        print('周一')
        print('周二')
        print('周三')
        print('周四')
        print('周五')
        print('周六')
        print('周日')
    day()  #调用函数,然后执行函数day
    # 周一
    # 周二
    # 周三
    # 周四
    # 周五
    # 周六
    # 周日

    三. 函数的返回值

      函数的返回值:return, 函数执行完毕. 不会执行后面逻辑

            1. 如果函数中不写return返回None
    2. 只写return 返回None
    3. return 返回值. 返回一个值
    4. return 值1, 值2,... 返回多个值.个值需要用,隔开.调用方接收到的是元组
    def day():
        print('周一')
        print('周二')
        print('周三')
        print('周四')
        print('周五')
        print('周六')
        print('周日')
        return '一周过完了'  #遇到return,函数执行结束,不会继续执行下面的语句
        print('新的一周就要来了')  #在return语句后面,无法打印
    print(day())  #调用函数,然后执行函数day
    # 周一
    # 周二
    # 周三
    # 周四
    # 周五
    # 周六
    # 周日
    # 一周过完了

    def f():
        print('今天吃饭了吗')
    s = f()
    print(s)  #没有return,所以返回值为None
    
    def f():
        print('今天吃饭了吗')
        return  #只有return,返回值仍为None
    ss = f()
    print(ss)  #None
    
    
    def day():
        print('周一')
        print('周二')
        print('周三')
        print('周四')
        print('周五')
        print('周六')
        print('周日')
        return '一周结束','下一周就要开始了'  #return值有两个,接收到的是元组
    a,b = day()  #函数返回值接收的是元组,可以解构来获取值
    print(a)  #一周结束
    print(b)  #下一周就要开始了

     

    四. 函数的参数 

      参数, 函数在调用的时候指定具体的一个变量的值.

    def day(c):
        print('周%s'%c)
    day('')  #周一  通过调用day函数把实参'一'的值传递给形参'c'

      不仅可以定义函数打印语句,也可以定义函数拥有其他的功能,然后调用函数.

    #定义两个数相加的函数
    def q(a,b):  #定义函数名为q的函数,形参是a,b
        s = a + b
        return s  #返回值为s
    sss = q(3,5)  #调用函数,把实参3,5传递给形参a,b
    print(sss)  #8
    
    #定义两个数互相对换的函数
    def q(a,b):
        a,b = b,a
        return a,b  #return的返回值是元组
    a,b = q(3,5)
    print(a,b)  #5,3
      当函数的形参值很多时,我们在调用时写实参还要记着形参的位置,使用位置参数会很麻烦,可以使用关键字参数(按照名称给形参赋值)和混合参数(先用位置参数,
    再用关键字
    参数). 最终到的结果都一样.
    def f(name,age,sex,weight,height,hobby):
        print('name:%s,age:%s,sex:%s,weight:%s,height:%s,hobby:%s' %(name, age, sex, weight, height, hobby))
    f('小小',18, '', 90, 1.8, '吃饭')  #使用位置参数
    f(sex='', hobby='吃饭', name='小小', height=1.8, weight=90, age=18)  #使用关键字参数,不用在意形参的位置
    f('小小', 18, '', hobby='吃饭', height=1.8, weight=90)  #使用混合参数
    # name:小小,age:18,sex:女,weight:90,height:1.8,hobby:吃饭
    # name:小小,age:18,sex:女,weight:90,height:1.8,hobby:吃饭
    # name:小小,age:18,sex:女,weight:90,height:1.8,hobby:吃饭

      函数的形参也可以为默认值参数(给参数一个具体的值)和混合参数(先用位置参数,再用默认值参数).

    def f(name,age,sex='',add='昌平'):  #混合使用,name和age没有被赋值,是位置参数. sex和add都被赋值,是默认值参数
        print('name:%s,age:%s,sex:%s,add:%s' %(name,age,sex,add))
    f('小小',18)  #sex默认为'男',add默认为'昌平'
    f('尔尔',22)
    f('哈哈',19,'')  #实参'女'传递给sex,sex值变成'女'
    f('天天',26,'','沙河')  #实参'沙河'传递给形参add,add的值为'沙河'
    # name:小小,age:18,sex:男,add:昌平
    # name:尔尔,age:22,sex:男,add:昌平
    # name:哈哈,age:19,sex:女,add:昌平
    # name:天天,age:26,sex:女,add:沙河

      总结形参和实参的分类:

      1. 形参:
      1. 位置参数.
       2. 默认值参数. 当调用的时候不给传值使用默认值
      3. 混合使用. 顺序: 1. 位置参数, 2, 默认值参数
      2. 实参:
      1.位置参数. 按照位置给形参赋值
      2. 关键字参数. 按照名称给形参赋值
      3. 混合参数. 先用位置参数, 再用关键字参数
    无限的我,现在才开始绽放,从东边的第一缕阳光到西边的尽头
  • 相关阅读:
    IDEA中classpath
    Java之泛型<T> T与T的用法
    反射机制
    vue mitt 解决多次触发问题
    input限制输入
    解决idea启动端口被占用
    前端压缩图片转base64
    对Bootstrap Table 表格进行封装
    vue项目本地运行
    vue项目搭建
  • 原文地址:https://www.cnblogs.com/huangqihui/p/9300118.html
Copyright © 2011-2022 走看看