本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

【组图】【朝花夕拾】(3)

时间:2016-12-05 19:46来源:报码现场 作者:www.wzatv.cc 点击:
上面一点是语言形式的, C也可以改成缩进, 所以此项不是核心优势. 而使用一门语言是使用它的思想. 于是要谈到Python的哲学, The Zen of Python。在python命令行

  上面一点是语言形式的, C也可以改成缩进, 所以此项不是核心优势. 而使用一门语言是使用它的思想. 于是要谈到Python的哲学, The Zen of Python。在python命令行里输入import this可以看到:

  Beautiful is better than ugly.美优于丑

  Explicit is better than implicit.晰胜于浑

  Simple is better than complex. 简胜于繁

  Complex is better than complicated. 繁胜于杂

  Flat is better than nested. 平胜于嵌

  Sparse is better than dense. 稀胜于稠

  Readability counts. 可读至上

  Special cases aren't special enough to break the rules. 殊例不足违训

  Although practicality beats purity. 虽实用大于纯粹

  Errors should never pass silently. 谬不可疏

  Unless explicitly silenced. 除明示

  In the face of ambiguity, refuse the temptation to guess. 晦不存疑

  There should be one-- and preferably only one --obvious way to do it. 一法万用

  Although that way may not be obvious at first unless you're Dutch. 若非尼德兰红毛,法难定 (......科学没有国籍)

  Now is better than never. 今胜于无

  Although never is often better than *right* now. 无胜于促

  If the implementation is hard to explain, it's a bad idea. 难述其施,谬法也

  If the implementation is easy to explain, it may be a good idea. 其施可述,或可行Namespaces are one honking great idea -- let's do more of those!命名空间,多多益善

  如果觉得俺翻译得太烂可以看英文。 但是你看到一个物品/工具/器件/用品的设计理念是如上时, 除开认为设计者装逼之外, 必定会觉得这个工具是十分可靠, 清爽的。 首先看到这个蹩脚的诗我就想到的是Unix伟大的亲嘴原则(Keep It Simple and Stupid), 而Python的确如此。(部分)解读如下:

  美优于丑。我只想举一个例子,你们感受一下(哈哈哈哈)。学C语言写辗转相除的novice们先include你的stdio去吧:

  -----

  def gcd(x, y):

  while y:

  x, y = y, x%y

  return x

  ----

  明晰胜于浑晦:

  Python逻辑与或用and 和 or 而不是 && 和 ||。

  简胜于繁,繁胜于杂,平胜于嵌,j2直播,稀胜于稠,可读至上:

  分别用C和Python写个hello world就能明白。

  特例不足违反规则:

  这句话最好的例子是Python没有char类型。因为大伙儿认为char只是一位的字符串。

  实用大于纯粹:

  于是Python里有chr()。

  谬不可疏 除明示:

  有时候exception还是重要的。

  晦不存疑,一法万用:

  1. 与其用iterator, for循环, 指针移动,数组下标移动, 不如一个for...in...直接解决问题。

  2. list,dict和tuple的数据结构也是希望能适用于绝大部分场合。这三位可以在必要的时候变成:列表,栈,队列,哈希表,七七八八各种东西....

  3. 函数的参数也勉强可以算进来。利用*和**, python的函数参数灵活性无以复加。

  若非尼德兰红毛,法难定:

  第一次看到荷兰人写的xx= if yy>0 then 0 else 1 是不是想哭...

  中间几句太哲学了.....:

  略过....

  命名空间,多多益善:

  面向对象...

  这些特性简直可以形容为黑曼巴...灵活,准确,快速,强力。

  Python语法的优美之处数不胜数,难以名状,深入人心,犬牙交错,人神共愤,不随意肌。语法是思想的延伸,有人说你学一门新语言而不学习新的思想则。还是新评装旧酒。由于我不是写tutorial,就不一一讲述所有的细节了。 只列举下最好和简单的特性, 而像decorator(面向切面),generator,多线程,itertools,一次肯定也讲不完。

  1. Python中的整数相当于C中的长整型(long), 32位的机器上整型取值范围为 -2147483648至2147483647, 64位机器上为 -9223372036 854775808 到 9223372036854775807 。Python的长整型是无限制的,只要内存允许。很相似的是Python里的无限list。一个很著名的例子是使用生成器(generator),就可以生成一个无限长的Fibonacci数列;

  ------

  def fib():

  a=b=1

  while True:

  yield a a, b= b, a+b

  这个数列号称无限长,其实是需要运算哪一位时才计算。这就是著名的惰性求值。Python中的长整型和无限list的概念均来自于Haskell。

  对于C和C++要处理大数据要使用高精度算法, 用一个struct表示一个大数, 使用一个array储存它, 然后自定义运算函数(加减乘除)。

  2. List comprehension,切片等操作

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容