python分配 Python分配解構

2021-10-18 14:54:16 字數 1138 閱讀 2625

根據dis,他們都被編譯成相同的位元組碼:

>>> def f1(line):

... a,b,c = line.split()

>>> def f2(line):

... (a,b,c) = line.split()

>>> def f3(line):

... [a,b,c] = line.split()

>>> import dis

>>> dis.dis(f1)

2 0 load_fast 0 (line)

3 load_attr 0 (split)

6 call_function 0

9 unpack_sequence 3

12 store_fast 1 (a)

15 store_fast 2 (b)

18 store_fast 3 (c)

21 load_const 0 (none)

24 return_value

>>> dis.dis(f2)

2 0 load_fast 0 (line)

3 load_attr 0 (split)

6 call_function 0

9 unpack_sequence 3

12 store_fast 1 (a)

15 store_fast 2 (b)

18 store_fast 3 (c)

21 load_const 0 (none)

24 return_value

>>> dis.dis(f3)

2 0 load_fast 0 (line)

3 load_attr 0 (split)

6 call_function 0

9 unpack_sequence 3

12 store_fast 1 (a)

15 store_fast 2 (b)

18 store_fast 3 (c)

21 load_const 0 (none)

24 return_value

所以他們都應該有同樣的效率。對於大多數pythonic來說,這是有點偏向於意見,但我會贊成第二個選擇的第乙個或(在較小程度上)。使用方括號是令人困惑的,因為看起來你正在建立乙個列表(儘管事實證明你不是)。

python分配問題 Python增加分配問題

對於運算子,python定義了乙個物件可以實現的三個 特殊 方法 add 新增兩個專案 運算子 當你做乙個b時,a的 add 方法用b作為引數來呼叫.radd reflect add 對於b,b的 radd 方法作為乙個例項被呼叫.這僅在不知道如何做新增和兩個物件是不同型別時才使用.iadd 就地新...

python分配 確定值的分配Python

以下是您修改後的問題的答案,即如何新增要求每個員工連續工作時間段的約束。在 我建議您新增以下約束 此處以代數方式編寫 x t 1,p x t,p 1 1 t sum x s,p for all p,for all t t 其中x是您的staffed變數 這裡寫為x表示緊湊性 t是時間索引,t是時間段...

python隨機分配 python 隨機分類

encoding utf 8 import pandas as pd import numpy as np from sklearn import datasets,linear model from sklearn.metrics import roc curve,auc import pylab...