您的位置:首页 > 编程语言 > Python开发

python小型函数技巧积累

2015-01-20 22:27 323 查看
preface:在前进的路上遇到的python各种小函数技巧积累。

enumerate:枚举

format:格式化输出。

对字符串进行输出时,print加逗号可破,但当字符串变量多了起来的时候,同字符串常量放在一起,逗号就变多了。不太方便。通过format类进行格式化,将变量都放在一起,能够更加方便地控制输出格式。具体的fomat语法说明网上博客也是一大堆,如http://www.2cto.com/kf/201312/262068.html,稍微提到的一些。当然,还有最重要的官网的资料的了:https://docs.python.org/2/library/string.html。都可以参考参考。

age = 25
name = 'Caroline'
print('{0} is {1} years old. '.format(name, age)) #输出参数
print('{0} is a girl. '.format(name))
print('{0:.3} is a decimal. '.format(1.0/3)) #小数点后三位
print('{0:_^11} is a 11 length. '.format(name)) #使用_补齐空位
print('{first} is as {second}. '.format(first=name, second='Wendy')) #别名替换
print('My name is {0.name}'.format(open('out.txt', 'w'))) #调用方法
print('My name is {0:8}.'.format('Fred')) #指定宽度
drinks={"coffee","tea","milk","water"}
for index,drink in enumerate(drinks):
s="item: "+str(index)+" is "+drink
print s
print "item:",index,"is",drink
print "item: {} is {} ".format(index,drink)

yield:产生器
def fib_generator():
a=0
b=1
while True:
yield a
a,b=b,a+b

min_number=100
print fib_generator()
for number in fib_generator():
print number
if number > min_number:
print number,min_number
break
<generator object fib_generator at 0x0000000002173090>
0
1
1
2
3
5
8
13
21
34
55
89
144
144 100可以看出,带有yield的函数,具有迭代能力,是一个迭代器。以前遇到过,当数据量大了起来的时候,就变得很有用了。具体参考:http://www.ibm.com/developerworks/cn/opensource/os-cn-python-yield/,没仔细找到官网的介绍。

还有一些小技巧参考:https://www.airpair.com/python/posts/python-tips-and-traps.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  format yield enumerate