码迷,mamicode.com
首页 > 编程语言 > 详细

python小型函数技巧积累

时间:2015-01-21 00:01:18      阅读:337      评论:0      收藏:0      [点我收藏+]

标签:format   yield   enumerate   

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.



python小型函数技巧积累

标签:format   yield   enumerate   

原文地址:http://blog.csdn.net/u010454729/article/details/42930963

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!