zoukankan      html  css  js  c++  java
  • 《零基础入门学习Python》学习过程笔记【018函数开头文档,及参数相关问题】

    注:doc为函数的默认属性

    .一般系统默认属性都是双下横线开始,双下横线结束的

    1什么是函数的开头文档?

    注:函数的开头文档必须写在函数名字的下一行,它用单引号或双引号或三个双引号(三引号可以将内容写在多行)注释。且函数的开头文档只能出现一次。多写无效。

    >>> def haha(a):
    '这个函数很无聊'
    print("因为这是%r写的"%a)


    >>> haha("yzw")
    因为这是'yzw'写的



    >>> def piupiu(a):
    "这是一个智障的函数"
    print("因为这是",a,"写的")

    >>> piupiu("SB")
    因为这是 SB 写的


    >>> def a():
    """12345
    12345
    56789"""
    print("hhhhh")

    >>> a()
    hhhhh


    2.如何查看函数的开头文档

    方法1 函数名.__doc__

    方法2 help(函数名)  这种方法得到的是格式化的内容,因此看起来更清新


    >>> def a():
    """12345
    12345
    56789"""
    print("hhhhh")


    >>> a()
    hhhhh


    >>> a.__doc__
    '12345 12345 56789'


    >>> help(a)
    Help on function a in module __main__:
    a()
        12345
        12345
        56789



    3.什么是函数的关键字参数?在调用函数时,用给形参赋值的形式提供形参,不考虑形参在参数表的顺序

    >>> def haha(a,b):
    print(a+"是一个无聊的"+b)

    >>> haha(a="小红",b="少女")
    小红是一个无聊的少女

    >>> haha(b="少年",a="小明")
    小明是一个无聊的少年



    4函数的关键字参数的用处是什么?防止调用函数时,给形参赋错值,例如防止这种错误:

    >>> haha("卡夫卡","少年")
    卡夫卡是一个无聊的少年
    >>> haha("少年","卡夫卡")
    少年是一个无聊的卡夫卡


    5.什么是带参数默认值的函数?这和C++的用法一样

    注:默认值是从最后一个位置开始有的

    >> def add(a=0,b=0):  
    return a+b

    相当于三个函数:

    >>> add(1)
    1
    >>> add()
    0
    >>> add(1,1)
    2



    >> def add(a,b=0):
    return a+b
    相当于2个函数:
    >>> add(1)
    1
    >>> add(1,1)
    2


    >>> def add(a=1,b):
    return a+b
    SyntaxError: non-default argument follows default argumen(报错,因为默认值不是从最后一个位置开始有的)


    6.什么是收集参数?在参数前加*的参数

    >>> def haha(*a):
    print(len(a))  #手机参数这个元组中所含元素的个数
    print(a[0])    #第一个值
    print(a[1] )   #第二个值
    print(a[2]  )  #第三个值
    >>> haha(1,"你好",2,3,4)     # 收集参数内可以存放任意类型的元素
    5
    1
    你好
    2


    特殊的,当函数有收集参数,还有别的参数时,在调用函数的时候,要将非收集参数用关键字参数的形式调用

    >>> def haha(*a,c,d):
    print(len(a))
    print(c)
    print(d)


    >>> haha(1,2,3,4,5,6,c='c',d='d')
    6
    c
    d








  • 相关阅读:
    [转] linux中 参数命令 -- 和
    ECharts 报表事件联动系列一:刷新页面
    Echarts 简单报表系列三:饼状图
    Echarts 简单报表系列二:折线图
    Echarts 简单报表系列一:柱状图
    Golang 在 Mac、Linux、Windows 下如何交叉编译(转)
    Spring Boot 打war包并利用docBase指定根目录为打包的工程
    JdbcTemplate查询返回JavaBean的几种方法
    Spring JdbcTemplate 查询结果集Map反向生成Java实体(转)
    Spring JdbcTemplate 查询出的Map,是如何产生大小写忽略的Key的?(转)
  • 原文地址:https://www.cnblogs.com/iamjuruo/p/7470905.html
Copyright © 2011-2022 走看看