python中函数定义1、函数定义
①使用def关键字定义函数
②
def 函数名(参数1.参数2.参数3...):
"""文档字符串,docstring,用来说明函数的作用"""
#函数体
return 表达式
注释的作用:说明函数是做什么的,函数有什么功能 。
③遇到冒号要缩进,冒号后面所有的缩进的代码块构成了函数体,描述了函数是做什么的,即函数的功能是什么 。Python函数的本质与数学中的函数的本质是一致的 。
2、函数调用
①函数必须先定义,才能调用,否则会报错 。
②无参数时函数的调用:函数名(),有参数时函数的调用:函数名(参数1.参数2.……)
③不要在定义函数的时候在函数体里面调用本身 , 否则会出不来,陷入循环调用 。
④函数需要调用函数体才会被执行,单纯的只是定义函数是不会被执行的 。
⑤Debug工具中Step into进入到调用的函数里,Step Into My Code进入到调用的模块里函数 。
Python基础入门-函数的定义与使用通过关键字def来创建函数,def的作用是实现python中函数的创建
函数定义过程:
函数名 ()小括号执行函数
函数体内对全局变量只能读?。荒苄薷?
局部变量,无法在函数体外使用
python 使用 lambda 来创建匿名函数 。
所谓匿名 , 意即不再使用 def 语句这样标准的形式定义一个函数 。
Python基础之常见内建函数map() 函数接受两个参数,一个是函数,一个是可迭代对象(Iterable), map 将传入的函数依次作用到可迭代对象的每一个元素 , 并把结果作为迭代器(Iterator)返回 。
举例说明,有一个函数 f(x)=x^2,要把这个函数作用到一个list [1,2,3,4,5,6,7,8,9] 上:
运用简单的循环可以实现:
运用高阶函数 map() :
结果 r 是一个迭代器,迭代器是惰性序列,通过 list() 函数让它把整个序列都计算出来并返回一个 list。
如果要把这个list所有数字转为字符串利用 map() 就简单了:
小练习:利用 map() 函数 , 把用户输入的不规范的英文名字变为首字母大写其他小写的规范名字 。输入 ['adam', 'LISA', 'barT'] ,输出 ['Adam', 'Lisa', 'Bart']
reduce() 函数也是接受两个参数,一个是函数 , 一个是可迭代对象,reduce 将传入的函数作用到可迭代对象的每个元素的结果做累计计算 。然后将最终结果返回 。
效果就是: reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
举例说明,将序列 [1,2,3,4,5] 变换成整数 12345 :
小练习:编写一个 prod() 函数,可以接受一个 list 并利用 reduce 求积:
map() 和 reduce() 综合练习:编写 str2float 函数,把字符串 '123.456' 转换成浮点型 123.456
filter() 函数用于过滤序列 , filter() 也接受一个函数和一个序列,filter() 把传入的函数依次作用于每个元素 , 然后根据返回值是 True 还是 False 决定保留还是丢弃该元素 。
举例说明,删除list中的偶数:
小练习:用 filter() 求素数
定义一个筛选函数:
定义一个生成器不断返回下一个素数:
打印100以内素数:
python内置的 sorted() 函数可以对list进行排序:
sorted() 函数也是一个高阶函数,还可以接受一个 key 函数来实现自定义排序:
key 指定的函数将作用于list的每一个元素上,并根据 key 函数返回的结果进行排序.
默认情况下 , 对字符串排序,是按照ASCII的大小比较的,由于'Z''a' , 结果,大写字母Z会排在小写字母a的前面 。如果想忽略大小写可都转换成小写来比较:
要进行反向排序,不必改动key函数 , 可以传入第三个参数 reverse=True :
小练习:假设我们用一组tuple表示学生名字和成绩: L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]。用sorted()对上述列表分别按c成绩从高到低排序:
运用匿名函数更简洁:
python中定义一个函数,题目如下class rectangle:
def __init__(self,*args):
【python定义函数练习 python定义函数例题】if len(args)==2:
self.width,self.height=args[0],args[1]
elif len(args)==1:
self.width,self.height=args[0],args[0]
elif len(args)==0:
self.width,self.height=1,1
else:
raise ValueError("Invalid arguments count")
def perimeter(self):
return 2*self.width 2*self.height
def area(self):
return self.width*self.height
a=rectangle(2,4)
print("area is %.1f"%a.area())
关于python定义函数练习和python定义函数例题的介绍到此就结束了 , 不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 包含gis图框边界样式的词条
- sap系统用户,sap用户管理
- 极品飙车赛车游戏视频解说,极品飙车赛车游戏视频解说大全
- java客户端代码 java客户端程序开发
- 怎么电脑设置wifi密码怎么设置方法的简单介绍
- ppt如何超链接网页,ppt超链接网页无法打开指定文件
- 品牌年轻化如何做好营销,品牌年轻化策略分析
- 怎么给视频号加歌曲链接,怎么给视频号加歌曲链接教程
- sqlserver主从,sqlserver主从表查询超时怎么办