Python学习笔记·代码复用(函数)
来源:互联网 发布:淘宝3c认证可以用其他 编辑:程序博客网 时间:2024/06/07 01:23
Python学习笔记·代码复用(函数)
注:在校计算机学生一名,菜鸟一枚,最近开始学习Python的基础知识希望有什么不对的地方各位大佬能够不令赐教!开学事情一多就落下了一些内容这两天在补。
课程是在中国大学MOOC上学的,有兴趣的同学可以自行搜索
Ps:整理是自己看了一些资料和博客之后写的,尽量将原博客的地址给出来让大家参考,有一些时间可能有些远了还请大家见谅
- 函数定义
- 函数的调用和返回
- 改变参数值的函数
- 递归
函数定义
函数:完成特定功能的一个语句组,通过调用函 数名来完成语句组的功能。 为函数提供不同的参数,可以实现对不同数据的 处理 函数可以反馈结果。 函数分为自定义函数(用户自己定义)以及系统自带函数(如math库中的 sqrt())两种。使用函数目的: 降低编程的难度 和 代码的重用
#函数定义:使用def语句def <name>(<parameters>): <body> #函数名<name>:可以是任何有效的Python标识符 #参数列表<parameters>:是调用函数时传递给它的 值(可以由多个,一个,或者零个参数组成,当有多 个参数时,各个参数用逗号分隔)
- 形式参数:定义函数时,函数名后面圆括号中的 变量,简称“形参”。形参只在函数内部有效
- 实际参数:调用函数时,函数名后面圆括号中的 变量,简称 “实参”。
#函数调用的一般形式: <name>(parameters>)
函数接口:返回值和参数
- 通过函数返回值的方式传递信息
- 通过参数传递信息
函数的调用和返回
函数调用执行的四个步骤:
- 1、调用程序在调用处暂停执行
- 2、函数的形参在调用时被赋值为实参
- 3、执行函数体
- 4、函数被调用结束,给出返回值
函数的调用是一个递归的过程。
函数的返回值
- return语句:程序退出该函数,并返回到函数被调用的地方
- return语句返回的值传递给调用程序
- Python函数的返回值有两种形式: 1、 返回一个值 2、返回多个值 。
- 无返回值的return语句等价于return None。 (None是表示没有任何东西的特殊类型。)
- 返回值可以是一个变量,也可以是一个表达式。
#函数多返回值测试代码#©TyxMaekdef test(a,b,c): return c,a,ba=1b=2c=3a,b,c=test(a,b,c)print(a,b,c)
改变参数值的函数
虽然形参和实参名字相同,但他们是不同的变量 ,如下列代码的执行结果并没有改变变量a的值
a=1b=2def f(a,b): a=a+b print("函数内部结果:{}".format(a))f(a,b)print("函数外部结果:{}".format(a))
函数的形参只接收了实参的值,给形参赋值并不影响实参。Python中并没有像C++一样可以用&来传递修改实参,但 Python可以通过值来传递参数。比如:
a=1b=2def f(a,b): a=a+b print("函数内部结果:{}".format(a)) return aa=f(a,b)print("函数外部结果:{}".format(a))
如果变量是可变对象(如列表或者图形对象),返回到调用程序后,该对象会呈现被修改后的状态。
listp=[1,2,3]def f(listp): for i in range(len(listp)): listp[i]+=1 print("函数内部结果:{}".format(listp))f(listp)print("函数外部结果:{}".format(listp))
递归
递归是重复调用函数自身实现循环。但递归不是循环。递归有一个或多个基例是不需要再次递归的; 所有的递归链都要以一个基例结尾。例如求一个数的阶乘的代码如下:
#递归测试函数 ——阶乘#©TyxMaekdef f(n): if n==0: return 1; else: return n*f(n-1)print(f(3))
- 递归每次调用都会引起新函数的开始
- 递归有本地值的副本,包括该值的参数
- 阶乘递归函数中:每次函数调用中的相关n值在中途的递归链暂时存储,并在函数返回时使用。
- 构造递归函数,需要基例。基例不进行递归,否则递归就会无限循环执行 Python在900余次调用之后,到达默认的“递归深度的最大值”,终止调用。
- Python学习笔记·代码复用(函数)
- Python学习笔记(函数)
- python学习笔记(函数)
- python学习笔记(函数)
- Python学习笔记(十一):Python函数
- Python学习笔记(三)--Python函数
- python学习笔记--代码
- python 学习笔记 -- 函数
- Python学习笔记--函数
- Python学习笔记 函数
- Python学习笔记:函数
- python函数学习笔记
- Python学习笔记--函数
- Python学习笔记:函数
- 【Python学习笔记】- 函数
- Python学习笔记----函数
- Python学习笔记:Python函数
- python学习笔记(二):递归函数
- c++基础数据类型字节数
- netty实战-自定义解码器处理半包消息
- 线程池原理(六):Executors
- Android简单的实现音乐播放器功能(一个按钮可相应两个事件的方法)
- HTML基础入门2
- Python学习笔记·代码复用(函数)
- java中的匿名类
- FCKeditor编辑器上传漏洞
- 简析TCP的三次握手与四次分手
- JDBC
- mat opencv 保存图片
- 块级元素和内联元素
- 面试准备之Activity、window、View之间的关系
- HTTP个人总结(四)