zoukankan      html  css  js  c++  java
  • Python 是什么语言

    Python 是 解释型语言,强类型定义语言,动态类型定义语言

    编译型语言 & 解释型语言

    编译型语言:代码在执行前,需要编译(成机器语言文件,如 .exe 文件);以后再运行时,直接使用编译后的文件(如 .exe 文件)

    # 1. Java、C++ 等属于编译型语言
    
    # 2. 一次性的编译成平台相关的机器语言文件,运行时脱离开发环境,运行效率高
    
    # 3. 与特定平台相关,一般无法移植到其他平台
    
    # 4. 与其他编译型语言相比,Java 程序能够做到一次编译,处处运行,跨平台性非常强
    # 是因为对 Java 程序而言,只认识一种操作系统,这个系统就是 JVM,字节码文件(扩展名为 .class 的文件) 就是 JVM 的可执行文件
    # 所以 Java 程序并不理会真正执行哪个平台,只要知道如何执行于 JVM 就可以了,至于 JVM 实际上如何与底层平台沟通,那是 JVM 自己的事,
    # JVM 实际上相当于 Java 程序的操作系统,JVM 就负责了 Java 程序的各种资源管理
    
    # ========== 关于 Java 总结 ======== # 
    ## 一. JVM 就是 Java 程序的操作系统,JVM 的可执行文件就是 .class 文件
    ## 二. Java 虚拟机屏蔽了操作系统之间的差异,但是不同的系统使用的虚拟机不同。
    

    解释型语言:代码在执行时,才被解释器一行行动态翻译(成机器语言)和执行;以后再运行时,还需逐行动态翻译和执行

    # 1.Python 属于解释型语言
    
    # 2.解释型语言每次运行都需要将源代码解释称机器码并执行,效率较低
    
    # 3.只要平台提供相应的解释器,就可以运行源代码,所以可以方便源程序移植
    
    # 4.所以 Python 会有胶水语言之称
    

    动态类型语言 & 静态类型语言

    动态类型语言:在运行时检查类型的语言,即动态类型语言

    # Python、PHP 是动态类型语言
    
    # EXAMPLE:
    >>> a = 1
    >>> type(a)
    <type 'int'>
    >>> a = "s"
    >>> type(a)
    <type 'str'>
    

    静态类型语言:在编译时检查类型的语言,即静态类型语言

    # Java、C、C++ 是动态类型语言
    
    # EXAMPLE:
    Prelude> let a = "123" :: Int
    
    <interactive>:2:9:
        Couldn't match expected type `Int' with actual type `[Char]'
        In the expression: "123" :: Int
        In an equation for `a': a = "123" :: Int
    

    强类型语言 & 弱类型语言

    强类型语言:如果一门语言很少隐式转换类型,即强类型语言

    # Python、Java 是强类型语言
    
    # EXAMPLE:
    >>> 1+"2"	# 会报 TypeError 错误
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: unsupported operand type(s) for +: 'int' and 'str'
    

    弱类型语言:如果一门语言经常隐式转换类型,即弱类型语言

    # PHP、JavaScript、Perl 是弱类型语言
    
    # EXAMPLE:
    > "1"+2
    '12'
    
  • 相关阅读:
    two pointers思想 ---- 利用两个i, j两个下标,同时对序列进行扫描,以O(n)复杂度解决问题的一种思想
    二分法
    区间贪心
    error C2825: '_Iter': 当后面跟“::”时必须为类或命名空间 -- 原因可能是参数错误或者自定义函数名和库函数名冲突
    模态窗口的定时关闭
    数据结构(二十二)二叉树遍历算法的应用与二叉树的建立
    数据结构(二十一)二叉树的非递归遍历算法
    数据结构(二十)二叉树的递归遍历算法
    数据结构(十九)二叉树的定义和性质
    数据结构(十八)树的定义与存储结构
  • 原文地址:https://www.cnblogs.com/zzzwqh/p/14127111.html
Copyright © 2011-2022 走看看