Python学习笔记17
来源:互联网 发布:linux修改ip的命令 编辑:程序博客网 时间:2024/06/05 23:47
1.函数定义
def functionname():
代码块
def functionname(num1,num2):
result = num1+num2
print(result)
2.打印函数文档
functionname.__doc__//打印函数文档
help(functionname)//打印函数文档
3.关键字参数
调用的时候用functionname(num =200,num1= 100),这样就不会因为位置变了,打印出错
4.收集参数
def test(*params):
print('参数的长度是:',len(params));
print('第二个参数是:',params[1]);
5.返回时可以返回一个元组
def functionname(num1,num2):
return 1,‘火星人’,3.14
6.lamdb表达式:
def ds(x):
return 2*x+1//原函数
g = lamdb x : 2 * x + 1
g(5)
f = lamdb x,y : x+y
lamdb表达式优点:Python写一些脚本时,可以省下定义函数过程,节约命名问题,简化代码的可读性
6.filter:把任何非True的过滤掉
例如:
>>> def odd(x):return x % 2>>> temp = range(10)>>> temprange(0, 10)>>> show = filter(odd,tenp)Traceback (most recent call last): File "<pyshell#18>", line 1, in <module> show = filter(odd,tenp)NameError: name 'tenp' is not defined>>> show =filter(odd,temp)>>> list(show)[1, 3, 5, 7, 9]>>> list(filter(lambda x :x % 2,range(10)))[1, 3, 5, 7, 9]>>>7.map:两个参数,第一个是函数,第二个是个序列,把序列的每一个元素作为函数的参数运算加工,返回所有加工后的新序列。
8.递归(阶乘和斐波那契数列的实现)
>>> list(map(lambda x :x % 2,range(10)))[0, 1, 0, 1, 0, 1, 0, 1, 0, 1]>>> list(map(lambda x :x * 2,range(10)))[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]>>>
def factorial(n): if n == 1: return 1 else: return n * factorial(n-1)number = int(input('请输入一个正整数:'))result =factorial(number)print("%d 的阶乘是:%d" % (number,result))
def fab(n): n1 = 1 n2 = 1 n3 = 1 if n<1: print('输入有误') return -1 while(n-2) > 0: n3 = n2 + n1 n1 = n2 n2 = n3 n -= 1 return n3result = fab(20)if result != -1: print('总共有%d对小兔子诞生' % result)递归版本:
def fab(n): n1 = 1 n2 = 1 n3 = 1 if n<1: print('输入有误') return -1 if n == 1 or n == 2: return 1 else: return fab(n-1)+fab(n-2)result = fab(20)if result != -1: print('总共有%d对小兔子诞生' % result)分治思想:把复杂的问题不断的分解
0 0
- Python学习笔记17
- Python学习笔记17
- 【python】:python学习笔记
- Python学习笔记-Python起步
- Python学习笔记-Python基础
- Python学习笔记-Python对象
- Python基本概念--Python学习笔记
- Python学习笔记:Python函数
- python学习笔记-python安装
- Python学习笔记--Python基础
- 【Python】python基础学习笔记
- python学习笔记17:文件操作
- Python学习笔记17:网络客户端编程
- python学习笔记17(动态类型)
- <17>python学习笔记——模块
- 【python学习笔记】17:numpy数组排序
- python学习笔记3
- Python学习笔记
- npm安装create-react-app出现“Error: EACCES: permission denied”的解决办法
- Angular2 依赖注入之实例化过程
- 循环神经网络RNN在自然语言处理领域的应用
- 2.1 最基础的“穷竭搜索”
- php生成器使用总结
- Python学习笔记17
- 微信小程序实例:创建下发模板消息实例
- bzoj3809: Gty的二逼妹子序列
- Linux命令笔记
- spring在web.xml中的三种配置
- 解决方案、项目、程序集、命名空间
- Java设计模式(一) 简单工厂模式不简单
- MySQL索引使用方法和性能优化
- 学写makefile