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

Python的高级特征你知多少?来对比看看

发布时间:2019-04-26 09:28:05 所属栏目:建站 来源:George Seif
导读:Python 多好用不消多说,各人看看本身用的说话就知道了。可是 Python 潜匿的高级成果你都 get 了吗?本文中,作者罗列了 Python 中五种略高级的特性以及它们的行使要领,快来一探毕竟吧! Python 是一种瑰丽的说话,它简朴易用却很是强盛。但你真的会用 Pyth

假如列表很小,好比 1000 行,计较所需的内存还行。但假如列表巨长,好比十亿浮点数,这样做就会呈现题目了。行使这种 for 轮回,内存中将呈现大量列表,但不是每小我私人都有无穷的 RAM 来存储这么多对象的。Python 中的 range() 函数也是这么干的,它在内存中构建列表。

代码中第二部门展示了行使 Python generator 函数对数字列表求和。generator 函数建设元素,并只在须要时将其存储在内存中,即一次一个。这意味着,假如你要建设十亿浮点数,你只能一次一个地把它们存储在内存中!Python 2.x 中的 xrange() 函数就是行使 generator 来构建列表。

上述例子声名:假如你想为一个很大的范畴天生列表,那么就必要行使 generator 函数。假如你的内存有限,好比行使移动装备或边沿计较,行使这一要领尤其重要。

也就是说,假如你想对列表举办多次迭代,而且它足够小,可以放进内存,那最好行使 for 轮回或 Python 2.x 中的 range 函数。由于 generator 函数和 xrange 函数将会在你每次会见它们时天生新的列表值,而 Python 2.x range 函数是静态的列表,并且整数已经置于内存中,以便快速会见。

  1. # (1) Using a for loopv 
  2. numbers = list() 
  3.  
  4. for i in range(1000): 
  5.     numbers.append(i+1) 
  6.  
  7. total = sum(numbers) 
  8.  
  9. # (2) Using a generator 
  10.  def generate_numbers(n): 
  11.      num, numbers = 1, [] 
  12.      while num < n: 
  13.            numbers.append(num) 
  14.      num += 1 
  15.      return numbers 
  16.  total = sum(generate_numbers(1000)) 
  17.  
  18.  # (3) range() vs xrange() 
  19.  total = sum(range(1000 + 1)) 
  20.  total = sum(xrange(1000 + 1)) 

原文链接:https://towardsdatascience.com/5-advanced-features-of-python-and-how-to-use-them-73bffa373c84

(编辑:河北网)

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

热点阅读