高中生零基础学python(六)

it2026-06-04  7

学习python的的第六天

今天我们要学习的是函数的参数

#mermaid-svg-bH3M1GhqsZKCbsYu .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-bH3M1GhqsZKCbsYu .label text{fill:#333}#mermaid-svg-bH3M1GhqsZKCbsYu .node rect,#mermaid-svg-bH3M1GhqsZKCbsYu .node circle,#mermaid-svg-bH3M1GhqsZKCbsYu .node ellipse,#mermaid-svg-bH3M1GhqsZKCbsYu .node polygon,#mermaid-svg-bH3M1GhqsZKCbsYu .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-bH3M1GhqsZKCbsYu .node .label{text-align:center;fill:#333}#mermaid-svg-bH3M1GhqsZKCbsYu .node.clickable{cursor:pointer}#mermaid-svg-bH3M1GhqsZKCbsYu .arrowheadPath{fill:#333}#mermaid-svg-bH3M1GhqsZKCbsYu .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-bH3M1GhqsZKCbsYu .flowchart-link{stroke:#333;fill:none}#mermaid-svg-bH3M1GhqsZKCbsYu .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-bH3M1GhqsZKCbsYu .edgeLabel rect{opacity:0.9}#mermaid-svg-bH3M1GhqsZKCbsYu .edgeLabel span{color:#333}#mermaid-svg-bH3M1GhqsZKCbsYu .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-bH3M1GhqsZKCbsYu .cluster text{fill:#333}#mermaid-svg-bH3M1GhqsZKCbsYu div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-bH3M1GhqsZKCbsYu .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-bH3M1GhqsZKCbsYu text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-bH3M1GhqsZKCbsYu .actor-line{stroke:grey}#mermaid-svg-bH3M1GhqsZKCbsYu .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-bH3M1GhqsZKCbsYu .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-bH3M1GhqsZKCbsYu #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-bH3M1GhqsZKCbsYu .sequenceNumber{fill:#fff}#mermaid-svg-bH3M1GhqsZKCbsYu #sequencenumber{fill:#333}#mermaid-svg-bH3M1GhqsZKCbsYu #crosshead path{fill:#333;stroke:#333}#mermaid-svg-bH3M1GhqsZKCbsYu .messageText{fill:#333;stroke:#333}#mermaid-svg-bH3M1GhqsZKCbsYu .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-bH3M1GhqsZKCbsYu .labelText,#mermaid-svg-bH3M1GhqsZKCbsYu .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-bH3M1GhqsZKCbsYu .loopText,#mermaid-svg-bH3M1GhqsZKCbsYu .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-bH3M1GhqsZKCbsYu .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-bH3M1GhqsZKCbsYu .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-bH3M1GhqsZKCbsYu .noteText,#mermaid-svg-bH3M1GhqsZKCbsYu .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-bH3M1GhqsZKCbsYu .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-bH3M1GhqsZKCbsYu .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-bH3M1GhqsZKCbsYu .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-bH3M1GhqsZKCbsYu .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-bH3M1GhqsZKCbsYu .section{stroke:none;opacity:0.2}#mermaid-svg-bH3M1GhqsZKCbsYu .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-bH3M1GhqsZKCbsYu .section2{fill:#fff400}#mermaid-svg-bH3M1GhqsZKCbsYu .section1,#mermaid-svg-bH3M1GhqsZKCbsYu .section3{fill:#fff;opacity:0.2}#mermaid-svg-bH3M1GhqsZKCbsYu .sectionTitle0{fill:#333}#mermaid-svg-bH3M1GhqsZKCbsYu .sectionTitle1{fill:#333}#mermaid-svg-bH3M1GhqsZKCbsYu .sectionTitle2{fill:#333}#mermaid-svg-bH3M1GhqsZKCbsYu .sectionTitle3{fill:#333}#mermaid-svg-bH3M1GhqsZKCbsYu .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-bH3M1GhqsZKCbsYu .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-bH3M1GhqsZKCbsYu .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-bH3M1GhqsZKCbsYu .grid path{stroke-width:0}#mermaid-svg-bH3M1GhqsZKCbsYu .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-bH3M1GhqsZKCbsYu .task{stroke-width:2}#mermaid-svg-bH3M1GhqsZKCbsYu .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-bH3M1GhqsZKCbsYu .taskText:not([font-size]){font-size:11px}#mermaid-svg-bH3M1GhqsZKCbsYu .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-bH3M1GhqsZKCbsYu .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-bH3M1GhqsZKCbsYu .task.clickable{cursor:pointer}#mermaid-svg-bH3M1GhqsZKCbsYu .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-bH3M1GhqsZKCbsYu .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-bH3M1GhqsZKCbsYu .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-bH3M1GhqsZKCbsYu .taskText0,#mermaid-svg-bH3M1GhqsZKCbsYu .taskText1,#mermaid-svg-bH3M1GhqsZKCbsYu .taskText2,#mermaid-svg-bH3M1GhqsZKCbsYu .taskText3{fill:#fff}#mermaid-svg-bH3M1GhqsZKCbsYu .task0,#mermaid-svg-bH3M1GhqsZKCbsYu .task1,#mermaid-svg-bH3M1GhqsZKCbsYu .task2,#mermaid-svg-bH3M1GhqsZKCbsYu .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-bH3M1GhqsZKCbsYu .taskTextOutside0,#mermaid-svg-bH3M1GhqsZKCbsYu .taskTextOutside2{fill:#000}#mermaid-svg-bH3M1GhqsZKCbsYu .taskTextOutside1,#mermaid-svg-bH3M1GhqsZKCbsYu .taskTextOutside3{fill:#000}#mermaid-svg-bH3M1GhqsZKCbsYu .active0,#mermaid-svg-bH3M1GhqsZKCbsYu .active1,#mermaid-svg-bH3M1GhqsZKCbsYu .active2,#mermaid-svg-bH3M1GhqsZKCbsYu .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-bH3M1GhqsZKCbsYu .activeText0,#mermaid-svg-bH3M1GhqsZKCbsYu .activeText1,#mermaid-svg-bH3M1GhqsZKCbsYu .activeText2,#mermaid-svg-bH3M1GhqsZKCbsYu .activeText3{fill:#000 !important}#mermaid-svg-bH3M1GhqsZKCbsYu .done0,#mermaid-svg-bH3M1GhqsZKCbsYu .done1,#mermaid-svg-bH3M1GhqsZKCbsYu .done2,#mermaid-svg-bH3M1GhqsZKCbsYu .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-bH3M1GhqsZKCbsYu .doneText0,#mermaid-svg-bH3M1GhqsZKCbsYu .doneText1,#mermaid-svg-bH3M1GhqsZKCbsYu .doneText2,#mermaid-svg-bH3M1GhqsZKCbsYu .doneText3{fill:#000 !important}#mermaid-svg-bH3M1GhqsZKCbsYu .crit0,#mermaid-svg-bH3M1GhqsZKCbsYu .crit1,#mermaid-svg-bH3M1GhqsZKCbsYu .crit2,#mermaid-svg-bH3M1GhqsZKCbsYu .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-bH3M1GhqsZKCbsYu .activeCrit0,#mermaid-svg-bH3M1GhqsZKCbsYu .activeCrit1,#mermaid-svg-bH3M1GhqsZKCbsYu .activeCrit2,#mermaid-svg-bH3M1GhqsZKCbsYu .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-bH3M1GhqsZKCbsYu .doneCrit0,#mermaid-svg-bH3M1GhqsZKCbsYu .doneCrit1,#mermaid-svg-bH3M1GhqsZKCbsYu .doneCrit2,#mermaid-svg-bH3M1GhqsZKCbsYu .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-bH3M1GhqsZKCbsYu .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-bH3M1GhqsZKCbsYu .milestoneText{font-style:italic}#mermaid-svg-bH3M1GhqsZKCbsYu .doneCritText0,#mermaid-svg-bH3M1GhqsZKCbsYu .doneCritText1,#mermaid-svg-bH3M1GhqsZKCbsYu .doneCritText2,#mermaid-svg-bH3M1GhqsZKCbsYu .doneCritText3{fill:#000 !important}#mermaid-svg-bH3M1GhqsZKCbsYu .activeCritText0,#mermaid-svg-bH3M1GhqsZKCbsYu .activeCritText1,#mermaid-svg-bH3M1GhqsZKCbsYu .activeCritText2,#mermaid-svg-bH3M1GhqsZKCbsYu .activeCritText3{fill:#000 !important}#mermaid-svg-bH3M1GhqsZKCbsYu .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-bH3M1GhqsZKCbsYu g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-bH3M1GhqsZKCbsYu g.classGroup text .title{font-weight:bolder}#mermaid-svg-bH3M1GhqsZKCbsYu g.clickable{cursor:pointer}#mermaid-svg-bH3M1GhqsZKCbsYu g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-bH3M1GhqsZKCbsYu g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-bH3M1GhqsZKCbsYu .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-bH3M1GhqsZKCbsYu .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-bH3M1GhqsZKCbsYu .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-bH3M1GhqsZKCbsYu .dashed-line{stroke-dasharray:3}#mermaid-svg-bH3M1GhqsZKCbsYu #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-bH3M1GhqsZKCbsYu #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-bH3M1GhqsZKCbsYu #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-bH3M1GhqsZKCbsYu #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-bH3M1GhqsZKCbsYu #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-bH3M1GhqsZKCbsYu #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-bH3M1GhqsZKCbsYu #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-bH3M1GhqsZKCbsYu #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-bH3M1GhqsZKCbsYu .commit-id,#mermaid-svg-bH3M1GhqsZKCbsYu .commit-msg,#mermaid-svg-bH3M1GhqsZKCbsYu .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-bH3M1GhqsZKCbsYu .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-bH3M1GhqsZKCbsYu .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-bH3M1GhqsZKCbsYu g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-bH3M1GhqsZKCbsYu g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-bH3M1GhqsZKCbsYu g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-bH3M1GhqsZKCbsYu g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-bH3M1GhqsZKCbsYu g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-bH3M1GhqsZKCbsYu g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-bH3M1GhqsZKCbsYu .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-bH3M1GhqsZKCbsYu .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-bH3M1GhqsZKCbsYu .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-bH3M1GhqsZKCbsYu .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-bH3M1GhqsZKCbsYu .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-bH3M1GhqsZKCbsYu .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-bH3M1GhqsZKCbsYu .edgeLabel text{fill:#333}#mermaid-svg-bH3M1GhqsZKCbsYu .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-bH3M1GhqsZKCbsYu .node circle.state-start{fill:black;stroke:black}#mermaid-svg-bH3M1GhqsZKCbsYu .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-bH3M1GhqsZKCbsYu #statediagram-barbEnd{fill:#9370db}#mermaid-svg-bH3M1GhqsZKCbsYu .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-bH3M1GhqsZKCbsYu .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-bH3M1GhqsZKCbsYu .statediagram-state .divider{stroke:#9370db}#mermaid-svg-bH3M1GhqsZKCbsYu .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-bH3M1GhqsZKCbsYu .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-bH3M1GhqsZKCbsYu .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-bH3M1GhqsZKCbsYu .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-bH3M1GhqsZKCbsYu .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-bH3M1GhqsZKCbsYu .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-bH3M1GhqsZKCbsYu .note-edge{stroke-dasharray:5}#mermaid-svg-bH3M1GhqsZKCbsYu .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-bH3M1GhqsZKCbsYu .error-icon{fill:#522}#mermaid-svg-bH3M1GhqsZKCbsYu .error-text{fill:#522;stroke:#522}#mermaid-svg-bH3M1GhqsZKCbsYu .edge-thickness-normal{stroke-width:2px}#mermaid-svg-bH3M1GhqsZKCbsYu .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-bH3M1GhqsZKCbsYu .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-bH3M1GhqsZKCbsYu .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-bH3M1GhqsZKCbsYu .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-bH3M1GhqsZKCbsYu .marker{fill:#333}#mermaid-svg-bH3M1GhqsZKCbsYu .marker.cross{stroke:#333} :root { --mermaid-font-family: "trebuchet ms", verdana, arial;} #mermaid-svg-bH3M1GhqsZKCbsYu { color: rgba(0, 0, 0, 0.75); font: ; } 函数的参数 位置参数 默认参数 可变参数 关键字参数 命名关键词参数

