python学习笔记(三)——函数
函数定义
def 函数名(形参 . . . )
函数体
1. 函数参数
- 返回值:可以有一个或多个
- 形参:支持默认形参、关键字形参、可变参数形参等
1.1 必须参数
调用时传入的参数必须与定义时相同。
# a,b 是必须参数或者叫位置参数
def fun(a,b):
return a,b,a+b
调用:
print(fun(2,3))
输出:
(2, 3, 5)
2.2 默认参数
调用时可以选择使用默认参数或者可选择直接给定参数的值
def fun(a,b=10):
return a+b
调用:
print(fun(5))
输出:
15
print(fun(5,5))
输出:
10
1.3 关键字参数
使用指定某个关键字的方式定向赋值。
def fun(a=1,b=2,c=3,d=4):
print(a,b,c,d)
调用:
fun(d = 4)
输出:
1 2 3 4
1.4 不定长参数 *args
在调用时可以传入若干参数,函数会以元组(tuple)的形式导入形参。
def fun(*args):
print(type(args),args,args[0])
调用:
fun(1,2,3,4)
输出:
<class 'tuple'> (1, 2, 3, 4) 1
1.5 不定长参数 **kwargs
可以接收成对的关键字参数,以字典的方式导入形参。
def fun(**kwargs):
print(type(kwargs),kwargs)
调用:
fun(a=1,b=2)
输出:
<class 'dict'> {'a': 1, 'b': 2}
调用:
fun(x=10,y=20,z=30)
输出:
<class 'dict'> {'x': 10, 'y': 20, 'z': 30}
匿名函数
lambda 形参:表达式
匿名函数一般用于功能比较简单函数中。
lambda x,y:x+y
等价于
def fun(x,y):
return x+y
匿名函数使用时,可指定一个返回值用于该函数的调用。
f = lambda x,y,:x+y
调用:
print(f(2,3))
输出:
5
递归函数
通过自身调用自身实现一些特殊的计算需求。如,求阶乘
def fun(n):
if(n == 1):
return 1
return n*fun(n-1)
调用:
print(fun(5))
输出:
120
在设计递归时一定要注意边界条件的设计。
python学习笔记(三)——函数的更多相关文章
- python学习笔记三 函数(基础篇)
函数 内置函数 常用的内建函数: type() 列出指定对象的类型 help() 能够提供详细的帮助信息 dir() 将对象的所有特性列出 vars() 列出当前模块的所有变量 file, ...
- Python学习笔记之函数
这篇文章介绍有关 Python 函数中一些常被大家忽略的知识点,帮助大家更全面的掌握 Python 中函数的使用技巧 1.函数文档 给函数添加注释,可以在 def 语句后面添加独立字符串,这样的注释被 ...
- Python 学习笔记三
笔记三:函数 笔记二已取消置顶链接地址:http://www.cnblogs.com/dzzy/p/5289186.html 函数的作用: 給代码段命名,就像变量給数字命名一样 可以接收参数,像arg ...
- Python学习笔记三
一. 为什么要使用函数? 函数可以方便阅读代码. 函数可以减少重复代码. 函数可以减少管理操作,减少修改操作. 二. 函数分类: 内置函数:len() sum() max() min() ...
- Python学习笔记 - day6 - 函数
函数 函数在编程语言中就是完成特定功能的一个词句组(代码块),这组语句可以作为一个单位使用,并且给它取一个名字.可以通过函数名在程序的不同地方多次执行(这叫函数的调用).函数在编程语言中有基本分为:预 ...
- 小甲鱼:Python学习笔记003_函数
>>> # 函数>>> def myFirstFunction(params1,params2...): print("这是我的第一个函数!") ...
- python学习笔记三:函数及变量作用域
一.定义 def functionName([arg1,arg2,...]): code 二.示例 #!/usr/bin/python #coding:utf8 #coding=utf8 #encod ...
- python 学习笔记三 (函数)
1.把函数视为对象 def factorial(n): '''return n!''' return 1 if n < 2 else n*factorial(n-1) print(factori ...
- webdriver(python) 学习笔记三
知识点:简单的对象定位 对象的定位应该是自动化测试的核心,要想操作一个对象,首先应该识别这个对象.一个对象就是一个人一样,他会有各种的特征(属性),如比我们可以通过一个人的身份证号,姓名,或者他住在哪 ...
- Python学习笔记系列——函数
今年下半年的计划主要是Python和Mysql了,公司不方便看书和视频,就照着廖雪峰的Python网站开始看了.以下纯为个人笔记记录,若是想系统学习的小伙伴还是看这里的好一些,毕竟系统.https:/ ...
随机推荐
- vue 中contenteditable="true"添加可编辑属性后v-model双向绑定失效的解决办法
在项目中会遇到需要编辑单元格的双向绑定问题,v-model双向绑定会在添加contenteditable="true"属性后失效解决方法如下,亲测好用(v-html和@blur实现 ...
- 转 Linux下安装Tomcat服务器和部署Web应用
转载声明: http://www.cnblogs.com/xdp-gacl/p/4097608.html 一.上传Tomcat服务器
- 如何设置计算机IP地址
今天公司变更网络环境让同学们设置IP地址,我竟然不会,我问了一句IP还能自己设置啊,.low爆了,于是赶紧百度,现总结如下 IP地址的设置一种是静态IP,一种是自动获取IP(之前都是自动获取的吧,而且 ...
- JAVA 异常和异常处理
目录 一.异常 1.基本概念 2.异常体系图 3.五大运行时异常 4.编译异常 二.异常处理 1.异常处理的方式 1.1try-catch异常处理 注意事项 课堂练习题 1.2throws异常处理 注 ...
- 跨平台书签同步-Xmarks
原文链接 Xmarks简介 Xmarks 是一款浏览器书签同步工具,它可以实现不同设备,不同浏览器之间的书签同步,并且是免费的. 有人会说,我们为什么需要一款专门的书签同步工具呢?Safari 自带的 ...
- 手写 Vue2 系列 之 编译器
前言 接下来就要正式进入手写 Vue2 系列了.这里不会从零开始,会基于 lyn-vue 直接进行升级,所以如果你没有阅读过 手写 Vue 系列 之 Vue1.x,请先从这篇文章开始,按照顺序进行学习 ...
- 手绘流程图,教你WSL2与Docker容器无缝互相迁移
摘要:本文主要介绍WSL2与Docker容器无缝迁移镜像. 本文分享自华为云社区<WSL2与Docker容器,无缝互相迁移>,作者: tsjsdbd . 注:本文提到的WSL都是指WSL2 ...
- Java Object 类常用方法总结
总结 public final native Class<?> getClass() //返回此 Object 运行时的类 public native int hashCode() //返 ...
- 用python生成你想要的任意大小文件
在测试的日常工作中,我们经常会需要测试上传文件的边界值.今天分享一段30行的简单代码,可以生成任意大小的文件,方便测试. file_size=input("请输入想要生成文件的大小:(单位M ...
- 微信小程序刚注册快速达到1000uv
一.什么是微信小程序uv UV:是累计独立访问,1个微信号就是一个uv,多次访问不算 大家想提升微信小程序uv都是为了开通流量主 二.流量主开通标准 达到1000uv就可以开通:严重违纪不 ...