Python若干小技巧(1)

原地交换两个变量

x,y=10,20
print x,y

x,y=y,x
print x,y

#output
10 20
20 10

赋值号“=”的右侧构成一个新的元组(tuple),左侧立即解析(unpack)那个(未被引用的)元组到变量a和b。赋值完成之后,由于元组(20,10)未被引用,根据引用计数(reference counting)的垃圾回收(garbage collection)机制,该元组作为垃圾被回收。

链式比较运算符

n=10
print 1<n<20
print 1<n<5
print 10<20<20<30

#output
True
False
False

链式比较操作符,中间只要有“一环”为False,则返回False。

使用if-else进行条件赋值

[1 if x>4 else -1 for x in range(10)]

#output
[-1, -1, -1, -1, -1, 1, 1, 1, 1, 1]

也可以嵌套使用

def minimum(a,b,c):
    return a if a<=b and a<=c else (b if b<=a and b<=c else c)

print maximum(15,10,30)

#output
10

打印module的文件路径

import socket
print socket

#output
<module 'socket' from '/usr/lib/python2.7/socket.pyc'>

查看Python对象的方法

可以用dir()方法来检查Python对象的方法

test=[1,2,3]
print dir(test)

#output
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__','__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 ||| 第二章 使用ArcPy编写脚本 Python支持大部分在其他语言中出现的编程结构。在本章内容中,我们...
    muyan阅读 90,224评论 10 55
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,767评论 18 399
  • 每次放假,总想带着孩子到处走走看看,最初出去的时候好像没有什么目的,只是觉得呆腻了,想出去看看,还美其名曰带...
    韦宝妈育儿手记阅读 453评论 0 3
  • 虽然最近没有住一起,但是每天早上婷婷都会给我带早餐,看到千层饼确实好惊喜,来北方后其实都没见到过呢,虽然不...
    球球clover阅读 101评论 0 1
  • “我喜欢了五年的人死后,变成了我的影子,寂寞但不孤独。” 1、 阿轩死的时候,已经二十二岁了,而我才二十一岁。 我...
    张某某T阅读 666评论 8 3