位置参数

例如,我们写一个计算X2的函数

def power(x) return x*x

对于函数,参数就是一个位置参数x 当我们调用函数的时候,就只能传入一个参数x

>>>power(2) 4 >>>power(10) 100

如果我们要计算X3,X4怎么办呢?当然,你可以重新再定义一个函数,But,如果要一直写到X100一个个的去定义,岂不得累死。

既然数学上有Xn,python中一样可以

def power(x,n) a=1#这里的a可以为任意字母,主要是为了更好的表达函数 while n>0#只要n>0,就会执行,条件不满足才会退出 a=a*x n=n-1 return a

对于这个修改后的函数, 我们可以计算任意n次方:power(x, n)

>>>power(2,3) 8 >>>power(3,3) 27

修改后的power(x, n)函数有两个参数:x和n,这两个参数都是位置参数,调用函数时,python会传入的两个值按照位置顺序依次赋给参数x和n。

默认参数

现在,我们定义好了新的函数,旧的代码不能调用了,因为我们增加了一个参数,而旧的代码因为缺少一个参数无法调用。

>>> power(5) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: power() missing 1 required positional argument: 'n'

Python的错误信息很明确:调用函数power()缺少了一个位置参数n。

这个时候默认参数就派上用场了,由于我们经常计算X2,所以可以将第二个参数的默认值设为2

