第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Python是強(qiáng)類型的嗎?

Python是強(qiáng)類型的嗎?

SMILET 2019-07-29 14:25:24
Python是強(qiáng)類型的嗎?我遇到過(guò)一些鏈接,說(shuō)Python是一種強(qiáng)類型語(yǔ)言。但是,我認(rèn)為在強(qiáng)類型語(yǔ)言中你不能這樣做:bob = 1bob = "bob"我認(rèn)為強(qiáng)類型語(yǔ)言在運(yùn)行時(shí)不接受類型更改。也許我對(duì)強(qiáng)/弱類型的定義是錯(cuò)誤的(或過(guò)于簡(jiǎn)單化)。那么,Python是一種強(qiáng)類型還是弱類型的語(yǔ)言
查看完整描述

3 回答

?
有只小跳蛙

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超8個(gè)贊

Python是強(qiáng)有力的動(dòng)態(tài)類型。

  • 強(qiáng)類型意味著值的類型不會(huì)以意外的方式改變。只包含數(shù)字的字符串不會(huì)神奇地變成一個(gè)數(shù)字,就像Perl中可能發(fā)生的那樣。每種類型的更改都需要顯式轉(zhuǎn)換。

  • 動(dòng)態(tài)類型意味著運(yùn)行時(shí)對(duì)象(值)具有類型,而不是靜態(tài)類型,其中變量具有類型。

至于你的例子

bob = 1bob = "bob"

這是因?yàn)樽兞繘](méi)有類型; 它可以命名任何對(duì)象。之后bob=1,你會(huì)發(fā)現(xiàn)type(bob)返回int,但之后bob="bob",它會(huì)返回str。(注意,這type是一個(gè)常規(guī)函數(shù),因此它會(huì)計(jì)算其參數(shù),然后返回值的類型。)

與舊的C語(yǔ)言形成鮮明對(duì)比,后者是弱的,靜態(tài)類型的,因此指針和整數(shù)幾乎可以互換。(在許多情況下,現(xiàn)代ISO C需要轉(zhuǎn)換,但默認(rèn)情況下我的編譯器對(duì)此仍然寬容。)

我必須補(bǔ)充一點(diǎn),強(qiáng)類型和弱類型更像是一個(gè)連續(xù)體而不是布爾選擇。C ++具有比C更強(qiáng)的類型(需要更多轉(zhuǎn)換),但是類型系統(tǒng)可以通過(guò)使用指針強(qiáng)制轉(zhuǎn)換來(lái)破壞。

動(dòng)態(tài)語(yǔ)言(如Python)中類型系統(tǒng)的強(qiáng)度實(shí)際上取決于其原語(yǔ)和庫(kù)函數(shù)如何響應(yīng)不同類型。例如,+重載是因?yàn)樗m用于兩個(gè)數(shù)字兩個(gè)字符串,但不是字符串和數(shù)字。這是在+實(shí)現(xiàn)時(shí)所做的設(shè)計(jì)選擇,但從語(yǔ)言的語(yǔ)義開(kāi)始并不是必需的。實(shí)際上,當(dāng)您+在自定義類型上重載時(shí),可以將其隱式轉(zhuǎn)換為數(shù)字:

def to_number(x):
    """Try to convert x to a number."""
    if x is None:
        return 0
    # more special cases here
    else:
        return float(x)  # works for numbers and stringsclass Foo(object):
    def __add__(self, other):
        other = to_number(other)
        # now do the addition

(我所知道的唯一一種完全強(qiáng)類型,也就是嚴(yán)格類型的語(yǔ)言是Haskell,其中類型是完全不相交的,只有通過(guò)類型類才可以控制形式的重載。)


查看完整回答
反對(duì) 回復(fù) 2019-07-29
?
精慕HU

TA貢獻(xiàn)1845條經(jīng)驗(yàn) 獲得超8個(gè)贊

您將'強(qiáng)類型''動(dòng)態(tài)類型'混淆。

我無(wú)法1通過(guò)添加字符串來(lái)更改類型'12',但我可以選擇存儲(chǔ)在變量中的類型,并在程序運(yùn)行時(shí)更改它。

與動(dòng)態(tài)類型相反的是靜態(tài)類型; 變量類型聲明在程序的生命周期內(nèi)不會(huì)改變。強(qiáng)類型的反面是弱打字; 的類型可以在程序的生命周期中更改。


查看完整回答
反對(duì) 回復(fù) 2019-07-29
  • 3 回答
  • 0 關(guān)注
  • 1006 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)