特殊技巧
2008-11-08 08:51 ubunoon 阅读(242) 评论(0) 编辑 收藏 举报
程序编写中常常会有一些特殊的技巧,这些技巧有些是非常具有创造力的:
1、取反操作具有如下性质 ~x = -(x+1),由此可以知道~(x-1) = -x, 由此,如果我们在两边均添加一个﹣操作符和一个~操作符,就可以得到下面的结论:
-~x = x+1 <==> x++
~-x = x-1 <==> x--
尽管我们可以编写x-1,x+1这样的语句来实现加1与减1操作,当上面的方法实在是太让人吃惊了!
2、Python字符串反转技巧: string[::-1],l[x+1:x-1:-1]取代l[x:x+2][::-1]
3、Python中"ab"[x>0],如果x为0,得到a,否则,得到b,这是基于bool也是int类型,相当于ab[0|1]这么一个操作
4、Python中获取当前运行的路径(到文件夹)
import os
curpath = os.getcwd()
5、为list增加内容
l = []
def add(obj):
if isinstance(obj, (tuple, list)):
l.extend(obj)
else:
l.append(obj)
将不断的补充
1、取反操作具有如下性质 ~x = -(x+1),由此可以知道~(x-1) = -x, 由此,如果我们在两边均添加一个﹣操作符和一个~操作符,就可以得到下面的结论:
-~x = x+1 <==> x++
~-x = x-1 <==> x--
尽管我们可以编写x-1,x+1这样的语句来实现加1与减1操作,当上面的方法实在是太让人吃惊了!
2、Python字符串反转技巧: string[::-1],l[x+1:x-1:-1]取代l[x:x+2][::-1]
3、Python中"ab"[x>0],如果x为0,得到a,否则,得到b,这是基于bool也是int类型,相当于ab[0|1]这么一个操作
4、Python中获取当前运行的路径(到文件夹)
import os
curpath = os.getcwd()
5、为list增加内容
l = []
def add(obj):
if isinstance(obj, (tuple, list)):
l.extend(obj)
else:
l.append(obj)
将不断的补充
/*
*
* Copyright (c) 2011 Ubunoon.
* All rights reserved.
*
* email: netubu#gmail.com replace '#' to '@'
* http://www.cnblogs.com/ubunoon
* 欢迎来邮件定制各类验证码识别,条码识别,图像处理等软件
* 推荐不错的珍珠饰品,欢迎订购 * 宜臣珍珠(淡水好珍珠) */
*
* Copyright (c) 2011 Ubunoon.
* All rights reserved.
*
* email: netubu#gmail.com replace '#' to '@'
* http://www.cnblogs.com/ubunoon
* 欢迎来邮件定制各类验证码识别,条码识别,图像处理等软件
* 推荐不错的珍珠饰品,欢迎订购 * 宜臣珍珠(淡水好珍珠) */