• 函数初接触


    第九天

    函数

    '''
    1、无参函数:
    def index():
      print('ok')
    2、空函数:
    def index():
      pass
    def login():
      pass
    3、有参函数:
    def login(username):
      print(udername)
    '''

    返回值:

    1、不写return:默认返回None

    2、只写return:只有结束函数体函数的效果,返回None

    3、写return None:只有结束函数体函数的效果,返回None

    4、return返回一个值:可以将返回的结果,当做变量被使用

    5、return返回多个值:将返回多个值,默认存入元组返回

    函数的返回值不想被修改()

    可以自己指定返回的数据类型

    return是一个函数结束的标志,函数体代码只要执行到return,函数执行结束

    # 不写return
    # def index():
    #     print('hello world')
    # print(index())
    # hello world
    # None
    #只写return
    # def index():
    #     print('hello world')
    #     return
    # print(index())
    # hello world
    # None
    # 写return None
    # def index():
    #     print('aiwanglu')
    #     return None
    # print(index())
    # aiwanglu
    # None
    # return返回一个值
    # a = 1
    # b = 2
    # def home():
    #     if a > b:
    #         return a
    #     else:
    #         return b
    # h1 = home()
    # print(h1)
    # return返回多个值:
    a = 1
    b = 2
    c = '3'
    d = [4, 5]
    e = {'name': 'sean'}
    def suzi(a, b, c, d, e):
      return a, b, c, d, e
    s1 = suzi(a, b, c, d, e)
    print(s1)

    函数的参数

    函数是先定义,后调用

    在定义阶段执行的话,只检测语法,

    不执行任何代码


    形参:是在定义阶段就规范的参数,他就相当于定义变量时的变量名

    实参:是在函数调用阶段传入的参数,他相当于定义变量时的变量值


    a = 1
    b = 3
    def bijiao(a,b):  # 形参:相当于变量名
       if a > b:
           return a
       else:
           return b
    print(bijiao(a,b))  # 实参:相当于变量值

    位置参数、关键词参数,默认参数


    位置参数:通过位置进行传参

    关键词参数,指定参数进行传参

    默认参数,在定义函数阶段就已经传入参数,

    如果说你在实参的时候传入了一个新的参数,

    就会使用新参数默认参数在传值的时候,

    不要将可变类型当做参数传递

    应用场景: 当参数对应值重复出现的情况下使用默认参数

    位置参数一定一定一定要在位置参数的前面,连用的时候,不要对同一个形参重复赋值

    # def xingcan(a, b, c, d):
    #     return a ,b, c ,d
    # print(xingcan(1,2, '3', (3,4)))

    # def xingcan(a, b, c, d):
    #     return a ,b, c ,d
    # print(xingcan(b=1,a=2, c='3', d=(3,4)))
    # def xingcan(a, b, c, d=4):
    #     return a ,b, c ,d
    # print(xingcan(1,2, '3'))

    可变长参数

    *args: 接受所有溢出的位置参数,接受的值都被存入一个元组

    官方认证:*args

    只要有*就有可变长参数的效果

    *:打散你传入容器类型

    **kwarge:接受所有溢出的关键字参数

    接受的值被存入一个字典

    官方认证:**kwargs

    # def index(a, b, c,*args):
    #     print(a ,b ,c ,args)
    #
    # index(1, 2, *(3, 4, 5))
    # 1 2 3 (4, 5)


    def index(a, b, c,**kwargs):
       print(a ,b ,c ,kwargs)

    index(a=1, b=2, c=(3, 4, 5), d=[6,7], e={'age':22})
    # 1 2 (3, 4, 5) {'d': [6, 7], 'e': {'age': 22}}

     

  • 相关阅读:
    python 的 类属性 与 实例属性
    python 的 append 和 extend
    机器学习的最佳入门学习资源
    各种排序算法探讨与实现
    C++基础:C++中vector使用简介
    C++基础:C++中的explicit关键字
    差分约束(poj 1201
    codeforeces 547C
    2015 7月 做题记录
    set&map
  • 原文地址:https://www.cnblogs.com/zhangjinyi97/p/11827410.html
Copyright © 2020-2023  润新知