全国协议5人面授小班,企业级独立开发考核,转业者的IT软件工程师基地 登录/注册 | 如何报名

免费领取试听课程

并获得专业顾问一对一进行选课辅导

课程名称不能为空
姓名不能为空
手机号码不能为空

领取成功

Python教程,这8个实用技巧你一定要知道

行业新闻 汉码未来 | python Python教程

2021-09-18 14:57:44

8个实用小技巧

Python教程,这8个实用技巧你一定要知道

1、使用字典来存储选择操作

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


In [70]: stdacl = { 

    ...: 'sum':lambda x,y : x + y,

    ...: 'subtract':lambda x,y : x - y 

    ...: } 

 

In [73]: stdacl['sum'](9,3) 

Out[73]: 12

 

In [74]: stdacl['subtract'](9,3) 

Out[74]: 6


2、一行代码计算任何数的阶乘

python3环境:


In [75]: import functools

 

In [76]: result = ( lambda k : functools.reduce(int.__mul__,range(1,k+1),1))(3) 

 

In [77]: result

Out[77]: 6


3、找到列表中出现最频繁的数

 

In [82]: test = [1,2,3,4,2,2,3,1,4,4,4] 

 

In [83]: print(max(set(test),key=test.count)) 


4、重置递归限制

Python 限制递归次数到 1000,我们可以重置这个值:


import sys

 

x=1001

print(sys.getrecursionlimit())

 

sys.setrecursionlimit(x)

print(sys.getrecursionlimit())

 

#1-> 1000

#2-> 100


5、原地交换两个数字

Python 提供了一个直观的在一行代码中赋值与交换(变量值)的方法,请参见下面的示例:


In [1]: x,y = 10 ,20 

 

In [2]: print(x,y)

10 20

 

In [3]: x, y = y, x 

 

In [4]: print(x,y)

20 10

赋值的右侧形成了一个新的元组,左侧立即解析(unpack)那个(未被引用的)元组到变量 和 。

一旦赋值完成,新的元组变成了未被引用状态并且被标记为可被垃圾回收,最终也完成了变量的交换。


6、链状比较操作符

比较操作符的聚合是另一个有时很方便的技巧:


In [5]: n = 10 

 

In [6]: result = 1 < n < 20 

 

In [7]: result 

Out[7]: True

 

In [8]: result = 1 > n <= 9 

 

In [9]: result 

Out[9]: False


7、使用三元操作符来进行条件赋值

三元操作符是 if-else 语句也就是条件操作符的一个快捷方式:


[表达式为真的返回值] if [表达式] else [表达式为假的返回值]


这里给出几个你可以用来使代码紧凑简洁的例子。下面的语句是说“如果 y 是 9,给 x 赋值 10,不然赋值为 20”。如果需要的话我们也可以延长这条操作链。


x = 10 if (y == 9) else 20


同样地,我们可以对类做这种操作:


x = (classA if y == 1 else classB)(param1, param2)


在上面的例子里 classA 与 classB 是两个类,其中一个类的构造函数会被调用.


下面是另一个多个条件表达式链接起来用以计算最小值的例子:


In [10]: def small(a,b,c):

    ...:     return a if a<=b and a<=c else ( b if b<=a and b<=c else c) 

    ...: 

 

In [11]: small(1,0,1)

Out[11]: 0

 

In [12]: small(1,2,3)

Out[12]: 1


我们甚至可以在列表推导中使用三元运算符:


In [14]: [ m**2 if m > 10 else m**4 for m in range(20) ] 

Out[14]: 

[0,1,16,81,256,625,1296,2401,4096,6561,10000,121,144,169,196,225,256,289,324,61]


8、检查一个对象的内存使用

在 Python 2.7 中,一个 32 比特的整数占用 24 字节,在 Python 3.5 中利用 28 字节。为确定内存使用,我们可以调用 getsizeof 方法:


python2.7:



    import sys

    x=1

    print(sys.getsizeof(x))

     

    #-> 24


python3:


    In [86]: import sys 

     

    In [87]: x = 1

     

    In [88]: sys.getsizeof(x) 

    Out[88]: 28




以上就是汉码未来给大家分享的文章,希望对小伙伴们有所帮助,想要了解更多Python教程,这8个实用技巧你一定要知道相关内容的小伙伴可以登录汉码未来官网咨询,主打5人小班,全程面授,主打Java开发,web前端开发等课程,有专业的授课老师为你答疑解惑。

    

分享到:



【免责声明】由于政策等各方面情况的不断调整与变化,本网站所提供的信息仅供参考,请以权威部门公布的正式信息为准。本网站在文章内容来源出处标注为其他平台的稿件均为转载稿,免费转载出于非商业性学习目的,版权归原作者所有。如您对内容、版权等问题存在异议请与本站联系,我们会及时进行处理解决。 删除,请联系客服。
为什么选择汉码未来