Python 有哪些糟糕的語法?

時間 2021-05-07 00:47:24

1樓:

a // b

向下取整完全可以用int(a / b)實現,不如直接把 // 做成和其他語言裡 / 一樣的功能

比如:很多語言裡 -23 / 10 == -2但是Python裡 -23 // 10 == -3

2樓:李之瀚

不常用的,你用不好的都不算糟糕,只能說你不會用不得要領。

個人認為有點糟糕的,懂得人自然懂我在說什麼:

type 較之 isinstance;

float 較之 decimal;

2.x 的 range 舊式類

list() set()這種宣告

私有非私有

函式引數傳參太靈活

bound 和 unbound之後 ismethod 和 isfunction 的內省比較 self classmethod 和 staticmethod;加上偏函式的用法轉化的用法。

3樓:魚你太美

用一條語句計算100以內的所有質數平方和,groovy寫法:

println((1

..100).

grep

.grep

.grep

.grep

.collect

.sum

())python表示我也行:

print

(sum

(map

(lambdav:

v**2,

filter

(lambdav:

v%7!=

0,filter

(lambdav:

v%5!=

0,filter

(lambdav:

v%3!=

0,filter

(lambdav:

v%2!=

0,range(1

,100+1

))))))))

4樓:劉志軍

True和False還可以當做變數名來使用(python2)>>> True = False

>>> False == False

True

>>> True == False

True

明明是字串,偏偏前面要加個u才能編碼 (Python2)>>> "你好".encode("utf-8")Traceback (most recent call last):

File "", line 1, in

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 0: ordinal not in range(128)

>>> u"你好".encode("utf-8")'\xe4\xbd\xa0\xe5\xa5\xbd'

3除以2不是1.5,而是1 (Python2)>>> 3/2

1不要被逗號騙了

>>> a = 1

>>> b = 1,

>>> type(a) == type(b)False

不要被括號騙了

>>> (1) == 1

True

>>>>>> (1,1) == 1,1

(False, 1)

不要被大括號騙了

>>> type({})

>>> type()

>>>

新加坡有哪些糟糕之處?

Asiadorm 王老師 對我來說有著致命暴擊的黑紅色且會飛的蟑螂 夜間動物園,乙隻身形碩大的黑老鼠從我面前經過初到新加坡,聽到Singlish後,容易懷疑自己以前坐出租,很少能碰到司機是年輕人,記得最清楚的一次,感覺司機能有70歲以上,一開車一邊全身顫抖,慌得一批 熱熱熱潮潮潮 每個國家都有自己的...

Python 的 is 運算子是糟糕的設計嗎?

劉奕聰 is和 主要是語義上的區別,其他回答說得比較詳細,這裡不再贅述。主要說個坑,PEP8中明確提出判斷布林型的時候需要用is,而不是 原因在於True和False是bool的例項,而bool又是繼承自int,因此會有以下現象 True 1 True False 0 True 在這種值雖然相等,但...

SAS的語法規律有哪些?

我想知道巨集裡面為什麼用keep a b 保留a,b代替的變數會被sas說syntax error,被當成 符號處理 大象 SAS的語法其實很簡單,SAS是一種面向過程的語言,其有兩個主要部分構成 Statements 和 Options。1.Statement Statements就是SAS中的語...