Python编程的好三个经典小技巧

Python
允许运行一个 HTTP
服务器来从根路径共享文件,上面是开启服务器的命令:

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>result=
(lambdak: reduce(int.__mul__,range(1,k+1),1))(3)

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>print(result)

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>#->
6

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>import
threading

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>import
socket

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>print(threading)

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>print(socket)

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>#1-
<module ‘threading’ from
‘/usr/lib/python2.7/threading.py’>

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>#2-
<module ‘socket’ from ‘/usr/lib/python2.7/socket.py’>

主题的格局是运用来源
C 语言的反斜杠:

Python
2.x.

2.
链状相比较操作符

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>if
m==1 or m==3 or m==5 or m==7:

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>testList=
[1,2,3]

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>x,y,z=
testList

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>print(x,y,z)

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>#->
1 2 3

与我们应用的列表推导相似,大家也得以选用字典/集合推导,它们选用起来简单且实用,上面是一个事例:

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>[m**2
if m > 10 else m**4 for m in range(50)]

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>#=>
[0, 1, 16, 81, 256, 625, 1296, 2401, 4096, 6561, 10000, 121, 144,
169, 196, 225, 256, 289, 324, 361, 400, 441, 484, 529, 576, 625, 676,
729, 784, 841, 900, 961, 1024, 1089, 1156, 1225, 1296, 1369, 1444,
1521, 1600, 1681, 1764, 1849, 1936, 2025, 2116, 2209, 2304,
2401]

6.
打印引入模块的文件路径

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>import
sys

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>x=1

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>print(sys.getsizeof(x))

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>#->
24

1.
原地互换四个数字

我们可以在
<pdb> 模块的救助下在 Python
脚本中安装断点,上边是一个事例:

9.
调试脚本

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>>>>
2+ 1

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>3

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>>>>
_

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>3

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>>>>
print_

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>3

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>import
sys

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>lprint=lambda
*args:sys.stdout.write(” “.join(map(str,args)))

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>lprint(“python”,”tips”,1000,1001)

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>#->
python tips 1000 1001

下边的代码应用一个字典来效仿构造一个
switch-case。

Python
提供了一个直观的在一行代码中赋值与调换(变量值)的办法,请参见下边的演示:

一致地,大家得以对类做那种操作:

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>testDict=
{i: i *iforiinxrange(10)}

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>testSet=
{i *2foriinxrange(10)}

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>print(testSet)

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>print(testDict)

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>#set([0,
2, 4, 6, 8, 10, 12, 14, 16, 18])

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>#{0:
0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}

4.
多行字符串

7.
相互环境下的 “_” 操作符

咱俩照旧足以在列表推导中运用安慕希运算符:

故此,那种比较艺术是不那么令人甘拜匣镧的,使用
__slots__
首假若用于限定对象的品质音信,其它,当生成对象多多时花费可能会小一些,具体可以瞻仰
python 官方文档:

在地方的例证里
classA 与 classB 是多个类,其中一个类的构造函数会被调用。

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>test=
[1,3,5,7]

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>print(dir(test))

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>[‘__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’]

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>multiStr=
(“select * from multi_row ”

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>“where
row_id < 5 ”

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>“order
by age”)

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>print(multiStr)

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>#select
* from multi_row where row_id < 5 order by age

21.
不利用循环构造一个列表

8.
字典/集合推导

相比操作符的聚众是另一个偶尔很有益的技艺:

13.
一行代码总计任何数的阶乘


Python 3.5 中

安慕希操作符是
if-else 语句也就是标准化操作符的一个连忙格局:

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>import
sys

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>classFileSystem(object):

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>def
__init__(self,files,folders,devices):

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>self.files=
files

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>self.folders=
folders

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>self.devices=
devices

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>print(sys.getsizeof(FileSystem))

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>classFileSystem1(object):

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>__slots__=
[‘files’,’folders’,’devices’]

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>def
__init__(self,files,folders,devices):

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>self.files=
files

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>self.folders=
folders

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>self.devices=
devices

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>print(sys.getsizeof(FileSystem1))

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>#In
Python 3.5

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>#1->
1016

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>#2->
888

咱俩得以在本子中其余地方指定
<pdb.set_trace()> 并且在那里安装一个断点,极度省事。

20.
一行代码搜索字符串的七个左右缀

12. 简化if语句

