python定义一个匿名函数使用什么关键字_python3----函数、匿名函数
本节将学习如何用Python定义函数,调用函数,以及学习匿名函数的使用
1.定义函数
Python中定义函数用关键字def,如下例所示,func为函数名
def func():
print( "hello world")
2.函数参数
一个函数可以有0个或多个形式参数:
def test_add(x, y):
print (x + y)
函数的形式参数值可以初始化,使用了初始值的参数,在调用的时候可以不需要指定该参数。
def test_sum(z, x = 1, y = 0):
print(x + y + z)
调用函数:
test_sum(3) # 将打印出:4
test_sum(10, y = 1) # 将打印出:12
test_sum(y = 1, x = 2, z = 10) #将打印出:13
注意:定义函数时,没有初始化的形式参数必须放在初始化形式参数的前面,否则会报错
调用函数时,必须指定未初始化的参数,且参数的顺序要与函数定义的参数顺序一致(除非调用时指定了参数名)
3.函数返回值
Python函数可以通过return语句返回函数值,如果没有return语句或者return语句后什么都没有,函数将返回:None
字典形参(**args)例子:
def test_dict(a,**b):
print('a is:',a)
print( 'b is:',b)
调用函数方法一:
tict={'x':1, 'y':2,'z':3}
test_dict(10, **tict)
调用函数方法二:
test_dict(10,x=1,y=2,z=3)
输出结果:
>>>
a is: 10
b is: {'y': 2, 'x': 1, 'z': 3}
元组形参(*args)例子:
def test_tuple(a,*b):
print( 'a is :' ,a)
print( b)
调用函数方法一:
tup = ('a', 1, 2, 'b')
test_tuple(1, *tup)
调用函数方法二:
test_tuple(1, 'a', 1, 2, 'b')
输出结果:
>>>
a is : 1
('a', 1, 2, 'b')
5.匿名函数
Python可以用关键字lambda定义一个匿名函数,当需要一个函数类型的对象时,可以创建一个匿名函数来实现
def test_lambda(x):
return lambda x:x+y #这里将返回一个函数对象
函数调用:
f=test_lambda(10) #创建了一个函数对象:f
print( f(5) ) #将会打印出:15
6.要点记录
当多次调用一个具有初始化参数的函数时,该参数只会在第一次调用时被初始化一次。 这使得当形式参数为可变对象,如:列表、字典或者类的实例时,其结果可能和我们预期的不一样:
def test_param(x=[]):
x.append(10)
print(x)
多次调用函数(可能我们希望调用函数的结果是:都打印出列表[10]):
testParam()
testParam()
testParam()
testParam()
实际输出结果:
>>>
[10]
[10, 10]
[10, 10, 10]
[10, 10, 10, 10]
当形式参数为不可变对象时,又是怎样的情况呢?我们再观察另一个例子:
def testParam(x = 2):
x=x + 2
print(x)
调用函数:
testParam()
testParam()
testParam()
testParam()
实际输出结果:
>>>
4
4
4
4
备注:
python中,万物皆对象。
python中不存在所谓的传值调用,一切传递的都是对象的引用,也可以认为是传址。
不可变对象(immutable):int、字符串(string)、float、(数值型number)、元组(tuple)
可变对象(mutable):字典型(dictionary)、列表型(list)、类的实例
python定义一个匿名函数使用什么关键字_python3----函数、匿名函数相关推荐
- Python -- 定义一个函数,判断输入的数是不是质数
Python – 定义一个函数,判断输入的数是不是质数 质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数,否则称为合数. #定义一个函数,判断该数是不是质数 def sum(n): ...
- python定义一个人类_python基础课程 第9章 面向对象编程(上) 一场人类进化史
日月灿烂,若出其中,星汉灿烂,若出其里. -- 曹操.观沧海 东汉末年 人类文明以降,总会有无数的人通过对世界的观察和思考去总结我们从哪里来,要往哪里去. 遥远的古代我们的祖先通过想象力把数字变成了符 ...
- python定义一个空数组_python数组 1_python 数组最后一个元素_python定义一个空数组 - 云+社区 - 腾讯云...
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 感悟: 1.python列表操作里不允许变量类型的指针2.case1类似于冒泡排 ...
- 使用python定义一个神经网络结构
使用python定义一个神经网络 python定义一个神经网络是进行深度学习或者实现神经网络的基础,那么如果定义一个深度神经网络的结构呢? import numpy as np class Netwo ...
- python 定义一个无限制的二维数组方法
python 定义一个无限制的二维数组方法 自定义二维数组方式 n = int(input()) mapL = [list(map(int,input().split())) for _ in ran ...
- python定义一个数据自动去重的函数_110道Python面试题(真题小结)
该文110道面试题全部来自于大家笔试面试时候拍照后发到群里求助的题目,并自己一道一道亲自做了,大部分题目属于巩固基本python知识点的题目,希望对基本知识不熟悉的同学,能认真做一遍,肯定会有不少收获 ...
- python定义一个函数列表排序_Python 列表(修改、添加、删除、排序)
Python的基本数据类型有整数,浮点数,布尔,字符串,它们是最基本的数据.在实际编程中,我们要经常组织由很多基本数据组成的集合,这些集合的不同组织方式就是:数据结构,今天讲的是数据结构中的Pytho ...
- 用Python定义一个求绝对值的函数
在Python中,定义一个函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号,然后,在缩进块中编写函数体,函数的返回值用return语句返回. 我们以自定义一个求绝对值的my_a ...
- python定义一个求和函数_Python定义函数实现累计求和操作
一.使用三种方法实现0-n累加求和 定义函数分别使用while循环.for循环.递归函数实现对0-n的累加求和 1.使用while循环 定义一个累加求和函数sum1(n),函数代码如下: 2.使用 f ...
最新文章
- Runnable接口和贪心算法
- java实现单向链表
- 前端小知识点(3):JavaScript 单线程
- python气象_Python 在气象上的应用
- OpenCV3学习(4.2)——图像常用滤波方法(方框、均值、高斯、中值、双边)
- wikipedia_教职员工可以通过Wikipedia进行教学吗?
- TypeScript 中类型 any,void,unknown,never之间的区别
- 如何定时备份远程mysql数据库
- Opencv图像数据结构剖析
- 《集体智慧编程》第8章 构建价格模型 个人笔记
- 山东大学软件学院计算机组成原理课程设计实验二
- 关于服务端渲染/预渲染/数据直出/页面直出的学习总结
- 用计算机0和1表达难舍之情,表达不舍之情的说说
- python发音小程序
- 自适应滤波器原理——新息过程
- Invalid prop: type check failed for prop “total“. Expected Number with value x, got String with valu
- 轻松清除Alcohol 120%的使用记录
- wxWidgets中从xrc文件中获取菜单选项的指针
- Android Vitamio的使用
- GTA5实用载具、人物、武器、工具、脚本、地图添加