2017-10-11 82 views
-2
'apple'.upper() // in javascript 

據我所知這是第一個包裝成一個對象,返回值是和包裝紙destoryed是Python的原語對象或primitves類似於對象

'apple'.capitalize() // in python 

做同樣發生在Python或它只是一個真實的物體。

編輯: 作爲回答,他們只是普通的蟒蛇香草對象。

現在據我瞭解,原語很快,因此他們的計數器對象包裝提供。

那爲什麼不用python來實現它們呢?有沒有特別的設計理由?兩種方法的優點和缺點。

+1

Python中沒有原語!一切都是一個對象。但是,像字符串或整數這樣的對象是不可變的。 – schwobaseggl

+0

有沒有任何優點,當其他語言有包裝爲什麼沒有python實現它。像在JavaScript中一樣,一切都是一個對象,字符串仍然是不可改變的。'apple'.something將通過一個包裝器。 – garg10may

+0

字符串在Python中也是不可變的... – jonrsharpe

回答

2

Python不是Java。它沒有基元。它也不打包或打開對象。

'apple'str類型的對象。

+0

不會讓語言變慢嗎? – garg10may

+1

並不特別。爲什麼呢? –

+0

因爲它們很重,爲什麼Java會採取額外的措施來提供原始語言而不是JavaScript呢? – garg10may