zoukankan      html  css  js  c++  java
  • python基础一 day9 函数升阶(1)

    函数
    可读性强 复用性强
    def 函数名():
    函数体
    return 返回值
    所有的函数 只定义不调用就一定不执行
    先定义后调用

    函数名() #不接收返回值
    返回值 = 函数名() #接收返回值

    返回值
    没有返回值 :默认返回None
    不写return:函数内的代码执行完毕自动结束
    只写return:结束一个函数
    return None
    返回一个值 :结束了函数且返回一个值,可以是任意的值
    返回多个值 : 多个值之间用逗号隔开,接收的时候可以用一个变量接收(元祖),也可以用等量的多个变量接收

    def f(a):
    return '栗子'

    ret = f('苹果')
    print(f('苹果'))

    参数
    形参 定义函数的时候
    位置参数 :必须传
    *args :动态参数 可以接收任意多个按位置传入的参数,得到的args是一个元祖,kwargs是一个字典
    默认参数 : 可以不传 —— 陷阱
    **kwargs : 动态参数 可以接受任意多个按关键字传入的参数
    实参 调用函数的时候
    按照位置传参数
    按照关键字传参数
    可以混用 位置参数必须在关键字传参之前
    不能对一个参数重复赋值


    def 娃哈哈(*args):
    print(args)

    # 娃哈哈(1,2,3,4)
    l = [1,2,3,4]
    娃哈哈(*l)


    默认参数陷阱:
    def qqxing(k,l = {}):
    # l.append(1)
    l[k] = 'v'
    print(l)

    qqxing(1) #[1]
    qqxing(2) #[1,1]
    qqxing(3) #[1,1,1]


    def s(ss=[]):
    ss.append(1)
    print(ss)
    s()
    s([])
    s()
    结果:

    [1]
    [1]
    [1, 1]



    # 如果默认参数的值是一个可变数据类型,
    # 那么每一次调用函数的时候,
    # 如果不传值就公用这个数据类型的资源





  • 相关阅读:
    Jquery 改变样式
    2017年04月06日 开启博客之路
    SVN-简要说明
    wp8 入门到精通 高仿微信发信息 键盘不消失
    wp8 入门到精通 仿QQPivot 提示数量
    wp8 入门到精通 虚拟标示符 设备ID
    wp8 入门到精通 测量代码执行时间
    wp8 入门到精通 聊天控件
    wp8 入门到精通 抓包
    wp8 入门到精通 LINQ to SQL
  • 原文地址:https://www.cnblogs.com/wang-tan/p/11041858.html
Copyright © 2011-2022 走看看