一.函数定义与调用 def 函数名([参数列表]): '''注释''' 函数体 # 输出小于n的斐波那契数 >>def fib(n): a,b=1,1 while a < n: print(a,end=' ') a,b=b,a+b print() >>fib(3) 1 1 2 二.形参与实参 在绝大多数情况下,在函数内部直接修改形参的值不会影响实参 def addOne(a): print(a) a+=1 print(a) >>a=3 >>addOne…
函数的基本概述 在学习函数之前,一直遵循:面向过程编程,即:根据业务逻辑从上到下实现功能,可以思考一下如果有某个功能的代码是在多个地方使用的是否可以只写一次?此时的代码该如何定义.先观察以下的案例: while True:    if cpu利用率 > 90%:        #发送邮件提醒        连接邮箱服务器        发送邮件        关闭连接        if 硬盘使用空间 > 90%:        #发送邮件提醒        连接邮箱服务器        发送…
在调用一个函数的过程中又出现直接或间接地调用 该函数本身,称为函数的递归(recursive)调用. 包含递归调用的函数称为递归函数. 在实现递归时,在时间和空间上的开销比较大 求n! #include <iostream> using namespace std; long func(int n); int main() { long c; int x; cout << "please enter a integer number:" << end…
def main(): try: mtd(3) except Exception as e: print("程序出现异常:", e) mtd(3) def mtd(a): if a > 0: raise ValueError("a的值大于0.不符合要求") main() 程序执行过程: 程序从上往下依次执行到定义函数def main() .def mtd()时,只是记录下函数名,不看函数内容,等到调用时即执行main() 时才会去读函数里的内容.…
计算阶层   普通方法: -使用循环   #!/usr/bin/python   def factorial(n):     sum = 1     for i in range(1,n+1):         sum *= i     return sum   print factorial(5)   计算阶层 python 7.py 120       #!/usr/bin/python   def factorial(n):     sum = 0     for i in range(1…
2016/1/29学习内容 第四章 Python函数设计与使用 之前的几页忘记保存了 很伤心 变量作用域 -一个变量已在函数外定义,如果在函数内需要修改这个变量的值,并将这个赋值结果反映到函数之外,可以在函数内用global声明这个变量为全局变量,明确声明要使用已定义的同名全局变量 -在函数内部直接使用global关键词将一个变量声明为全局变量,即使在函数外没有定义该全局变量,在调用这个函数之后,将自动增加新的全局变量 def demo(): global a; a=3; demo(); pri…
这是关于Python的第4篇文章,主要介绍下如何创建并调用函数. print():是打印放入对象的函数 len():是返回对象长度的函数 input():是让用户输入对象的函数 ... 简单来说,函数就是将对象放进去,然后就可以得到处理结果.在Python中有很多自带函数,具体可以参见此链接: https://docs.python.org/3/library/functions.html Python自带的函数有限,想要解决更多的问题,我们需要学会自己创建函数. def(即define):指定…
在Python中,函数本身也是对象,所以可以将函数作为参数传入另一函数并进行调用 在旧版本中,可以使用apply(function, *args, **kwargs)进行调用,但是在新版本中已经移除,以function(*args, **kwargs)进行替代,所以也不应该再使用apply方法 示例代码: def func_a(func, *args, **kwargs): print(func(*args, **kwargs)) def func_b(*args): return args i…
1.函数 我们知道圆的面积计算公式为: S = πr2 当我们知道半径r的值时,就可以根据公式计算出面积.假设我们需要计算3个不同大小的圆的面积: r1 = 12.34 r2 = 9.08 r3 = 73.1 s1 = 3.14 * r1 * r1 s2 = 3.14 * r2 * r2 s3 = 3.14 * r3 * r3 当代码出现有规律的重复的时候,你就需要当心了,每次写3.14 * x * x不仅很麻烦,而且,如果要把3.14改成3.14159265359的时候,得全部替换. 有了函数…
面向对象设计中最基础的3个概念:数据封装.继承和多态 动态给class增加功能 正常情况下,当定义了一个class,然后创建了一个class的实例后,可以在程序运行的过程中给该实例绑定任何属性和方法,这就是动态语言的灵活性. (1)给一个实例绑定的方法,对另一个实例是不起作用的. (2)为了给所有实例都绑定方法,可以给class绑定方法. Student.set_age=set_age 注:是set_age,而不是set_age(  ) (3) 给class绑定方法后,所有实例均可调用. #定义…