Python3.4 Python的一些特色

1.使用列表综合
>>> listone = [2, 3, 4]
>>> listtwo = [2*i for i in listone if i > 2]
>>> print(listtwo)
[6, 8]

这里我们为满足条件(if i > 2)的数指定了一个操作(2*i),从而导出一个新的列表。注意原 来的列表并没有发生变化。在很多时候,我们都是使用循环来处理列表中的每一个元素,而使 用列表综合可以用一种更加精确、简洁、清楚的方法完成相同的工作


2.在函数中接收元组和列表

def powersum(power, *args):
    total = 0
    for i in args:
        total += pow(i, power)  
    return total
>>> powersum(2, 3, 4) 
25

由于在args变量前有*前缀,所有多余的函数参数都会作为一个元组存储在args中。如果使用的 是**前缀,多余的参数则会被认为是一个字典的键/值对。

3.lambda形式
lambda语句被用来创建新的函数对象,并且在运行时返回它们。

def make_repeater(n):
    return lambda s: s*n
twice = make_repeater(2)
print(twice('word'))
print(twice(5))
-------------------
wordword
10

这里,我们使用了make_repeater函数在运行时创建新的函数对象,并且返回它。lambda语句用 来创建函数对象。本质上,lambda需要一个参数,后面仅跟单个表达式作为函数体,而表达式 的值被这个新建的函数返回。注意,即便是print语句也不能用在lambda形式中,只能使用表达 式。

4.assert语句
assert语句用来声明某个条件是真的。例如,如果你非常确信某个你使用的列表中至少有一个 元素,而你想要检验这一点,并且在它非真的时候引发一个错误,那么assert语句是应用在这 种情形下的理想语句。当assert语句失败的时候,会引发一个AssertionError

>>> mylist = ['item'] 
>>> assert len(mylist) >= 1 
>>> mylist.pop() 
'item' 
>>> assert len(mylist) >= 1 
Traceback (most recent call last):
  File "<stdin>", line 1, in ? 
AssertionError 


转载请注明作者与出处:http://blog.csdn.net/u013511642   王小涛_同學

没有更多推荐了,返回首页