def power(x, n=2): s = 1 while n > 0: n = n - 1 s = s * x return s

这时候当我们再调用power(5)的时候就相当于在调用power(5,2)

那么,当n>2的时候我们就要详细的输入参数值,比如power(5,3) 当我们设置默认参数的时候要注意两点: 1.必选参数在前,默认参数在后,否则Python的解释器会报错 2.当函数有多个参数时,把变化大的参数放前面,变化小的参数放后面。变化小的参数就可以作为默认参数。

那么设置默认参数的好处在哪呢?其实就是为了降低调用函数时的难度。

例如,我需要将我们学校高三同学的信息统计一下,需要提供姓名、年龄、成绩、居住城市

由于大部分都是本地学生,年龄和城市我们就可以使用默认参数:

def statistical(name, gender,age=18,city='Shandong'): print('name:', name) print('gender:', gender) print('age:', age) print('city:', city)

这样,这样大多数学生提供信息的时候都只需要填写姓名和成绩:

>>> statistical('张三', '620') name: 张三 gender: 620 age: 18 city: Shandong

当然,外地的学生也可以输入自己的城市信息

statistical('李四', '500', city='Tianjin')

注意提供参数的时候最好按默认顺序,如果不按默认顺序则需要把参数名写上

比如调用statistical('李四', '500', city='Tianjin'),意思是,city参数用传进去的值,其他默认参数继续使用默认值。

