二级Python学习笔记(五)

上一篇:二级Python学习笔记(四)


有日子没写博客了,Python学习一度搁浅,说起来惭愧,人总是会懒的......不能再这样继续下去了,为了提高,为了梦想,打起精神!  ~~~当然这期间也做了一些练习题,感觉前几章没啥难度,就是把一些操作符、运算符、 常用函数什么的记一记,多加练习。

第5章 函数和代码复用


5.1 函数的基本使用

函数定义:是程序的一种基本抽象方式,通过def保留字定义。

#函数定义规则
def <函数名>(<参数列表>):    #多个参数用逗号分隔
    <函数体>
     return <返回值列表>

# 定义一个对整数n求阶乘的函数
def fact(n):
    s = 1
    for i in range(1, n+1):
        s *= i
    return s


函数的调用:函数定义——调用——执行——返回

#函数调用规则
<函数名>(<实际赋值参数列表>)


# 定义一个对整数n求阶乘的函数
def fact(n):
    s = 1
    for i in range(1, n+1):
        s *= i
    return s

# 调用整数阶乘的函数
print(fact(100))


5.2 函数的参数传递

参数定义时可以指定默认值,可选参数一般都放置在非可选参数后面,支持按照参数名称方式传递。

>>>def multiply(x, y = 10):
     print(x*y)
>>>multiply(99)
990
>>>multiply(99, 2)
198

>>>multiply(x = 99)
990
>>>multiply(y = 2, x = 99)
198


函数返回值:使用return语句用来结束函数并将程序返回到函数被调用的位置继续执行。可以没有,不返回值。

>>>def multiply(x, y = 10):
     return x*y, x+y

>>>s = multiply(99, 2)
>>>print(s)
(198, 101)

>>>a,b = multiply(99, 2)
>>>print(a)
198
>>>print(b)
101


5.3 变量的作用域

局部变量:仅在函数内部使用的变量,函数退出时变量将不再存在。

全局变量:函数外定义的变量,在程序执行全过程有效。全部变量在函数内部使用时,需要提前使用保留字global声明。

#局部变量z
>>>def multiply(x, y = 10):
     z = x*y
     return z
>>>s = multiply(99, 2)
>>>print(s)
198
>>>print(z)
Traceback (most recent call last):
  File "<pyshell#11>", line 1, in <module>
    print(z)
NameError: name 'z' is not defined


#全局变量n
>>>n = 2
>>>def multiply(x, y = 10):
     global n   #声明全局变量
     return x*y*n
>>>s = multiply(99, 2)
>>>print(s)
396


5.4 代码复用

函数封装好处是代码复用。当更新函数功能时,所有被调用处的功能都被更新。减少函数间参数和返回值的数量。

模块化设计以功能块为基本单位,两个基本要求:1.紧耦合:尽可能合理划分功能块,功能块内部耦合紧密;模块或系统间关系紧密,存在较多或复杂的相互调用。紧耦合的缺点在于更新一个模块可能导致其它模块变化,复用较困难。2.松耦合:模块间关系尽可能简单,功能块之间耦合度低。一般基于消息或协议实现,系统间交互简单,代表了模块化,是总体设计原则。


~~~贪多嚼不烂,第6章看着内容不少,就先到这吧,明天见!

lws博客
评论功能尚未完善
  • 最新评论
  • 总共0条评论
  • 个人开源博客网站 © 2017-2019 李维山博客 版权所有 备案号:冀ICP备18008903号-1
  • 联系邮箱:666@oyhdo.com