必定要會的新技術功能

快速交換(Quick swap)

# in python, also works in ES6

s1 = 3
s2 = 4

# Quick swap
s1, s2 = s2, s1

惰性計算(Lazy evaluation)

是指僅僅在真正須要執行的時候才計算表達式的值。javascript

  1. 避免沒必要要的計算,帶來性能的提高。
    對於條件表達式 if x and y,在x爲false的狀況下y表達式的值將再也不計算。而對於if x or y,當x的值爲true的時候將直接返回,再也不計算y的值。所以編程中能夠利用該特性:
    • and 邏輯中,將小几率發生的條件放在前面;
    • or 邏輯中,將大機率發生的時間放在前面,有助於性能的提高。
  2. 節省空間,使得無線循環的數據結構成爲可能。
    Python中最經典的使用延遲計算的例子就是生成式表達器了,它在每次須要計算的時候才經過yield產生所須要的元素。
    例:斐波那契數列在Python中實現起來很容易,使用yied對於while True也不會致使其餘語言中所遇到的無線循環問題。
def fib():
   a,b = 0,1
   while True:
       yield a
       a,b = b,a+b
               
fib_gen = fib()

for i in range(30):
    print(fib_gen.next())

解構賦值(Destructuring assignment)

# In python

# Destruction
li = (1, 2, 3)
a, b, c = li

print(b)

li1 = [1, 2, 3, 4, 5, 6]
c, *_, d = li1
// In ES6
// we have an array with the name and surname
let arr = ["Ilya", "Kantor"]

// destructuring assignment
let [firstName, surname] = arr;

alert(firstName); // Ilya
alert(surname);  // Kantor

Get details from site ES6 destructuring assignment.java

相關文章
相關標籤/搜索