缺点
单行语句和命令行输出问题:很多时候不能将程序连写成一行,如import sys;for i in sys.path:print i 。而perl和awk就无此限制,可以较为方便的在shell下完成简单程序,不需要如Python一样,必须将程序写入一个.py文件 。
给初学者带来困惑:独特的语法,这也许不应该被称为局限,但是它用缩进来区分语句关系的方式还是给很多初学者带来了困惑 。即便是很有经验的Python程序员,也可能陷入陷阱当中 。
运行速度慢:这里是指与C和C++相比 。Python开发人员尽量避开不成熟或者不重要的优化 。一些针对非重要部位的加快运行速度的补丁通常不会被合并到Python内 。所以很多人认为Python很慢 。不过,根据二八定律 , 大多数程序对速度要求不高 。在某些对运行速度要求很高的情况,Python设计师倾向于使用JIT技术,或者用使用C/C++语言改写这部分程序 。可用的JIT技术是PyPy 。
python是函数式编程吗python是函数编程
函数编程定义:
1、"函数式编程"是一种"编程范式"(programming paradigm),也就是如何编写程序的方法论 。
2、它属于"结构化编程"的一种,主要思想是把运算过程尽量写成一系列嵌套的函数调用 。[2]
python是函数式编程语言吗函数式编程是使用一系列函数去解决问题,按照一般编程思维,面对问题时我们的思考方式是“怎么干”,而函数函数式编程的思考方式是我要“干什么” 。至于函数式编程的特点暂不总结,我们直接拿例子来体会什么是函数式编程 。
lambda表达式(匿名函数):
普通函数与匿名函数的定义方式:
#普通函数
def add(a,b):
return a + b
print add(2,3)
#匿名函数
add = lambda a,b : a + b
print add(2,3)
#========输出===========
5
5
匿名函数的命名规则,用lamdba 关键字标识 , 冒号(:)左侧表示函数接收的参数(a,b) ,冒号(:)右侧表示函数的返回值(a+b) 。
因为lamdba在创建时不需要命名,所以 , 叫匿名函数^_^
Map函数:
计算字符串长度
abc = ['com','fnng','cnblogs']
for i in range(len(abc)):
print len(abc[i])
#========输出===========
3
4
7
定义abc字符串数组 , 计算abc长度然后循环输出数组中每个字符串的长度 。
来看看map()函数是如何来实现这个过程的 。
abc_len = map(len,['hao','fnng','cnblogs'])
print abc_len
#========输出===========
[3, 4, 7]
虽然,输出的结果中是一样的,但它们的形式不同,第一种是单纯的数值了,map()函数的输出仍然保持了数组的格式 。
大小写转换;
python提供有了,upper() 和 lower() 来转换大小写 。
#大小写转换
ss='hello WORLD!'
print ss.upper()#转换成大写
print ss.lower()#转换成小写
#========输出===========
HELLO WORLD!
hello world!
通过map()函数转换:
def to_lower(item):
return item.lower()
name = map(to_lower,['cOm','FNng','cnBLoGs'])
print name
#========输出===========
['com', 'fnng', 'cnblogs']
这个例子中我们可以看到,我们写义了一个函数toUpper,这个函数没有改变传进来的值,只是把传进来的值做个简单的操作,然后返回 。然后,我们把其用在map函数中,就可以很清楚地描述出我们想要干什么 。
再来看看普通的方式是如何实现字符串大小写转换的:
abc = ['cOm','FNng','cnBLoGs']
lowname = []
for i in range(len(abc)):
lowname.append(abc[i].lower())
print lowname
#========输出===========
推荐阅读
- 生化益智游戏,生化益智游戏有哪些
- 直播中怎么用另一个手机,直播中怎么用另一个手机上架商品改价格
- 射击游戏讲话稿子,射击游戏讲话稿子大全
- 登山赛车2主播怎么玩游戏,登山赛车2官方群
- vb.net建立变量值 vbscript变量
- sap采购退货单据打印,sap退货采购订单
- java调用图片的代码,java代码引入图片
- oracle分页查询语句,oracle分页查询怎么获取总数
- go语言字符串编码 golang 字符串