`
tenderghost
  • 浏览: 24584 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

静态、动态、强类型、弱类型

阅读更多
2.2.1. How Python's Datatypes Compare to Other Programming Languages

An erudite reader sent me this explanation of how Python compares to other programming languages:

statically typed language
    A language in which types are fixed at compile time. Most statically typed languages enforce this by requiring you to declare all variables with their datatypes before using them. Java and C are statically typed languages.
dynamically typed language
    A language in which types are discovered at execution time; the opposite of statically typed. VBScript and Python are dynamically typed, because they figure out what type a variable is when you first assign it a value.
strongly typed language
    A language in which types are always enforced. Java and Python are strongly typed. If you have an integer, you can't treat it like a string without explicitly converting it.
weakly typed language
    A language in which types may be ignored; the opposite of strongly typed. VBScript is weakly typed. In VBScript, you can concatenate the string '12' and the integer 3 to get the string '123', then treat that as the integer 123, all without any explicit conversion.

So Python is both dynamically typed (because it doesn't use explicit datatype declarations) and strongly typed (because once a variable has a datatype, it actually matters).

from 《Dive Into Python》, see: http://diveintopython.org/getting_to_know_python/declaring_functions.html
分享到:
评论

相关推荐

    python 学习中关于动态类型静态类型强类型弱类型的问题.docx

    ### Python学习中关于动态类型、静态类型、强类型与弱类型的问题 #### 动态类型与静态类型 在计算机编程领域,动态类型和静态类型是两种重要的类型系统分类方式。 **动态类型**(Dynamic Typing)指的是在程序...

    弱类型、强类型、动态类型、静态类型语言的区别是什么.md

    弱类型、强类型、动态类型、静态类型语言的区别是什么

    编程语言里的静态、动态、强类型、弱类型等概念介绍

    编程语言可以按照类型系统的不同特点分为静态类型语言和动态类型语言,同时还可以根据类型检查的严格程度来区分强类型语言和弱类型语言。了解这些概念对于编程语言设计、选择以及代码实现有着重要的意义。 首先,...

    动态语言、动态类型语言、静态类型语言、强类型语言、弱类型语言介绍

    本文将深入探讨动态语言、动态类型语言、静态类型语言、强类型语言和弱类型语言的区别,帮助理解它们各自的特点。 1. 动态语言: 动态语言,也被称为动态编程语言,其核心特征是在运行时允许程序结构的变化。这意味...

    弱类型语言允许将一块内存看做多种类型

    - **Python**:虽然 Python 在表面上看起来是弱类型语言,因为它支持动态类型,但实际上在操作不同类型的数据时仍然需要遵循严格的规则,因此被视为强类型语言。 ### Java 中 WeakHashMap 的使用及特性 #### 五、...

    Python动态强类型解释型语言原理解析

    PYTHON是一门动态解释性的强类型定义语言:编写时无需定义变量类型;运行时变量类型强制固定;无需编译,在解释器环境直接运行。 动态和静态 静态语言:是指在编译时变量的数据类型即可确定的语言,多数静态类型语言...

    .NET面试题C#.NET

    c和c++是静态语言,也是弱类型语言,perl和php是动态语言,但也是弱类型语言,强类型语言在没有强制类型转换前,不允许两种不同类型的变量相互操作。java、c#和python都是强类型语言。 使用那种语言还是要按需而定。...

    python动态性强类型用法实例

    ### Python动态性强类型用法详解 #### 一、引言 Python作为一种高级编程语言,在语法设计上具有灵活性和简洁性的特点。与C#等其他语言相比,Python在变量的使用上展现出独特的动态性和强类型特性。本文将详细介绍...

    liukexina#weekly#2020-35周-cy-typescript基本类型1

    背景强类型与弱类型js 动态弱类型语言。TypeScript 不是强类型!只是静态类型!快速入门 TypeScriptnpm install -g typesc

    Python基本语法 数据类型 列表 元组 字典

    # javascript:是一门动态的弱类型语言,运行时识别数据类型 字符串(str) # 单引号和双引号 temp = 'hello python' temp = "hello python" print(temp) # 转义符处理 temp="I say \"hello world\...

    一节课掌握TypeScript.pptx

    强类型和弱类型是根据语言对类型约束的严格程度来区分的。在强类型语言中,如Java,函数的参数类型必须与声明的类型一致,否则会导致编译错误。而JavaScript则属于弱类型语言,它允许不同类型的值之间进行隐式转换,...

    2024年深圳服面经总结(附带答案)

    C,C++ 是弱类型、静态类型检查的,Python 是强类型、动态类型检查的。 强类型:偏向于不容忍隐式类型转换 弱类型:偏向于容忍隐式类型转换 静态类型: 编译的时候就知道每一个变量的类型,因为类型错误而不能做的...

    C# 数据类型和转换

    - 静态类型(强类型):在编译时已知数据类型,如int x = 5;。 - 动态类型(弱类型):运行时确定数据类型,如dynamic x = 5;。 4. 类型转换 - 显式转换(强制类型转换):当需要将一个数据类型转换为另一个兼容...

    Python基础1-2章-小白自学自用版

    2. 强类型定义:尽管Python是动态类型的,但它属于强类型定义语言,即变量一旦赋值后,其类型固定,除非进行强制类型转换。 3. 面向对象:Python中的万物皆对象,支持类和对象的概念,便于面向对象编程。 4. 可扩展...

    TypeSystems论文

    论文可能会讨论强类型和弱类型: 1. 强类型:不允许隐式类型转换,必须显式进行,如Java。这种类型系统更安全,但可能需要更多的代码来处理类型转换。 2. 弱类型:允许隐式类型转换,可能带来意外的行为,如...

    typescript学习笔记

    * 类型系统按照「是否允许隐式类型转换」来分类,可以分为强类型和弱类型。 * TypeScript 是完全兼容 JavaScript 的,它不会修改 JavaScript 运行时的特性,所以它们都是弱类型。 四、环境声明 * 环境声明允许你...

    10道常用的Swift面试题(附答案).md

    1)Swift是强类型(静态)语言,有类型推断,Objective-C弱类型(动态)语言 2)Swift面向协议编程,Objective-C面向对象编程 3)Swift注重值类型,Objective-C注重引用类型 4)Swift支持泛型,Objective-C只支持轻...

Global site tag (gtag.js) - Google Analytics