加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

18个Python高效编程能力,Mark!

发布时间:2019-03-20 09:59:20 所属栏目:建站 来源:佚名
导读:初识Python说话,认为python满意了我上学时辰对编程说话的全部要求。python说话的高效编程能力让我们这些大学曾经苦逼学了四年c可能c++的人,欢快的不可不可的,终于脱节了。高级说话,假如做不到这样,还扯啥高级呢? 01 互换变量 a=3 b=6 这个环境假如要
副问题[/!--empirenews.page--]

18个Python高效编程能力,Mark!

初识Python说话,认为python满意了我上学时辰对编程说话的全部要求。python说话的高效编程能力让我们这些大学曾经苦逼学了四年c可能c++的人,欢快的不可不可的,终于脱节了。高级说话,假如做不到这样,还扯啥高级呢?

01 互换变量

  1. >>>a=3 
  2. >>>b=6 

这个环境假如要互换变量在c++中,必定必要一个空变量。可是python不必要,只需一行,各人看清晰了

  1. >>>a,b=b,a  
  2. >>>print(a)>>>6  
  3. >>>ptint(b)>>>5 

02 字典推导(Dictionary comprehensions)和荟萃推导(Set comprehensions)

大大都的Python措施员都知道且行使过列表推导(list comprehensions)。假如你对list comprehensions观念不是很认识——一个list comprehension就是一个更简短、简捷的建设一个list的要领。

  1. >>> some_list = [1, 2, 3, 4, 5]  
  2. >>> another_list = [ x + 1 for x in some_list ]  
  3. >>> another_list 
  4. [2, 3, 4, 5, 6] 

自从python 3.1 起,我们可以用同样的语法来建设荟萃和字典表:

  1. >>> # Set Comprehensions 
  2. >>> some_list = [1, 2, 3, 4, 5, 2, 5, 1, 4, 8]  
  3. >>> even_set = { x for x in some_list if x % 2 == 0 }  
  4. >>> even_set 
  5. set([8, 2, 4])  
  6. >>> # Dict Comprehensions  
  7. >>> d = { x: x % 2 == 0 for x in range(1, 11) }  
  8. >>> d 
  9. {1: False, 2: True, 3: False, 4: True, 5: False, 6: True, 7: False, 8: True, 9: False, 10: True} 

在第一个例子里,我们以some_list为基本,建设了一个具有不一再元素的荟萃,并且荟萃里只包括偶数。而在字典表的例子里,我们建设了一个key是不一再的1到10之间的整数,value是布尔型,用来指示key是否是偶数。

这里其它一个值得留意的工作是荟萃的字面量暗示法。我们可以简朴的用这种要领建设一个荟萃:

  1. >>> my_set = {1, 2, 1, 2, 3, 4}  
  2. >>> my_set 
  3. set([1, 2, 3, 4]) 

而不必要行使内置函数set()。

03 计数时行使Counter计数工具。

这听起来显而易见,但常常被人健忘。对付大大都措施员来说,数一个对象是一项很常见的使命,并且在大大都环境下并不是很有挑衅性的工作——这里有几种要领能更简朴的完成这种使命。

Python的collections类库里有个内置的dict类的子类,是专门来干这种工作的:

  1. >>> from collections import Counter 
  2. >>> c = Counter( hello world )  
  3. >>> c 
  4. Counter({ l : 3,  o : 2,    : 1,  e : 1,  d : 1,  h : 1,  r : 1,  w : 1})  
  5. >>> c.most_common(2) 
  6. [( l , 3), ( o , 2)] 

04 大度的打印出JSON

JSON是一种很是好的数据序列化的情势,被现在的各类API和web service大量的行使。行使python内置的json处理赏罚,可以使JSON串具有必然的可读性,但当碰着大型数据时,它示意成一个很长的、持续的一行时,人的肉眼就很难寓目了。

为了能让JSON数据示意的更友爱,我们可以行使indent参数来输出大度的JSON。当在节制台交互式编程或做日记时,这尤其有效:

  1. >>> import json  
  2. >>> print(json.dumps(data))  # No indention 
  3. {"status": "OK", "count": 2, "results": [{"age": 27, "name": "Oz", "lactose_intolerant": true}, {"age": 29, "name": "Joe", "lactose_intolerant": false}]}  
  4. >>> print(json.dumps(data, indent=2))  # With indention  
  5.   "status": "OK", 
  6.   "count": 2, 
  7.   "results": [ 
  8.  
  9.     { 
  10.       "age": 27, 
  11.       "name": "Oz", 
  12.  
  13.       "lactose_intolerant": true 
  14.     }, 
  15.     { 
  16.       "age": 29, 
  17.  
  18.       "name": "Joe", 
  19.       "lactose_intolerant": false 
  20.     } 
  21.   ] 
  22.  

同样,行使内置的pprint模块,也可以让其余任何对象打印输出的更大度。

05 办理FizzBuzz

前段时刻Jeff Atwood 推广了一个简朴的编程操练叫FizzBuzz,题目引用如下:

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读