默认参数很有用,但坑也很深,一不留神就会掉进去,不信你看:

def hole(a=[]): a.append('egg') return a

当我们正常调用的时候,好像没问题

>>>hole([1,2,3]) [1,2,3,'egg'] >>>hole(['x','y','z']) ['x','y','z','egg']

让我们试试默认参数调用:

>>>hole() ['egg']

貌似大概也没问题,再试一遍看看?

>>>hole() ['egg','egg'] >>>hole() ['egg','egg','egg']

啊这,裂开了呀,我想这里肯定很多和我一样的初学者都会有疑惑,默认参数是[],但是函数似乎每次都“记住了”上次添加了'egg'后的list。 原因解释如下:

Python函数在定义的时候,默认参数a的值就被计算出来了,即[],因为默认参数a也是一个变量,它指向对象[],每次调用该函数,如果改变了a的内容,则下次调用时,默认参数的内容就变了,不再是函数定义时的[]了。

⚠定义默认参数要牢记一点:默认参数必须指向不变对象!

要修改上面的例子,我们可以用None这个不变对象来实现:

def hole(a=None): if a is None: a = [] a.append('egg') return a

现在无论调用多少次都不会有问题啦!

>>>hole() ['egg'] >>>hole() ['egg']

为什么要设计str、None这样的不变对象呢?因为不变对象一旦创建,对象内部的数据就不能修改,这样就减少了由于修改数据导致的错误。此外,由于对象不变,多任务环境下同时读取对象不需要加锁,同时读一点问题都没有。我们在编写程序时,如果可以设计一个不变对象,那就尽量设计成不变对象。

明天在和大家一起学习剩下的可变参数、关键词参数和命名关键词参数,Good night!

最新回复(0)