python——静态语言、动态语言、强类型语言、弱类型语言、脚本语言、解释型语言、编译型语言

静态语言

在编写代码时,必须为变量指定一个明确类型的语言。比如Java、C/C++

动态语言

在编写代码时,不必为变量指定一个明确的类型,而是由解释器在运行时根据变量的使用情况确定变量的类型。比如python、javascript

#python的动态特性
m = 10;
m = ‘hello‘
print m     #print ‘hello‘

强类型语言

变量必须有一个确定的类型。比如Java、C/C++、python

弱类型语言

在运行时,变量不必按它原来的类型使用,可以当做其他类型来使用,比如可以直接将一个字符串当整数,也可以直接将一个整数当做字符串。比如JavaScript

//javascript的弱类特性
var result=5+5;
alert(result);  //outputs "10"
var result=5+‘5‘;
alert(result);  //outputs "55"

脚本语言

脚本语言不需要编译,可以直接用,由解释器来负责解释。比如php

解释型语言

程序边执行边解释,所以速度慢。每执行一次就要翻译一次,效率比较低。

编译型语言

在程序执行之前,有一个单独的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,所以效率高。

原文地址:https://www.cnblogs.com/lalalaxpf/p/9499361.html

时间: 2024-10-10 08:53:19

python——静态语言、动态语言、强类型语言、弱类型语言、脚本语言、解释型语言、编译型语言的相关文章

静态、动态、强和弱类型

对于动态语言与静态语言的区分,套用一句流行的话就是:Static typing when possible, dynamic typing when needed. “动”或“静”,强调的是实施类型的时间,编译里就要确定类型的是静态类型,比如C/C++/JAVA/C#,运行时才实施类型的则是动态类型,比如VB/Python.          而“强”或“弱”刚强调实施类型的强度,强类型的语言,如C++等,变量的类型不可随意转换:而弱类型的语言,变量的类型可以随需要任意转换,而且通常都是隐式的.

强类型和弱类型,静态类型和动态类型语言如何区分

强类型和弱类型 如果一门语言很少隐式转换类型,说明他是强类型语言.如果经常这么做,说明他是弱类型语言.java, c++和python是强类型语言.PHP,JavaScript和Perl是弱类型语言 静态类型和动态类型 在编译时检查类型的语言是静态类型语言,在运行时检查类型的语言是动态语言.静态类型需要声明类型.Fortran和Lisp是最早的两门语言.他们分别是静态类型语言和动态类型语言. 静态类型使得一些工具编译器和ide便于分析代码,找出错误和提供其他服务(优化,重构,等等).动态类型便于

强类型,弱类型,动态类型,静态类型

"C and C++ are considered weakly typed since, due to type-casting, one can interpret a field of a structure that was an integer as a pointer." 我当前使用的开发语言为C/C++,为弱类型语言,主要因为: 1. 一些编程语言(例如C/C++)将指针暴露为数字值,并允许用户对它们执行算术运算.这些语言有时被称为"弱类型",因为指针

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

收集了一些关于编程语言分类的文章: 一. 作者:rainoftime链接:https://www.zhihu.com/question/19918532/answer/21647195来源:知乎 类型系统的一些概念,众说纷纭,使用上也比较乱.有些东西,甚至不好严格定义.以下算学术界的一种相对"严格"的说法. 1. 先定义一些基础概念 Program Errors trapped errors.导致程序终止执行,如除0,Java中数组越界访问 untrapped errors. 出错后继

什么是编程语言的强类型,弱类型

给你来个例子把 弱类型语言vbs: a=1 b=a+"1"+"a" //结果是11a,这里 a 成了字符串 c=a+1 //结果是2 ,这里a则是数字型 强类型语言:c# int a=2 string b=a.ToString()+"1"+"a" int c=a+1 看到了吗?区分大小写,需要实现申明类型外,一个重要的区别是,弱类型的语言的东西没有明显的类型,他能随着环境的不同,自动变换类型 而强类型则没这样的规定,不同类型间

强类型和弱类型

强类型 对应弱类型弱类型就是没指明类型  赋值的时候才决定类型例子:var x;你可以给x赋予任何对象. 不过C#也不是“绝对”的强类型语言,因为它也有弱类型,那就是Object.我们知道Object是所有类型的最终基类,任何类型的对象都可以使用Object来引用 强类型就是 声明的时候 必须制定其类型 这样保证了 类型安全例如 string x; 你只能赋予x string 类型 或者其子类  否则必须给予显式转型 好处: 能够享受代码提示功能 能够获得重构工具的支持 能够在编译期发现更多错误

[转]c# 泛类型(泛型) 以及强类型与弱类型的 理解及优化

[泛型的概念](1)没有泛型的时候,所有的对象都是以object为基础,如果要使用时必须进行强制类型转换,如果对于值类型,则会导致不断拆箱装箱的过程,对系统消耗很大.(2)使用泛型时不需要通过object类进行装箱拆箱,使用的时候都会是确定的类型.(3)泛型的概念一开始是由集合引入,因为集合中的类型都是基于object类.可以在集合中使用泛型类.(4)泛型不仅仅用于集合,还可以用于委托.接口和方法.泛型的优点:高性能ArrayList list1 = new ArrayList();list1.

强类型 和 弱类型

完全的面向对象要求对象是强类型的.强类型是在编译的时候就确定类型的数据,在执行时类型不能更改,而弱类型在执行的时候才会确定类型. 强类型安全,因为它事先已经确定好了,而且效率高.一般用于编译型编程语言,如 C++, Java, C#, Pascal 等. 弱类型相比而言不安全,在运行的时候容易出现错误,但它灵活,多用于解释型编程语言,如 Javascript, VB 等. 弱类型的轻量化是以牺牲开发的方便性和效率为基础的.它将一部分机器能完成的事情移到程序员来完成.例如开发同样一个功能,如果用

强类型,弱类型和推断类型

一.强类型 在编译时就知道的类型.如: int i=1; 能点出来的也是强类型. 二.弱类型 在运行时才知道的类型. dynamic dynamic= new ExpandoObject();            dynamic.Name = "张三"; 通过索引器读出来的是弱类型.如:dr["id"]; 三.推断类型 var s="ss"; 反编译后发现s是string类型的.说明,在编译期间已经知道了类型.所以,var类型是强类型. var

MVC强类型和弱类型的区别

1 强类型的处理 首先必须要有一个对象的实体类,UserINfo就是一个实体类,如下: public class UserInfo() { public  int Id{set;get;} public string UserName{set;get;} public int UserAge{setl;get;} } 调用这个实体类的Action如下: public ActionResult QiangLeiXing() { UserInfo userinfo=new UserInfo(); u