参数在函数中使用,顾名思义。可选参数就是:这个参数是可选的

也就是可有可无

我们来看一下这个例子:

ver 1:

1.定义一个迭代输出列表元素的函数myPrint

2.参数为 列表

def myPrint(myList):
    for item in myList:
        print(item)

运行测试一下:

myL=['Python','JAVA','C++']

myPrint(myL)

<<< Python
<<< JAVA
<<< C++

ver 2:

现在,在原有myPrint函数的基础上,增加一个功能

使得能够控制输出格式

1.设置参数2

2.当参数2等于0时,直接输出列表元素

3.当参数2等于n时,输出n个空格之后再输出列表元素

def myPrint(myList,level):
    for item in myList:
        for i in range(level):
            print(' ',end='')  #  不明白end=''可以看上一篇关于内建函数的随笔
        print(item)

myL=['HTML','CSS','JavaScript']

#测试1

myPrint(myL,0)

<<<HTML
<<<CSS
<<<JavaScript

#测试2

myPrint(myL,5)  # 5个空格

<<<     HTML
<<<     CSS
<<<     JavaScript

在ver 1 中 myPrint函数只有一个参数1,而ver2中myPrint函数却有参数1和参数2共两个

假如我在代码中大量使用ver1版本时的myPrint函数

因为ver2时已经将其修改

导致之后运行该函数会大量出错

原因是参数错误

myPrint(myList)#这是ver1时的调用方法

myPrint(myList,5)#这是ver2后的调用方法

'''
使用老的调用格式的代码会在该函数更改参数后大量出错
所以这时就需要 可选参数
在ver2修改函数时 可以将参数2设置为可选参数,这样既兼容之前的调用方法
又可以拓张功能
'''

def myPrint(myList,level=0):
    ........    # 省略

将参数2level在定义的时候用’=0‘的形式

就可以将其设置为 可选参数

可有可无

[Python 从入门到放弃] 4. 什么是可选参数的更多相关文章

  1. [Python 从入门到放弃] 6. 文件与异常(二)

    本章所用test.txt文件可以在( [Python 从入门到放弃] 6. 文件与异常(一))找到并自行创建 现在有个需求,对test.txt中的文本内容进行修改: (1)将期间的‘:’改为‘ sai ...

  2. [Python 从入门到放弃] 1. 列表的基本操作

    ''' 列表 Create By 阅后即焚 On 2018.1.29 ''' 1. 列表的定义 列表看起来好像其它编程语言中的数组,但列表具备更加强大的功能,它是Python完备的集合对象,现在,你可 ...

  3. Python从入门到放弃系列(Django/Flask/爬虫)

    第一篇 Django从入门到放弃 第二篇 Flask 第二篇 爬虫

  4. [Python 从入门到放弃] 3. BIF(内建函数)

    BIF (built-in functions) Python中提供了70多个内建函数,具备大量的现成功能. BIF不需要专门导入,可以直接使用,拿来就用 1.print() # 在屏幕上打印输出 如 ...

  5. Python从入门到放弃

    计算机基础 01 计算机基础之编程 02 计算机组成原理 03 计算机操作系统 04 编程语言分类 Python解释器 05 Python和Python解释器 06 执行Python程序的两种方式 0 ...

  6. [Python 从入门到放弃] 5. 文件与异常(一)

    1.文件操作: 文件操作包含读/写 从文件中读取数据 向文件写入数据 Python中内置了open()方法用于文件操作 (更多关于open()BIF介绍 阅读此篇) 基本模板: 1.获取文件对象 2. ...

  7. python从入门到放弃之进程

    在理解进程之前我们先了解一下什么是进程的概念吧 以下就是我总结的一些基本的进程概念 进程就是正在运行的程序,它是操作系统中,资源分配的最小单位(通俗易懂点也就是电脑给程序分配的一定内存操作空间).资源 ...

  8. python从入门到放弃之anconada真愁人

    原先未使用anconada,用的python2.7,每次install各种包各种问题真的心累 后来装了anconada,安装了python3.6 使用起来比较方便了. 陆续将遇到的问题更新如下~  一 ...

  9. python从入门到放弃之Tensorflow(一)

    Tensorflow使用错误集锦: 错误1 : FutureWarning: Conversion of the second argument of issubdtype from ‘float’ ...

随机推荐

  1. 1、从C语言到C++

    1.面向对象的C++ c++是在C语言的基础上发展起来的一门语言,C++是即支持结构化程序编程又支持面向对象程序设计的混合型语言.他一方面提供了对C的兼容性,保持了C的简介.高效,接近汇编语言的特点, ...

  2. hdu 4975 最大流快版

    http://acm.hdu.edu.cn/showproblem.php?pid=4975 给出每行每列的和,问是否存在这样的表格:每个小格放的数字只能是0--9. 直接用第八场最大流模板. #in ...

  3. SRM476

    250pt 题意:饲养N<=50只Badgers,每只食量是X[i],当没看到别的一只Badgers吃东西时,它的食量就会增加Y[i],现在一共用P的粮食,问最多能养的起多少只獾. 思路:枚举一 ...

  4. 2-KNN(K最邻近算法)

    KNN基本思想: 1.事先存在已经分类好的样本数据(如分别在A类.B类.C类等) 2.计算待分类的数据(叫做新数据)与所有样本数据的距离 3.选择K个与新数据距离最近的的样本,并统计这K个样本所属的分 ...

  5. delphi IsIPAdress 非正则表达式验证IP的方法

    function IsIPAdress(const Value:String):Boolean; var n,x,i: Integer; Posi:Array[..]of Integer; Oktet ...

  6. IE兼容性小结(IE7及以上版本)

    缘由 在急速的互联网时代,原本ie系列的低版本浏览器就该淘汰了.可偏偏还是有很多xp系统ie7.8浏览器,这有让网站甚是苦逼.练就了一套新技术,原本以为能大展身手,可却在ie阵容中认怂了,不得不规规矩 ...

  7. Azure DevOps Server 2019 (TFS)安装教程

    概述 Azure DevOps Server 2019 (之前的名称为TFS),作为微软Azure DevOps 的企业私有(on-premises)服务器,是一个为开发团队提供软件协作开发管理的服务 ...

  8. 关于css中float的理解

    感觉css里的float是个非常神奇的东西,神奇之处在于,你知道它是什么意思,但是用的时候总是不知道怎么实现效果.又或者它会很容易地影响到别的元素和属性.所以今天打算尝试一下float的各种设置,看看 ...

  9. Android RelativeLayout wrap_content 而且 child view 使用 layout_alignParentBottom 时 RelativeLayout 高度会占满屏幕

    Android RelativeLayout wrap_content 而且 child view 使用 layout_alignParentBottom 时 RelativeLayout 高度会占满 ...

  10. Linux下查看文档指令

    1,cat直接查看 cat /etc/profile 2,more,less分页查看 less  /etc/profile more /etc/profile less -N /etc/profile ...