首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

代码女神分享之Python程序员常用技巧——two

贴士#11. 检查 Python 中的对象

我们可以通过调用 dir() 方法来检查 Python 中的对象,下面是一个简单的例子:

test=[1,3,5,7]

print(dir(test))

['__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']

贴士#12. 简化 if 语句

我们可以使用下面的方式来验证多个值:

ifmin[1,3,5,7]:

而不是:

ifm==1orm==3orm==5orm==7:

或者,对于

in

操作符我们也可以使用

''

而不是

'[1,3,5,7]'

,因为

set

中取元素是 O(1) 操作。

贴士#13. 运行时检测 Python 版本

当正在运行的 Python 低于支持的版本时,有时我们也许不想运行我们的程序。为达到这个目标,你可以使用下面的代码片段,它也以可读的方式输出当前 Python 版本:

import sys

#Detect the Python version currently in use.

print("Sorry, you aren't running on Python 3.5n")

print("Please upgrade to 3.5.n")

sys.exit(1)

#Print Python version in a readable format.

print("Current Python version: ",sys.version)

或者你可以使用

sys.version_info >= (3, 5)

来替换上面代码中的

,这是一个读者的建议。

在 Python 2.7 上运行的结果:

Python

Python2.7.10(default,Jul142015,19:46:27)

[GCC4.8.2]on linux

Sorry,you aren'trunning on Python3.5

Please upgrade to3.5.

在 Python 3.5 上运行的结果:

Python

Python3.5.1(default,Dec2015,13:05:11)

[GCC4.8.2]on linux

Current Python version:3.5.2(default,Aug222016,21:11:05)

[GCC5.3.0]

贴士#14. 组合多个字符串

如果你想拼接列表中的所有记号,比如下面的例子:

>>>test=['I','Like','Python','automation']

现在,让我们从上面给出的列表元素新建一个字符串:

>>>print''.join(test)

贴士#15. 四种翻转字符串/列表的方式

# 翻转列表本身

testList=[1,3,5]

testList.reverse()

print(testList)

#-> [5, 3, 1]

# 在一个循环中翻转并迭代输出

forelement inreversed([1,3,5]):

print(element)

# 一行代码翻转字符串

"Test Python"[::-1]

输出为 “nohtyP tseT”

# 使用切片翻转列表

[1,3,5][::-1]

上面的命令将会给出输出 [5,3,1]。

贴士#16. 玩转枚举

使用枚举可以在循环中方便地找到(当前的)索引:

testlist=[10,20,30]

fori,value inenumerate(testlist):

print(i,': ',value)

#1-> 0 : 10

#2-> 1 : 20

#3-> 2 : 30

贴士#17. 在 Python 中使用枚举量

我们可以使用下面的方式来定义枚举量:

classShapes:

Circle,Square,Triangle,Quadrangle=range(4)

print(Shapes.Circle)

print(Shapes.Square)

print(Shapes.Triangle)

print(Shapes.Quadrangle)

贴士#18. 从方法中返回多个值

并没有太多编程语言支持这个特性,然而 Python 中的方法确实(可以)返回多个值,请参见下面的例子来看看这是如何工作的:

# function returning multiple values.

defx():

return1,2,3,4

# Calling the above function.

a,b,c,d=x()

print(a,b,c,d)

#-> 1 2 3 4

贴士#19. 使用

*

运算符(splat operator)来 unpack 函数参数

*

运算符(splat operator)提供了一个艺术化的方法来 unpack 参数列表,为清楚起见请参见下面的例子:

def test(x,y,z):

print(x,y,z)

testDict={'x':1,'y':2,'z':3}

testList=[10,20,30]

test(*testDict)

test(**testDict)

test(*testList)

#1-> x y z

#2-> 1 2 3

#3-> 10 20 30

贴士#20. 使用字典来存储选择操作

我们能构造一个字典来存储表达式:

stdcalc={

'sum':lambdax,y:x+y,

'subtract':lambdax,y:x-y

}

print(stdcalc['sum'](9,3))

print(stdcalc['subtract'](9,3))

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180104A0LF8P00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券