Python 是哪种类型语言 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yuanse
V2EX    问与答

Python 是哪种类型语言

  •  
  •   yuanse 2020-04-29 09:07:51 +08:00 3124 次点击
    这是一个创建于 2040 天前的主题,其中的信息可能已经有所发展或是发生改变。

    基础比较薄弱,今天看了下不是特别清楚到底是强类型还是弱类型,还有静动态,wiki 看了下还是比较模糊,

    tutuk5
        1
    tutuk5  
       2020-04-29 09:10:26 +08:00
    动态的,变量不用定义类型
    fgwmlhdkkkw
        2
    fgwmlhdkkkw  
       2020-04-29 09:13:04 +08:00   1
    可以在运行时创建新的类型( Python 当然可以),就是动态语言吧……我这么理解。
    “静动态”是什么?支持持反射的吗?
    yuanse
        3
    yuanse  
    OP
       2020-04-29 09:18:32 +08:00
    @fgwmlhdkkkw 静态和动态
    Orenoid
        4
    Orenoid  
       2020-04-29 09:19:03 +08:00   1
    动态类型是肯定的。姑且算是强类型吧,但争议比较大。
    superrichman
        5
    superrichman  
       2020-04-29 09:19:25 +08:00 via iPhone
    python 是动态强类型语言
    ClericPy
        6
    ClericPy  
       2020-04-29 09:20:49 +08:00
    随手一搜到处都是
    为什么说 Python 是强类型语言? - 知乎 - https://www.zhihu.com/question/43498005
    yuanse
       7
    yuanse  
    OP
       2020-04-29 09:22:04 +08:00
    @tutuk5 那么强弱类型呢,有些写的 “强类型语言:不允许改变变量的数据类型,除非进行强制类型转换。” python 是弱类型的语言么,查资料看着看着就蒙了
    klesh
        8
    klesh  
       2020-04-29 09:22:19 +08:00 via Android
    强类型
    yuanse
        9
    yuanse  
    OP
       2020-04-29 09:24:04 +08:00
    @ClericPy 只是看公司文档别人写的 python 是弱类型语言
    iConnect
        10
    iConnect  
       2020-04-29 09:26:55 +08:00 via Android
    @yuanse 弱类型允许 str + int 不出错,大多语言都会出错,js 不会。
    superrichman
        11
    superrichman  
       2020-04-29 09:27:17 +08:00
    @yuanse
    ```
    a = 1
    b = "b"
    a + b
    ```
    这段代码在 python 里会报错,在 js 里会正常执行。这就是强类型和弱类型的区别。
    Norie
        12
    Norie  
       2020-04-29 09:30:33 +08:00 via iPhone
    胶水型
    ClericPy
        13
    ClericPy  
       2020-04-29 09:31:35 +08:00   1
    @yuanse #9 在 V2EX 这种地方都有看到说它弱类型的, 心里有数就行了, 我都懒得和那群人争辩了...
    tairan2006
        14
    tairan2006  
       2020-04-29 09:35:23 +08:00
    强类型动态语言

    弱类型语言,一般人应该只接触过 js 和 bash
    hanyceZ
        15
    hanyceZ  
       2020-04-29 09:38:37 +08:00
    PYTHON 是一门动态解释性的强类型定义语言:编写时无需定义变量类型;运行时变量类型强制固定;无需编译,在解释器环境直接运行。
    thfurior
        16
    thfurior  
       2020-04-29 09:42:17 +08:00
    强类型 动态
    yuanse
        17
    yuanse  
    OP
       2020-04-29 09:52:13 +08:00
    感谢大家的指正
    fank99
        18
    fank99  
       2020-04-29 09:57:33 +08:00
    动态强类型,js 那种就动态弱类型
    blodside
        19
    blodside  
       2020-04-29 10:24:27 +08:00
    从类型上看:强类型,没法 cast,不像 c/c++这些弱类型语言可以随便 cast 。但是是动态的,运行时才能确定类型。
    现在也不全是隐式类型了,可以和 ts 一样标类型了。
    wtsamuel
        20
    wtsamuel  
       2020-04-29 12:31:26 +08:00
    胶水
    pisc
        21
    pisc  
       2020-04-29 13:55:57 +08:00 via Android
    1. 动态类型和静态类型很好区分,主要是看类型检查的时间是否在运行之前进行。

    2. 然后根据语言的 specification 来判断是否是动态类型,比如 Python 通常允许不进行类型检查就执行,那么通常说它就是动态类型语言。另外如果你总是使用 mypy 在 Python 做类型检查,那么你说你用的 Python 是静态类型也没问题。

    3. 不用使用强、弱类型这个概念,因为就连学术上也没个标准的说法,这不怪谁,PL 在术语标准化方面做的不是很好。

    4. 楼上说 Python 是强类型 /弱类型什么的,几乎都是道听途说,不要信。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2615 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 12:56 PVG 20:56 LAX 04:56 JFK 07:56
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86