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:/ ...
随机推荐
- 怎样快速对二进制和十进制进行互转化——IP地址规划与设计总结
转至:https://blog.csdn.net/erlian1992/article/details/47342189 最近一直在看全国计算机三级网络技术这本书,看到第二章的时候,不免会遇到计算机中 ...
- javaweb添加日常基本依赖
<dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql ...
- IDEA在同一工作空间导入多个项目
在IDEA中导入项目的基本操作是: File--Open--打开工作空间选择要导入的项目 一个项目导入到工作空间啦 但是当你重复这个操作想在这个工作空间继续导入其他模块的时候,就会出现以下问题 不不管 ...
- 2022年官网下安装RedisDesktopManager最全版与官网查阅方法
目录 安装部署RedisDesktopManager 一.下载安装 1.浏览器输入网址:https://github.com/ ,输入搜索条件,找到如图,双击 2.滑动浏览器找到如图位置,双击 3.滑 ...
- C++ STL vector扩容原理分析
扩容特点: 1)新增元素:vector通过一个连续的数组存放元素,如果集合已满,在新增数据的时候,就要分配一块更大的内存,将原来的数据复制过来,释放之前的内存,在插入新增的元素: 2)对vector的 ...
- DOS命令基础
DOS命令 打开CMD win+R,输入cmd. 桌面任何地方按住shift+鼠标右键 ,点击powershell. 我的电脑文件路径前cmd+空格. 开始+系统. 关闭CMD alt+空格+C. 常 ...
- nginx配置负载均衡分发服务器笔记
记录学习搭建nginx负载均衡分发服务器的过程笔记 1.服务器IP:192.168.31.202(当前需要搭建nginx负载均衡分发的服务器)安装好nginx 2.在服务器IP:192.168.31. ...
- HCIE数据挖掘笔记-005数据挖掘专业名词
数据对象和属性类别: 数据一般有噪声,数量庞大,且来自不同的数据源 数据集由数据对象组成,一个数据对象代表一个实体 数据对象:样本.实例.数据点.对象 数据对象以数据元组的形式存放在数据库中,数据库的 ...
- ArcScene数据与Sketchup数据的交互
博主给大家介绍一下ArcScene数据与Sketchup数据的交互. 应用软件:ArcGIS10.2.Sketchup.Photoshop (1)利用Google earth影像采集小区主要建筑物.可 ...
- 萌新看过来,你还学不懂VScode插件吗?
一.前言 VSCode是微软家一个非常轻量化的编辑器,体量虽轻,但是却有异常强大的功能.原因在于VSCode许多强大功能都是基于插件实现的,IDE只提供一个最基本的框架和基本功能,我们需要使用插件来丰 ...