假定赋值已毕,新的元组变成了未被引述状态并且被标记为可被垃圾回收,最后也马到功成了变量的沟通。

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>python3
-m http.server

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>print(“http://www.google.com”.startswith((“http://”,”https://”)))

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>print(“http://www.google.co.uk”.endswith((“.com”,”.co.uk”)))

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>#1->
True

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>#2->
True

#
Python 2

17.
使用 __slots__ 来缩短内存费用

地点的命令会在默许端口也就是
8000
开启一个服务器,你可以将一个自定义的端口号以最终一个参数的办法传送到上边的下令中。

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>import
itertools

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>test=
[[-1,-2],[30,40],[25,35]]

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>print(list(itertools.chain.from_iterable(test)))

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>#->
[-1, -2, 30, 40, 25, 35]

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>t1=
(1,2,3)

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>t2=
(10,20,30)

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>print(dict(zip(t1,t2)))

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>#->
{1: 10, 2: 20, 3: 30}

【译者注:在自家的
win10 python2.7 中上面的结果是:

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>import
functools

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>result=
(lambdak: functools.reduce(int.__mul__,range(1,k+1),1))(3)

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>print(result)

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>#->
6

5.
存储列表元素到新的变量中

16.
检讨一个对象的内存使用

而不是:

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>import
sys

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>x=1

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>print(sys.getsizeof(x))

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>#->
28

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>multiStr=
“””select * from multi_row

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>where
row_id < 5″””

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>print(multiStr)

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>#select
* from multi_row

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>#where
row_id < 5

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>def
small(a,b,c):

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>returnaifa<=
banda<= celse(bifb<= aandb<= celsec)

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>print(small(1,0,1))

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>print(small(1,2,2))

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>print(small(2,2,3))

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>print(small(5,4,3))

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>#Output

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>#0
#1 #2 #3

“_”
是上一个履行的表明式的输出。

那是一个我们大多数人不精通的有用特色,在
Python
控制台,不论曾几何时大家测试一个表明式或者调用一个主意,结果都会分配给一个暂时变量:
_(一个下划线)。

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>x
= (classA if y == 1 else classB)(param1, param2)

注:七个语句中唯有一个
<:> 的不比,另,在 Python3 中运行上述代码时,将 <xrange>
改为 <range>。

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>if
m in [1,3,5,7]:


Python 2.7 中

请只在需要的时候使用地点的技巧。

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>multiStr=
“select * from multi_row

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>where
row_id < 5”

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>print(multiStr)

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>#
select * from multi_row where row_id < 5

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>x,y=
10,20

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>print(x,y)

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>x,y=
y,x

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>print(x,y)

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>#1
(10, 20)

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>#2
(20, 10)

大家可以应用上边的法子来证实八个值:

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>test=
[1,2,3,4,2,2,3,1,4,4,4]

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>print(max(set(test),key=test.count))

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>#->
4

大家可以行使列表来先导化多少个变量,在分析列表时,变量的数目不该超越列表中的元素个数:【译者注:元素个数与列表长度应该严俊平等,不然会报错】

10.
开启文件分享

18.
选取 lambda 来模拟输出方法

很明朗,你可以从结果中来看真的有内存使用上的节约,但是你只应该在一个类的内存开支不需求得大时才使用
__slots__。只在对应用进行质量分析后才使用它,不然地话,你只是使得代码难以改变而尚未真的的功利。

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>The
slots declaration takes a sequence of instance variables and reserves
just enough space in each instance to hold a value for each variable.
Space is saved because dict is not created for each instance.

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>#In
Python 2.7 win10

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>#1->
896

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>#2->
1016

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>python
-m SimpleHTTPServer

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>n=
10

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>result=
1< n< 20

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>print(result)

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>#
True

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>result=
1> n<= 9

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>print(result)

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>#
False

14.
找到列表中冒出最频仍的数

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>import
pdb

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>pdb.set_trace()


Python 2.7 中,一个 32 比特的平头占用 24 字节,在 Python 3.5 中使用 28
字节。为确定内存使用,大家得以调用 getsizeof 方法:

赋值的左边形成了一个新的元组,右边马上解析(unpack)那多少个(未被引用的)元组到变量
<a> 和 <b>。

俺们可以透过调用
dir() 方法来检查 Python 中的对象,上边是一个简练的例子:

假设您想知道引用到代码中模块的相对路径,可以使用上边的技能:

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>x
= 10 if (y == 9) else 20

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>[表明式为确实重返值]
if [表达式] else [说明式为假的重回值]

19.从四个有关的队列构建一个字典

#
Python 3

上面方法共有的难题是缺失适当的缩进,假设大家品尝缩进会在字符串中插入空格。所以最后的化解方案是将字符串分为多行并且将所有字符串包蕴在括号中:

22.
在 Python 中落到实处一个真的的 switch-case 语句

11.
检查 Python 中的对象

那边给出多少个你可以用来使代码紧凑简洁的事例。下边的口舌是说“假使y 是 9,给 x 赋值 10,不然赋值为
20”。若是须要的话大家也足以延长那条操作链。

另一个技艺是运用三引号:

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>import
sys

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>x=1001

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>print(sys.getrecursionlimit())

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>sys.setrecursionlimit(x)

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>print(sys.getrecursionlimit())

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>#1->
1000

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>#2->
1001

Python
3.x.

Python
限制递归次数到 1000,大家得以重置那一个值:

或者,对于
in 操作符大家也得以行使 ‘{1,3,5,7}’ 而不是 ‘[1,3,5,7]’,因为 set
中取元素是 O(1) 操作。

上边是另一个多少个条件表明式链接起来用以总计最小值的事例:

15.
重置递归限制

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>def
xswitch(x):

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>returnxswitch._system_dict.get(x,None)

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>xswitch._system_dict=
{‘files’: 10,’folders’: 5,’devices’: 2}

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>print(xswitch(‘default’))

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>print(xswitch(‘devices’))

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>#1->
None

style=”margin: 0px; padding: 0px; max-width: 100%; color: #5a5a5a; font-size: 14px”>#2->
2

你是还是不是注意到你的
Python 应用占用许多资源更加是内存?有一个技巧是利用 __slots__
类变量来在肯定程度上裁减内存开支。

3.
用到三元操作符来开展标准化赋值

相关文章