Phthon十五、Python内容补充

1.特殊的方法举例:
__init__(self,...) 这个方法在新建对象恰好要被返回使用之前被调用。
__del__(self) 恰好在对象要被删除之前调用。
__str__(self) 在我们对对象使用print语句或是使用str()的时候调用。
__lt__(self,other) 当使用 小于 运算符(<)的时候调用。类似地,对于所有的运算符(+,>等等)都有特殊的方法。
__getitem__(self,key) 使用x[key]索引操作符的时候调用。
__len__(self) 对序列对象使用内建的len()函数的时候调用。

2.单语句块:
>>> flag = True
>>> if flag: print 'Yes'
...
Yes
注意:(1)不建议使用,使用恰当的缩进,可以很方便地添加一个额外的语句。
(2)在使用交互模式的Python解释器的时候,它会通过恰当地改变提示符来帮助你输入语句。在上面这个例子中,当你输入了关键字if之后,Python解释器把提示符改变为...以表示语句还没有结束。在这种情况下,我们按回车键用来确认语句已经完整了。然后,Python完成整个语句的执行,并且返回原来的提示符并且等待下一句输入。

3.列表综合:可以从一个已有的列表导出一个新的列表,原来的列表没有变化
listone = [2, 3, 4]
listtwo = [2*i for i in listone if i > 2]
print listtwo
输出:[6,8]

4.在函数中接收元组和列表:
>>> def powersum(power, *args):
... '''Return the sum of each argument raised to specified power.'''
... total = 0
... for i in args:
... total += pow(i, power)
... return total
...
>>> powersum(2, 3, 4)
25

>>> powersum(2, 10)
100
说明:在args变量前有*前缀,所有多余的函数参数都会作为一个元组存储在args中。如果是**前缀,多余的参数则会被认为是一个字典的键/值对。

5.lambda形式:
#!/usr/bin/python
# Filename: lambda.py

def make_repeater(n):
return lambda s: s*n

twice = make_repeater(2)

print twice('word')
print twice(5)

输出:$ python lambda.py
wordword
10

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

6.exec和eval语句:
exec语句用来执行储存在字符串或文件中的Python语句
>>> exec 'print "Hello World"'
Hello World

eval语句用来计算存储在字符串中的有效Python表达式
>>> eval('2*3')

7.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

8.repr函数:
repr函数用来取得对象的规范字符串表示。反引号(也称转换符)可以完成相同的功能。注意,在大多数时候有eval(repr(object)) == object。

>>> i = []
>>> i.append('item')
>>> `i`
"['item']"
>>> repr(i)
"['item']"

基本上,repr函数和反引号用来获取对象的可打印的表示形式。可以通过定义类的__repr__方法来控制你的对象在被repr函数调用的时候返回的内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值