精华内容
下载资源
问答
  • python语言介绍

    万次阅读 多人点赞 2018-11-15 21:11:02
    Python是一种动态的、面向对象的脚本语言,最初被设计用于编写... 自从20世纪90年代初Python语言诞生至今,它已被逐渐广泛应用于系统管理任务的处理和Web编程。 Python的创始人为Guido van Rossum。1989年圣诞节...

           Python是一种动态的、面向对象脚本语言最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。

    发展历程

           自从20世纪90年代初Python语言诞生至今,它已被逐渐广泛应用于系统管理任务的处理(shell脚本)Web编程

           Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC 语言的一种继承。之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是因为他是一个叫Monty Python的喜剧团体的爱好者

           ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido 认为是其非开放造成的。Guido 决心在Python 中避免这一错误。同时,他还想实现在ABC 中闪现过但未曾实现的东西。

           就这样,Python在Guido手中诞生了。可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯。

           Python已经成为最受欢迎的程序设计语言之一。自从2004年以后,python的使用率呈线性增长。2011年1月,它被TIOBE编程语言排行榜评为2010年度语言。

           由于Python语言的简洁性、易读性以及可扩展性,在国外用Python做科学计算的研究机构日益增多,一些知名大学已经采用Python来教授程序设计课程。例如卡耐基梅隆大学的编程基础、麻省理工学院的计算机科学及编程导论就使用Python语言讲授。众多开源的科学计算软件包都提供了Python的调用接口,例如著名的计算机视觉库OpenCV、三维可视化库VTK、医学图像处理库ITK。而Python专用的科学计算扩展库就更多了,例如如下3个十分经典的科学计算扩展库:NumPy、SciPy和matplotlib,它们分别为Python提供了快速数组处理、数值运算以及绘图功能。因此Python语言及其众多的扩展库所构成的开发环境十分适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序

           2018年3月,该语言作者在邮件列表上宣布Python 2.7将于2020年1月1日终止支持。用户如果想要在这个日期之后继续得到与Python 2.7有关的支持,则需要付费给商业供应商。

    风格

           Python在设计上坚持了清晰划一的风格,这使得Python成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言

           设计者开发时总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就好了。这在由Tim Peters写的Python格言(称为The Zen of Python)里面表述为:There should be one-- and preferably only one --obvious way to do it. 这正好和Perl语言(另一种功能类似的高级动态语言)的中心思想TMTOWTDI(There's More Than One Way To Do It)完全相反。

           Python的作者有意的设计限制性很强的语法,使得不好的编程习惯(例如if语句的下一行不向右缩进)都不能通过编译。其中很重要的一项就是Python的缩进规则。

           一个和其他大多数语言(如C)的区别就是,一个模块的界限,完全是由每行的首字符在这一行的位置来决定的(而C语言是用一对花括号{}来明确的定出模块的边界的,与字符的位置毫无关系)。这一点曾经引起过争议。因为自从C这类的语言诞生后,语言的语法含义与字符的排列方式分离开来,曾经被认为是一种程序语言的进步。不过不可否认的是,通过强制程序员们缩进(包括if,for和函数定义等所有需要使用模块的地方),Python确实使得程序更加清晰和美观。

    与MATLAB的对比

           说起科学计算,首先会被提到的可能是MATLAB。然而除了MATLAB的一些专业性很强的工具箱还无法被替代之外,MATLAB的大部分常用功能都可以在Python世界中找到相应的扩展库。和MATLAB相比,用Python做科学计算有如下优点:

    ● 首先,MATLAB是一款商用软件,并且价格不菲。而Python完全免费,众多开源的科学计算库都提供了Python的调用接口。用户可以在任何计算机上免费安装Python及其绝大多数扩展库。

    ● 其次,与MATLAB相比,Python是一门更易学、更严谨的程序设计语言。它能让用户编写出更易读、易维护的代码。

    ● 最后,MATLAB主要专注于工程和科学计算。然而即使在计算领域,也经常会遇到文件管理、界面设计网络通信等各种需求。而Python有着丰富的扩展库,可以轻易完成各种高级任务,开发者可以用Python实现完整应用程序所需的各种功能。

    设计定位

           Python的设计哲学是“优雅”、“明确”、“简单”。因此,Perl语言中“总是有多种方法来做同一件事”的理念在Python开发者中通常是难以忍受的。Python开发者的哲学是“用一种方法,最好是只有一种方法来做一件事”。在设计Python语言时,如果面临多种选择,Python开发者一般会拒绝花俏的语法,而选择明确的没有或者很少有歧义的语法。由于这种设计观念的差异,Python源代码通常被认为比Perl具备更好的可读性,并且能够支撑大规模的软件开发。这些准则被称为Python格言。在Python解释器内运行import this可以获得完整的列表。

           Python开发人员尽量避开不成熟或者不重要的优化。一些针对非重要部位的加快运行速度的补丁通常不会被合并到Python内。所以很多人认为Python很慢。不过,根据二八定律,大多数程序对速度要求不高。在某些对运行速度要求很高的情况,Python设计师倾向于使用JIT技术,或者用使用C/C++语言改写这部分程序。可用的JIT技术是PyPy

           Python是完全面向对象的语言。函数、模块、数字、字符串都是对象。并且完全支持继承、重载、派生、多继承,有益于增强源代码的复用性。Python支持重载运算符和动态类型。相对于Lisp这种传统的函数式编程语言,Python对函数式设计只提供了有限的支持。有两个标准库(functools, itertools)提供了Haskell和Standard ML中久经考验的函数式程序设计工具。

           虽然Python可能被粗略地分类为“脚本语言”(script language),但实际上一些大规模软件开发计划例如ZopeMnet及BitTorrent,Google也广泛地使用它。Python的支持者较喜欢称它为一种高级动态编程语言,原因是“脚本语言”泛指仅作简单程序设计任务的语言,如shellscript、VBScript等只能处理简单任务的编程语言,并不能与Python相提并论。

           Python本身被设计为可扩充的。并非所有的特性和功能都集成到语言核心。Python提供了丰富的API和工具,以便程序员能够轻松地使用C语言、C++、Cython来编写扩充模块Python编译器本身也可以被集成到其它需要脚本语言的程序内。因此,很多人还把Python作为一种“胶水语言”(glue language)使用。使用Python将其他语言编写的程序进行集成和封装。在Google内部的很多项目,例如Google Engine使用C++编写性能要求极高的部分,然后用Python或Java/Go调用相应的模块。Python技术手册》的作者马特利(Alex Martelli)说:“这很难讲,不过,2004 年,Python 已在Google 内部使用,Google 召募许多 Python 高手,但在这之前就已决定使用Python,他们的目的是 Python where we can, C++ where we must,在操控硬件的场合使用 C++,在快速开发时候使用 Python。

    执行

           Python在执行时,首先会将.py文件中的源代码编译成Python的byte code(字节码),然后再由Python Virtual Machine(Python虚拟机来执行这些编译好的byte code。这种机制的基本思想跟Java,.NET是一致的。然而,Python Virtual Machine与Java或.NET的Virtual Machine不同的是,Python的Virtual Machine是一种更高级的Virtual Machine。这里的高级并不是通常意义上的高级,不是说Python的Virtual Machine比Java或.NET的功能更强大,而是说和Java 或.NET相比,Python的Virtual Machine距离真实机器的距离更远。或者可以这么说,Python的Virtual Machine是一种抽象层次更高的Virtual Machine。

           基于C的Python编译出的字节码文件,通常是.pyc格式。

           除此之外,Python还可以以交互模式运行,比如主流操作系统Unix/Linux、Mac、Windows都可以直接在命令模式下直接运行Python交互环境。直接下达操作指令即可实现交互操作。

    基本语法

           Python的设计目标之一是让代码具备高度的可阅读性。它设计时尽量使用其它语言经常使用的标点符号和英文单字,让代码看起来整洁美观。它不像其他的静态语言如C、Pascal那样需要重复书写声明语句,也不像它们的语法那样经常有特殊情况和意外。

    缩进

           Python开发者有意让违反了缩进规则的程序不能通过编译,以此来强制程序员养成良好的编程习惯。并且Python语言利用缩进表示语句块的开始和退出(Off-side规则),而非使用花括号或者某种关键字。增加缩进表示语句块的开始,而减少缩进则表示语句块的退出。缩进成为了语法的一部分。例如if语句:

    python3

    if age<21:
        print("你不能买酒。")
        print("不过你能买口香糖。")
    print("这句话在if语句块的外面。")

    根据PEP的规定,必须使用4个空格来表示每级缩进(不清楚4个空格的规定如何,在实际编写中可以自定义空格数,但是要满足每级缩进间空格数相等)。使用Tab字符和其它数目的空格虽然都可以编译通过,但不符合编码规范。支持Tab字符和其它数目的空格仅仅是为兼容很旧的的Python程序和某些有问题的编辑程序。

    控制语句

    if语句,当条件成立时运行语句块。经常与else, elif(相当于else if) 配合使用。

    for语句,遍历列表、字符串、字典、集合等迭代器,依次处理迭代器中的每个元素。(迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值,更迭带入

    while语句,当条件为真时,循环运行语句块。

    try语句,与except,finally配合使用处理在程序运行中出现的异常情况。

    class语句,用于定义类型

    def语句,用于定义函数和类型的方法。

    pass语句,表示此行为空,不运行任何操作。

    assert语句,用于程序调试阶段时测试运行条件是否满足。

    with语句,Python2.6以后定义的语法,在一个场景中运行语句块。比如,运行语句块前加密,然后在语句块运行退出后解密。

    yield语句,在迭代器函数内使用,用于返回一个元素。自从Python 2.5版本以后。这个语句变成一个运算符。

    raise语句,制造一个错误。

    import语句,导入一个模块或包。

    from import语句,从包导入模块或从模块导入某个对象。

    import as语句,将导入的对象赋值给一个变量

    in语句,判断一个对象是否在一个字符串/列表/元组里。

    表达式

    Python的表达式写法与C/C++类似。只是在某些写法有所差别。

    主要的算术运算符与C/C++类似。+, -, *, /, //, **, ~, %分别表示加法或者取正、减法或者取负、乘法、除法、整除、乘方、取补、取余。>>, <<表示右移和左移。&, |, ^表示二进制的AND, OR, XOR运算。>, <, ==, !=, <=, >=用于比较两个表达式的值,分别表示大于、小于、等于、不等于、小于等于、大于等于。在这些运算符里面,~, |, ^, &, <<, >>必须应用于整数。

    Python使用and, or, not表示逻辑运算。

    is, is not用于比较两个变量是否是同一个对象。in, not in用于判断一个对象是否属于另外一个对象。

    Python支持“列表推导式”(list comprehension),比如计算0-9的平方和:

    >>> sum(x * x for x in range(10))
    
    285

    Python使用lambda表示匿名函数。匿名函数体只能是表达式。比如:

    >>> add=lambda x, y : x + y
    
    >>> add(3,2)
    
    5

    Python使用y if cond else x表示条件表达式。意思是当cond为真时,表达式的值为y,否则表达式的值为x。相当于C++和Java里的cond?y:x。

    Python区分列表(list)和元组(tuple,元素组合)两种类型。list的写法是[1,2,3],而tuple的写法是(1,2,3)。可以改变list中的元素,而不能改变tuple。在某些情况下,tuple的括号可以省略。tuple对于赋值语句有特殊的处理。因此,可以同时赋值给多个变量,比如:

    >>> x, y=1,2#同时给x,y赋值,最终结果:x=1, y=2

    特别地,可以使用以下这种形式来交换两个变量的值:

    >>> x, y=y, x #最终结果:y=1, x=2

    Python使用'(单引号)和"(双引号)来表示字符串。与Perl、Unix Shell语言或者Ruby、Groovy等语言不一样,两种符号作用相同。一般地,如果字符串中出现了双引号,就使用单引号来表示字符串;反之则使用双引号。如果都没有出现,就依个人喜好选择。出现在字符串中的\(反斜杠)被解释为特殊字符,比如\n表示换行符。表达式前加r指示Python不解释字符串中出现的\。这种写法通常用于编写正则表达式或者Windows文件路径。

    Python支持列表切割(list slices),可以取得完整列表的一部分。支持切割操作的类型有str, bytes, list, tuple等。它的语法是...[left:right]或者...[left:right:stride]。假定nums变量的值是[1, 3, 5, 7, 8, 13, 20],那么下面几个语句为真:

    nums[2:5] == [5, 7, 8] 从下标为2的元素切割到下标为5的元素,但不包含下标为5的元素。

    nums[1:] == [3, 5, 7, 8, 13, 20] 切割到最后一个元素。

    nums[:-3] == [1, 3, 5, 7] 从最开始的元素一直切割到倒数第3个元素。

    nums[:] == [1, 3, 5, 7, 8, 13, 20] 返回所有元素。改变新的列表不会影响到nums。

    nums[1:5:2] == [3, 7] 从下标为1的元素切割到下标为5的元素但不包含下标为5的元素,且步长为2。

    函数

    Python的函数支持递归、默认参数值、可变参数,但不支持函数重载。为了增强代码的可读性,可以在函数后书写“文档字符串”(Documentation Strings,或者简称docstrings),用于解释函数的作用、参数的类型与意义、返回值类型与取值范围等。可以使用内置函数help()打印出函数的使用帮助。比如:

    >>> def randint(a, b):
    
    ... "Return random integer in range [a, b], including both end points."...
    
    >>> help(randint)
    
    Help on function randint in module __main__:
    
    randint(a, b)
    
    Return random integer inrange[a, b], including both end points.

    对象的方法

    对象的方法是指绑定到对象的函数。调用对象方法的语法是instance.method(arguments)。它等价于调用Class.method(instance, arguments)。当定义对象方法时,必须显式地定义第一个参数,一般该参数名都使用self,用于访问对象的内部数据。这里的self相当于C++, Java里面的this变量,但是我们还可以使用任何其它合法的参数名,比如this 和 mine 等,self与C++,Java里面的this不完全一样,它可以被看作是一个习惯性的用法,我们传入任何其它的合法名称都行,比如:

    class Fish:
        def eat(self,food):
            if food is not None:
            self.hungry=False
    
    class User:
        def__init__(myself,name):
            myself.name=name
    
    #构造Fish的实例:
    f=Fish()
    #以下两种调用形式是等价的:
    Fish.eat(f,"earthworm")
    f.eat("earthworm")
    u=User('username')
    print(u.name)

    Python认识一些以“__”开始并以“__”结束的特殊方法名,它们用于实现运算符重载和实现多种特殊功能。

    类型

    Python采用动态类型系统。在编译的时候,Python不会检查对象是否拥有被调用的方法或者属性,而是直至运行时,才做出检查。所以操作对象时可能会抛出异常。不过,虽然Python采用动态类型系统,它同时也是强类型的。Python禁止没有明确定义的操作,比如数字加字符串。

    与其它面向对象语言一样,Python允许程序员定义类型。构造一个对象只需要像函数一样调用类型即可,比如,对于前面定义的Fish类型,使用Fish()。类型本身也是特殊类型type的对象(type类型本身也是type对象),这种特殊的设计允许对类型进行反射编程。

    Python内置丰富的数据类型。与Java、C++相比,这些数据类型有效地减少代码的长度。下面这个列表简要地描述了Python内置数据类型(适用于Python 3.x):

    类型

    描述

    例子

    备注

    str

    一个由字符组成的不可更改的有序串行。

    'Wikipedia'

    "Wikipedia"

    """Spanning

    multiple

    lines"""

    在Python 3.x里,字符串由Unicode字符组成

    bytes

    一个由字节组成的不可更改的有序串行。

    b'Some ASCII'

    b"Some ASCII"

     

    list

    可以包含多种类型的可改变的有序串行

    [4.0, 'string', True]

     

    tuple

    可以包含多种类型的不可改变的有序串行

    (4.0, 'string', True)

     

    set, frozenset

    与数学中集合的概念类似。无序的、每个元素唯一。

    {4.0, 'string', True}

    frozenset([4.0, 'string', True])

     

    dict

    一个可改变的由键值对组成的无序串行。

    {'key1': 1.0, 3: False}

     

    int

    精度不限的整数

    42

     

    float

    浮点数。精度与系统相关。

    3.1415927

     

    complex

    复数

    3+2.7j

     

    bool

    逻辑值。只有两个值:真、假

    True

    False

     

    除了各种数据类型,Python语言还用类型来表示函数、模块、类型本身、对象的方法、编译后的Python代码、运行时信息等等。因此,Python具备很强的动态性。

    数学运算

    Python使用与C、Java类似的运算符,支持整数与浮点数的数学运算。同时还支持复数运算与无穷位数(实际受限于计算机的能力)的整数运算。除了求绝对值函数abs()外,大多数数学函数处于math和cmath模块内。前者用于实数运算,而后者用于复数运算。使用时需要先导入它们,比如:

    >>> import math

    >>> print(math.sin(math.pi/2))

    1.0

    fractions模块用于支持分数运算;decimal模块用于支持高精度的浮点数运算。

    Python定义求余运行a % b的值处于开区间[0, b)内,如果b是负数,开区间变为(b, 0]。这是一个很常见的定义方式。不过其实它依赖于整除的定义。为了让方程式:b * (a // b) + a % b = a恒真,整除运行需要向负无穷小方向取值。比如7 // 3的结果是2,而(-7) // 3的结果却是-3。这个算法与其它很多编程语言不一样,需要注意,它们的整除运算会向0的方向取值。

    Python允许像数学的常用写法那样连着写两个比较运行符。比如a < b < c与a < b and b < c等价。C++的结果与Python不一样,首先它会先计算a < b,根据两者的大小获得0或者1两个值之一,然后再与c进行比较。

    帮助

    1. 列出模块中的函数

    用import导出模块后,可使用函数dir(m)列出模块的所有函数,import是导出模块的命令,m是模块名。
    例子:

    >>>import math    
    >>>dir(math)
    ['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']

    这个例子列出math模块的一些函数,以双下划线( _ _ )开头的名称用于较复杂的python编程。

    2.查看完整的python内置函数清单

    查看完整的python内置函数清单,可在提示符后输入 >>>dir(_ _builtins_ _)。

    例子:

    1

    2

    3

    >>> dir(__builtins__)

     

    ['ArithmeticError''AssertionError''AttributeError''BaseException''BlockingIOError''BrokenPipeError''BufferError''BytesWarning''ChildProcessError''ConnectionAbortedError''ConnectionError''ConnectionRefusedError''ConnectionResetError''DeprecationWarning''EOFError''Ellipsis''EnvironmentError''Exception''False''FileExistsError''FileNotFoundError''FloatingPointError''FutureWarning''GeneratorExit''IOError''ImportError''ImportWarning''IndentationError''IndexError''InterruptedError''IsADirectoryError''KeyError''KeyboardInterrupt''LookupError''MemoryError''ModuleNotFoundError''NameError''None''NotADirectoryError''NotImplemented''NotImplementedError''OSError''OverflowError''PendingDeprecationWarning''PermissionError''ProcessLookupError''RecursionError''ReferenceError''ResourceWarning''RuntimeError''RuntimeWarning''StopAsyncIteration''StopIteration''SyntaxError''SyntaxWarning''SystemError''SystemExit''TabError''TimeoutError''True''TypeError''UnboundLocalError''UnicodeDecodeError''UnicodeEncodeError''UnicodeError''UnicodeTranslateError''UnicodeWarning''UserWarning''ValueError''Warning''WindowsError''ZeroDivisionError''_''__build_class__''__debug__''__doc__''__import__''__loader__''__name__''__package__''__spec__''abs''all''any''ascii''bin''bool''bytearray''bytes''callable''chr''classmethod''compile''complex''copyright''credits''delattr''dict''dir''divmod''enumerate''eval''exec''exit''filter''float''format''frozenset''getattr''globals''hasattr''hash''help''hex''id''input''int''isinstance''issubclass''iter''len''license''list''locals''map''max''memoryview''min''next''object''oct''open''ord''pow''print''property''quit''range''repr''reversed''round''set''setattr''slice''sorted''staticmethod''str''sum''super''tuple''type''vars''zip']

    3. 查看某个函数的文档帮助信息

    可以用函数help(函数)来查看某个函数的文档帮助信息。
    例子:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    >>>help(sum)

     

    Help on built-in function sum in module builtins:

     

    sum(iterable, start=0/)   

           

        Return the sum of a 'start' value (default: 0) plus an iterable of numbers      When the iterable is empty, return the start value.    

           

        This function is intended specifically for use with numeric values and may    reject non-numeric types.

    可以直接在提示符下输入help(),然后输入某个模块或函数名得到详细的帮助信息。

    CGI

    CGI 目前由NCSA维护,NCSA定义CGI如下:

    CGI(Common Gateway Interface),通用网关接口,它是一段程序,运行在服务器上如:HTTP服务器,提供同客户端HTML页面的接口

    CGI程序可以是Python脚本、Perl脚本、Shell脚本、C或者C++程序等。

    服务器

    在你进行CGI编程前,确保您的Web服务器支持CGI及已经配置了CGI的处理程序。

    所有的HTTP服务器执行CGI程序都保存在一个预先配置的目录。这个目录被称为CGI目录,并按照惯例,它被命名为/var/www/cgi-bin目录。

    CGI文件的扩展名为.cgi,python也可以使用.py扩展名。

    默认情况下,Linux服务器配置运行的cgi-bin目录中为/var/www。

    如果想指定的其他运行CGI脚本的目录,可以修改httpd.conf配置文件,如下所示:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    <Directory"/var/www/cgi-bin">

    Allow Override None

    Options ExecCGI

    Order allow,deny

    Allow from all

    </Directory>

    <Directory"/var/www/cgi-bin">

    Options All

    </Directory>

    程序

    使用Python创建第一个CGI程序,文件名为hello.py,文件位于/var/www/cgi-bin目录中,内容如下,修改文件的权限为755:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    #!/usr/bin/env python

    print("Content-type:text/html\r\n\r\n")

    print("<html>")

    print("<head>")

    print("")

    print("</head>")

    print("<body>")

    print("<h2>Hello World! This is my first CGI program</h2>")

    print("</body>")

    print("</html>")

    以上程序在浏览器访问显示结果如下:

    1

    Hello World! This is my first CGI program

    这个的hello.py脚本是一个简单的Python脚本,脚本第一的输出内容"Content-type:text/html\r\n\r\n"发送到浏览器并告知浏览器显示的内容类型为"text/html"。

    环境变量

    所有的CGI程序都接收以下的环境变量,这些变量在CGI程序中发挥了重要的作用: [2] 

    变量名

    描述

    CONTENT_TYPE

    这个环境变量的值指示所传递来的信息的MIME类型。目前,环境变量CONTENT_TYPE一般都是:application/x-www-form-urlencoded,他表示数据来自于HTML表单。

    CONTENT_LENGTH

    如果服务器与CGI程序信息的传递方式是POST,这个环境变量即使从标准输入STDIN中可以读到的有效数据的字节数。这个环境变量在读取所输入的数据时必须使用。

    HTTP_COOKIE

    客户机内的 COOKIE 内容。

    HTTP_USER_AGENT

    提供包含了版本数或其他专有数据的客户浏览器信息。

    PATH_INFO

    这个环境变量的值表示紧接在CGI程序名之后的其他路径信息。它常常作为CGI程序的参数出现。

    QUERY_STRING

    如果服务器与CGI程序信息的传递方式是GET,这个环境变量的值即使所传递的信息。这个信息经跟在CGI程序名的后面,两者中间用一个问号'?'分隔。

    REMOTE_ADDR

    这个环境变量的值是发送请求的客户机的IP地址,例如上面的192.168.1.67。这个值总是存在的。而且它是Web客户机需要提供给Web服务器的唯一标识,可以在CGI程序中用它来区分不同的Web客户机。

    REMOTE_HOST

    这个环境变量的值包含发送CGI请求的客户机的主机名。如果不支持你想查询,则无需定义此环境变量。

    REQUEST_METHOD

    提供脚本被调用的方法。对于使用 HTTP/1.0 协议的脚本,仅 GET 和 POST 有意义。

    SCRIPT_FILENAME

    CGI脚本的完整路径

    SCRIPT_NAME

    CGI脚本的的名称

    SERVER_NAME

    这是你的 WEB 服务器的主机名、别名或IP地址。

    SERVER_SOFTWARE

    这个环境变量的值包含了调用CGI程序的HTTP服务器的名称和版本号。例如,上面的值为Apache/2.2.14(Unix)

    以下是一个简单的CGI脚本输出CGI的环境变量:

    1

    2

    3

    4

    5

    6

    #!/usr/bin/python

    import os

    print"Content-type:text/html\r\n\r\n"

    print"Environment"

    for param in os.environ.keys():

        print"<b>%20s</b>:%s<\br>" %(param,os.environ[param])

    特点

    优点

    简单:Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。

    易学:Python极其容易上手,因为Python有极其简单的说明文档。

    速度快:Python 的底层是用 C 语言写的,很多标准库和第三方库也都是用 C 写的,运行速度非常快。

    免费、开源:Python是FLOSS(自由/开放源码软件)之一。使用者可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。

    高层语言:用Python语言编写程序的时候无需考虑诸如如何管理你的程序使用的内存一类的底层细节。

    可移植性:由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE、PocketPC、Symbian以及Google基于linux开发的android平台。

    解释性:一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。

    运行程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行 程序。

    在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。这使得使用Python更加简单。也使得Python程序更加易于移植。

    面向对象:Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。

    可扩展性:如果需要一段关键代码运行得更快或者希望某些算法不公开,可以部分程序用C或C++编写,然后在Python程序中使用它们。

    可嵌入性:可以把Python嵌入C/C++程序,从而向程序用户提供脚本功能。

    丰富的库:Python标准库确实很庞大。它可以帮助处理各种工作,包括正则表达式、文档生成、单元测试线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。

    规范的代码:Python采用强制缩进的方式使得代码具有较好可读性。而Python语言写的程序不需要编译成二进制代码。

    缺点

    单行语句和命令行输出问题:很多时候不能将程序连写成一行,如import sys;for i in sys.path:print i。而perl和awk就无此限制,可以较为方便的在shell下完成简单程序,不需要如Python一样,必须将程序写入一个.py文件。

    独特的语法

    这也许不应该被称为局限,但是它用缩进来区分语句关系的方式还是给很多初学者带来了困惑。即便是很有经验的Python程序员,也可能陷入陷阱当中。

    运行速度慢:这里是指与C和C++相比。

    应用

    系统编程:提供APIApplication Programming Interface应用程序编程接口),能方便进行系统维护和管理,Linux下标志性语言之一,是很多系统管理员理想的编程工具。

    图形处理:有PIL、Tkinter等图形库支持,能方便进行图形处理。

    数学处理:NumPy扩展提供大量与许多标准数学库的接口。

    文本处理:python提供的re模块能支持正则表达式,还提供SGMLXML分析模块,许多程序员利用python进行XML程序的开发。

    数据库编程:程序员可通过遵循Python DB-API(数据库应用程序编程接口)规范的模块与Microsoft SQL Server,Oracle,Sybase,DB2,MySQL、SQLite等数据库通信。python自带有一个Gadfly模块,提供了一个完整的SQL环境。

    网络编程:提供丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。很多大规模软件开发计划例如Zope,Mnet 及BitTorrent. Google都在广泛地使用它。

    Web编程:应用的开发语言,支持最新的XML技术。

    多媒体应用:Python的PyOpenGL模块封装了“OpenGL应用程序编程接口”,能进行二维和三维图像处理。PyGame模块可用于编写游戏软件。

    pymo引擎:PYMO全称为python memories off,是一款运行于Symbian S60V3,Symbian3,S60V5, Symbian3, Android系统上的AVG游戏引擎。因其基于python2.0平台开发,并且适用于创建秋之回忆memories off)风格的AVG游戏,故命名为PYMO。

    黑客编程:python有一个hack的库,内置了你熟悉的或不熟悉的函数,但是缺少成就感。

    用Python写简单爬虫

    首先,要通过urllib2这个Module获得对应的HTML源码。(PS:在python3.3之后urllib2已经不能再用,代之以urllib)

    1

    2

    3

    4

    import urllib2  #调用urllib2  

    url='http://www.baidu.com/s?wd=cloga' #把等号右边的网址赋值给url

    html=urllib2.urlopen(url).read()   #html随意取名 等号后面的动作是打开源代码页面,并阅读

    print html #打印

    通过上面这三句就可以将URL的源码存在content变量中,其类型为字符型。

    接下来是要从这堆HTML源码中提取我们需要的内容。用Chrome查看一下对应的内容的代码(也可以用Firefox的Firebug)。

    可以看到url的信息存储在span标签中,要获取其中的信息可以用正则式。

    工具功能

    Tkinter

    Python默认的图形界面接口。Tkinter是一个和Tk接口的Python模块,Tkinter库提供了对Tk API的接口,它属于Tcl/Tk的GUI工具组。

    PyGTK

    用于python GUI程序开发的GTK+库。GTK就是用来实现GIMP和Gnome的库。

    PyQt

    用于python的Qt开发库。QT就是实现了KDE环境的那个库,由一系列的模块组成,有qt, qtcanvas, qtgl, qtnetwork, qtsql, qttable, qtui and qtxml,包含有300个类和超过5750个的函数和方法。PyQt还支持一个叫qtext的模块,它包含一个QScintilla库。该库是Scintillar编辑器类的Qt接口。

    wxPython

    GUI编程框架,熟悉MFC的人会非常喜欢,简直是同一架构(对于初学者或者对设计要求不高的用户来说,使用Boa Constructor可以方便迅速的进行wxPython的开发)

    PIL

    python提供强大的图形处理的能力,并提供广泛的图形文件格式支持,该库能进行图形格式的转换、打印和显示。还能进行一些图形效果的处理,如图形的放大、缩小和旋转等。是Python用户进行图象处理的强有力工具。

    Psyco

    一个Python代码加速度器,可使Python代码的执行速度提高到与编译语言一样的水平。

    xmpppy

    Jabber服务器采用开发的XMPP协议,Google Talk也是采用XMPP协议的IM系统。在Python中有一个xmpppy模块支持该协议。也就是说,我们可以通过该模块与Jabber服务器通信,是不是很Cool。

    PyMedia

    用于多媒体操作的python模块。它提供了丰富而简单的接口用于多媒体处理(wav, mp3, ogg, avi, divx, dvd, cdda etc)。可在Windows和Linux平台下使用。

    Pmw

    Python megawidgets,Python超级GUI组件集,一个在python中利用Tkinter模块构建的高级GUI组件,每个Pmw都合并了一个或多个Tkinter组件,以实现更有用和更复杂的功能。

    PyXML

    用Python解析和处理XML文档的工具包,包中的4DOM是完全相容于W3C DOM规范的。它包含以下内容:

    xmlproc: 一个符合规范的XML解析器。Expat: 一个快速的,非验证的XML解析器。还有其他和他同级别的还有 PyHtml PySGML。

    PyGame

    用于多媒体开发和游戏软件开发的模块。

    PyOpenGL

    模块封装了“OpenGL应用程序编程接口”,通过该模块python程序员可在程序中集成2D和3D的图形。

    NumPy、NumArray、SAGE

    NumArray是Python的一个扩展库,主要用于处理任意维数的固定类型数组,简单说就是一个矩阵库。它的底层代码使用C来编写,所以速度的优势很明显。SAGE是基于NumPy和其他几个工具所整合成的数学软件包,目标是取代Magma, Maple, Mathematica和Matlab 这类工具。

    MySQLdb

    用于连接MySQL数据库。还有用于zope的ZMySQLDA模块,通过它就可在zope中连接mysql数据库。

    Sqlite3

    用于连接sqlite数据库。
      

    Python-ldap

    提供一组面向对象的API,可方便地在python中访问ldap目录服务,它基于OpenLDAP2.x。

    smtplib

    发送电子邮件。

    ftplib

    定义了FTP类和一些方法,用以进行客户端的ftp编程。如果想了解ftp协议的详细内容,请参考RFC959。

    PyOpenCL

    OpenCL的Python接口,通过该模块可以使用GPU实现并行计算。

    标准库

    Python拥有一个强大的标准库。Python语言的核心只包含数字、字符串、列表、字典、文件等常见类型和函数,而由Python标准库提供了系统管理、网络通信、文本处理、数据库接口、图形系统、XML处理等额外的功能。Python标准库命名接口清晰、文档良好,很容易学习和使用。

    Python社区提供了大量的第三方模块,使用方式与标准库类似。它们的功能无所不包,覆盖科学计算、Web开发、数据库接口、图形系统多个领域,并且大多成熟而稳定。第三方模块可以使用Python或者C语言编写。SWIG,SIP常用于将C语言编写的程序库转化为Python模块。Boost C++ Libraries包含了一组库,Boost.Python,使得以 Python 或 C++ 编写的程序能互相调用。借助于拥有基于标准库的大量工具、能够使用低级语言如C和可以作为其他库接口的C++,Python已成为一种强大的应用于其他语言与工具之间的胶水语言

    Python标准库的主要功能有:

    文本处理,包含文本格式化、正则表达式匹配、文本差异计算与合并、Unicode支持,二进制数据处理等功能

    文件处理,包含文件操作、创建临时文件、文件压缩与归档、操作配置文件等功能

    操作系统功能,包含线程与进程支持、IO复用、日期与时间处理、调用系统函数、写日记(logging)等功能

    网络通信,包含网络套接字,SSL加密通信、异步网络通信等功能

    网络协议,支持HTTP,FTP,SMTP,POP,IMAP,NNTP,XMLRPC等多种网络协议,并提供了编写网络服务器的框架

    W3C格式支持,包含HTML,SGML,XML的处理。

    其它功能,包括国际化支持、数学运算、HASH、Tkinter等

    开发环境

    ●IDLE:Python内置IDE (随python安装包提供)

    ●PyCharm:详见百度百科PyCharm,由著名的JetBrains公司开发,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工 具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。

    ●Komodo和Komodo Edit:后者是前者的免费精简版

    ●Spyder:安装Anaconda自带的高级IDE

    ●PythonWin:ActivePython或pywin32均提供该IDE,仅适用于Windows

    ●SPE(Stani's Python Editor):功能较多的自由软件,基于wxPython

    ●Ulipad:功能较全的自由软件,基于wxPython;作者是中国Python高手limodou

    ●WingIDE:可能是功能最全的IDE,但不是自由软件(教育用户和开源用户可以申请免费key)

    ●Eric:基于PyQt的自由软件,功能强大。全名是:The Eric Python IDE

    ●DrPython

    PyScripter:使用Delphi开发的轻量级的开源Python IDE, 支持Python2.6和3.0。

    PyPE:一个开源的跨平台的PythonIDE。

    bpython: 类Unix操作系统下使用curses库开发的轻量级的Python解释器。语法提示功能。

    ●eclipse + pydev插件:方便调试程序

    ●emacs:自带python支持,自动补全、refactor等功能需要插件支持

    Vim: 最新7.3版编译时可以加入python支持,提供python代码自动提示支持

    ●Visual Studio 2003 + VisualPython:仅适用Windows,已停止维护,功能较差

    SlickEdit

    Visual Studio 2010 + Python Tools for Visual Studio

    TextMate

    ●Netbeans IDE

    Sublime

    ●ipython

    另外,诸如Notepad++EditPlusUltraEdit等通用的程序员文本编辑器软件也能对Python代码编辑提供一定的支持,比如代码自动着色、注释快捷键等,但是否够得上集成开发环境的水平,尚有待评估。

    解释器

    Python是一门跨平台的脚本语言,Python规定了一个Python语法规则,实现了Python语法的解释程序就成为了Python的解释器

    CPython(ClassicPython,也就是原始的Python实现,需要区别于其他实现的时候才以CPython称呼;或解作C语言实现的Python)。这是最常用的Python版本。

    Jython(原名JPythonJava语言实现的Python,现已正式发布)。Jython可以直接调用Java的各种函数库。

    PyPy(使用Python语言写的Python

    IronPython面向.NET和ECMA CLI的Python实现)。IronPython能够直接调用.net平台的各种函数库。可以将Python程序编译成.net程序。

    ZhPy(周蟒)(支持使用繁/简中文语句编写程序的Python语言

    著名应用

    Pylons-Web应用框架

    Zope- 应用服务器

    Plone- 内容管理系统

    Django- 鼓励快速开发的Web应用框架

    Uliweb- 国人开发的轻量级Web框架

    TurboGears- 另一个Web应用快速开发框架

    Twisted--Python的网络应用程序框架

    Python Wikipedia Robot Framework- MediaWiki的机器人程序

    MoinMoinWiki- Python写成的Wiki程序

    flask- Python 微Web框架

    tornado- 非阻塞式服务器

    Webpy- Python 微Web框架

    Bottle- Python 微Web框架

    EVE- 网络游戏EVE大量使用Python进行开发

    Reddit - 社交分享网站

    Dropbox - 文件分享服务

    TurboGears - 另一个Web应用快速开发框架

    Fabric - 用于管理成百上千台Linux主机的程序库

    Trac - 使用Python编写的BUG管理系统

    Mailman - 使用Python编写的邮件列表软件

    Mezzanine - 基于Django编写的内容管理系统

    Blender - 以C与Python开发的开源3D绘图软件

    展开全文
  • python语言的特点 Python 的特点 Python 是一种面向对象、解释型、弱类型的脚本语言,它也是一种功能强大而完善的通用型语言。 相比其他编程语言(比如 Java),Python 代码非常简单,上手非常容易。比如我们要...

    python与人工智能

    什么是人工智能

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    视频
    阿里菜鸟无人仓
    -科技-高清完整正版视频在线观看-优酷
    https://v.youku.com/v_show/id_XMzgwMDEyOTE5Mg==.html?spm=a2h0k.11417342.soresults.dtitle

    在不远的将来
    机器人将会为人类提供各方位的服务
    替代掉劳动力型,计算型,创建型,检察型等种类型的工作岗位
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    人工智能的应用

    人工智能的应用

    无人超市

    无人驾驶

    人机配合仓库管理

    无人工厂

    下棋机器人

    智能语音识别

    写诗机器人,小冰

    歌手机器人,洛天依

    养老机器人

    等等。。。

    人工智能与python的关联

    人工智能掀起了世界的新一波科技浪潮,如今,你要是不懂点AI、机器学习和python都不好意思说你是现代人。

    那么Python究竟和人工智能什么关系,为什么人工智能把Python也给带火了?

    今天就给大家简单介绍下Python和人工智能的关系及应用,以及想要学人工智能的你,究竟需要学些什么Python的知识,先来上两张图人工智能和Python的图。

    在这里插入图片描述

    在这里插入图片描述

    从上图可以看出,人工智能包含常用机器学习和深度学习两个很重要的模块,而下图中Python拥有matplotlib、Numpy、sklearn、keras等大量的库,像pandas、sklearn、matplotlib这些库都是做数据处理、数据分析、数据建模和绘图的库,基本上机器学习中对数据的爬取(scrapy)、对数据的处理和分析(pandas)、对数据的绘图(matplotlib)和对数据的建模(sklearn)在Python中全都能找到对应的库来进行处理。

    所以,要想学习AI而不懂Python,那就相当于想学英语而不认识单词,所以,Python学起来吧。

    那么要想学人工智能,想学Python,那些东西要学习呢,下面给大家简单介绍下:

    首先,你要学Python如何爬取数据,你要做数据分析、数据建模,起码你要有数据,这些数据来源有多种方法,但是很多都来自网络,这就是爬虫。

    爬虫:requests、scrapy、selenium、beautifulSoup,这些库都是写网络爬虫需要使用到的,好好掌握这些东西,数据就有了。

    然后,有了数据就可以进行数据处理和分析了,这个时候,你需要用到数据处理的一些库

    数据处理:Numpy、scipy、pandas、matplotlib,这些库分别可以进行矩阵计算、科学计算、数据处理、绘图等操作,有了这些库,你就可以一步步开始把数据处理成你需要的格式。

    接着,数据符合你的格式以后,你就需要利用这些数据进行建模了,这个时候你用到的库也有很多。

    建模:nltk、keras、sklearn,这些库主要是用于自然语言处理、深度学习和机器学习的,把这些用好了,你的模型就构建出来了。

    最后,如果你的项目是基于Python开发的线上系统,你还可以学一学Python的Web开发,这样,你做的模型还能直接用在线上系统。

    Web开发:django、flask、tornado,这些库搞明白了,你Web开发也就搞定了。

    以上只是你入门要学习人工智能所要掌握的一些基本的库,要想真正使用起来,你可能需要花费很多时间去研究和学习这里面的每一个细节。

    不过,有句话叫**“人生苦短,我用Python”**,之所以这么说是因为Python在实现各个功能的时候要远比其他语言简练的多,很多功能在Python中只需要一行代码搞定,但是在Java中你可能需要写好多好多代码才能实现

    编程代码量pk

    python与java代码量,1:5
    例子:下面是对比程序了(计算出1~100中7的倍数已经数字中带7 的数):

    c 代码
    在这里插入图片描述

    java代码
    在这里插入图片描述

    python代码

    print([x for x in range(1,101) if x%7 == 0])
    

    运行结果

    [7, 14, 21, 28, 35, 42, 49, 56, 63, 70, 77, 84, 91, 98]
    

    市场热度

    python编程语言 vs java编程语言
    之所以比较java语言,因为它是编程排行傍常年位居榜首的语言
    看图识别
    2017年7月左右市场热度反超java语言并且差距渐渐拉大
    在这里插入图片描述

    python语言应用领域

    谷歌:Google App Engine、code.Google.com、Google earth、谷歌爬虫、Google广告等项目都在大量使用Python开发

    CIA:美国中情局网站就是用Python开发的

    NASA:美国航天局(NASA)大量使用Python进行数据分析和运算

    YouTube:世界上最大的视频网站YouTube就是Python开发的

    Dropbox:美国最大的在线云存储网站,全部用Python实现,每天网站处理10亿个文件的上传和下载

    Instagram:美国最大的图片分享社交网站,每天超过3千万张照片被分享,全部用Python开发

    Facebook:大量的基础库均通过Python实现的

    Redhat:世界上最流行的Linux发新版本中的yum包管理工具就是用Python开发的

    豆瓣:公司几乎所有的业务均是通过Python开发的

    知乎:国内最大的问答社区,通过Python开发(Quora)

    春雨医生:国内知名的在线医疗网站是用Python开发的

    除上面之外,还有搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝、土豆、新浪、果壳等公司都在使用Python完成各种各样的任务。

    python语言的特点

    Python 的特点
    Python 是一种面向对象、解释型、弱类型的脚本语言,它也是一种功能强大而完善的通用型语言。

    相比其他编程语言(比如 Java),Python 代码非常简单,上手非常容易。比如我们要完成某个功能,如果用 Java 需要 100 行代码,但用 Python 可能只需要 20 行代码,这是 Python 具有巨大吸引力的一大特点。

    Python 的两大特色是清晰的语法和可扩展性:
    Python 的语法非常清晰,它甚至不是一种格式自由的语言。例如,它要求 if 语句的下一行必须向右缩进,否则不能通过编译。
    Python 的可扩展性体现为它的模块,Python 具有脚本语言中最丰富和强大的类库(这些类库被形象地称为“batteries included ,内置电池”),这些类库覆盖了文件 I/O、GUI、网络编程、数据库访问、文本操作等绝大部分应用场景。

    此外,Python 的社区也很发达,即使一些小众的应用场景,Python 往往也有对应的开源模块来提供解决方案。

    Python 作为一门解释型的语言,它天生具有跨平台的特征,只要为平台提供了相应的 Python 解释器,Python 就可以在该平台上运行。
    解释型语言几乎天然是跨平台的。

    国家重视

    1 python编程语言已明确会加入中小学课程

    在这里插入图片描述

    2 纳入高考

    高考新宠
    在高考更改之前,提起编程,人们可能更多的会想起c语言之类的。
    然而,高考更始之后,Python这门编程说话一夜之间传进了千家万户。
    现实上,在IEEE(美国电气电子工程师学会出书的旗舰杂志)公布的2017年编程说话排行榜中,Python高居首位,成为最受接待的适用编程说话。
    那么问题来了,为什么连高考都必定要考Python呢?

    五大理由告诉你
    1、易学
    良多人可能都市认为高考考Python是在开玩笑!
    Python是不是很难?
    其实恰恰相反,得益于简单的语法,Python极其随意上手。
    轨范圈中就不息流穿着一句话“人生苦短,我用 Python”
    所以,不要感受Python高不成攀,其实Python相称“驯良可掬”。

    2、高效
    Python虽然不复杂,可是它的标准库很复杂,它可以辅佐各类工作。
    精练的几行代码就可以处理一个问题,非常牛逼。

    3、应用广
    Python经由十多年的生长,能支撑的规模很是泛博,按照《Python进修手册》作者的说法,Python可以从支撑航空航天器体系的开发到小游戏开发的几乎所有的规模。
    这是个什么概念呢?简单点说就是:python是个万金砖,哪里必要往哪搬!任何体系的开发都可以!

    4、跨平台
    Python是脚本语言,没必要编译,它的实行只跟诠释器有关。同样的代码不必要改动也经验在其它系统上运行。
    对,它不仅什么体系都能开发,并且什么系统都能把持!

    5、扩展性
    Python常被昵称为胶水语言,可以把用其他语言建造的各类模块(尤其是C/C++)很轻松地联络在一起。
    比如3D游戏中的图形衬着模块,机能要求特别高,就可以用C/C++重写,此后封装为Python可以挪用的扩展类库。这也是人工智能的必备知识。

    3 纳入国家计算机等级考试

    在这里插入图片描述

    python证书

    在这里插入图片描述

    学习python语言的注意

    • 了解并重视python
    • 明确python的本质,它是高级编程语言,最易学习的编程语言
    • 勤学习,勤练习
    • 常用英语的记忆
    • 相信自己
    展开全文
  • 由于整个python语言从规范到解释器都是开源的,所以理论上,只要水平够高,任何人都可以编写python解释器来执行python代码(当然难度很大)。 事实上,确实存在多种python解释器。 cpython当我们从python官方网站...

    o55g08d9dv.jpg广告关闭

    腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元!

    38y6w4n38u.png

    由于整个python语言从规范到解释器都是开源的,所以理论上,只要水平够高,任何人都可以编写python解释器来执行python代码(当然难度很大)。 事实上,确实存在多种python解释器。 cpython当我们从python官方网站下载并安装好python 2.7后,我们就直接获得了一个官方版本的解释器:cpython。 这个解释器是用c语言开发...

    因为python有好几种解释器,分别基于不同语言开发,每个解释器特点不同,但都能正常运行我们的python代码,下面分别来看下: #cpython:cpython是使用最广且被的python解释器。 本教程以cpython为准。 当我们从python官方网站下载并安装好python 2.7后,我们就直接获得了一个官方版本的解释器:cpython。 这个解释器...

    ap8bqbij31.jpeg

    这节课我们一起来学习,如何将 python下载和安装到自己的电脑。 亲自动手,安装和运行python几项约定:本课程讲解的所有内容默认在 windows 中进行。 我们将下载、安装、运行的python版本为windows版。 python2和python3是有差别的,本课程推荐和使用python3。 1、注意事项:建议到python官方网站(https:www.python...

    python简介python是著名的"龟叔”guido van rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言,python官方网站 。 python是一种计算机程序设计语言。 你可能已经听说过很多种流行的编程语言,比如非常难学的c语言,非常流行的java语言,适合初学者的basic语言,适合网页编程的javascript语言 ...

    j5fi2qi2yl.jpeg

    机器之心报道机器之心编辑部作为目前最为流行的编程语言,python 的出现让计算机编程不再是生僻的专业技能,而是常人都能学习和使用的万金油,它也是人工智能领域里最为常用的语言之一。 不过在三个月内,python 或许要经历史上最大的一次变化。? 昨天,python 官方网站的一纸声明《python 2 的落幕》引发了人们的...

    由于整个python语言从规范到解释器都是开源的,所以理论上,只要水平够高,任何人都可以编写python解释器来执行python代码(当然难度很大)。 事实上,确实存在多种python解释器。 cpython 当我们从python官方网站下载并安装好python 2.7后,我们就直接获得了一个官方版本的解释器:cpython。 这个解释器是用c语言...

    p1f0zlq3iu.png

    在linux电脑上安装python,ipython,pycharm专业版本软件; (1)在python官方网站上下载所安装包(2)安装安装python# yum install python -y#安装源在镜像文件 中,需配置yum源 ? 安装ipython得到了ipython及依赖性软件,放在目录中# yum install * -y ? 得到pycharm专业版本软件的压缩包# tar xf pycharm-professional...

    一个python解释器进程内有一条主线程,以及多条用户程序的执行线程。 即使在多核cpu平台上,由于gil的存在,所以禁止多线程的并行执行。 关于这个问题的折衷解决方法,我们在以后线程和进程章节里再进行详细探讨。 python解释器cpython当我们从python官方网站下载并安装好python 2.7后,我们就直接获得了一个官方版本...

    2.1 gil 相关概念gil 全称 global interpreter lock(全局解释器锁),是 python 解释器 cpython 采用的一种机制,通过该机制来控制同一时刻只有一条线程执行 python 字节码,本质是一把全局互斥锁,将并行运行变成串行运行。 什么是 cpython 呢? 我们从 python 官方网站下载安装 python 后,获得的官方解释器就是 ...

    6ug190torh.png

    www.liaoxuefeng.comwiki0014316089557264a6b348958f449949df42a6d3a2e542c0001、python简介python是著名的"龟叔”guido van rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言,python官方网站 。 python是一种计算机程序设计语言。 你可能已经听说过很多种流行的编程语言,比如非常难学的c语言...

    ygfizs57yb.jpeg

    正文共:653 字 8 图 预计阅读时间:2 分钟前文推送mit线性代数相关资源汇总pandas可视化(一):pandas.series.plot时间序列基础知识 python官方中文文档地址: https:docs.python.orgzh-cn 中文文档的主页面如下 ? 推测目前还是在翻译进程当中,因此从 python.org 进去可以发现文档支持的语言中并不包含中文。?...

    为什么doc.xpatheval(child::bookstore)doc.xpatheval(descendant::bookstore)doc.freedoc()例四:import libxml2doc =libxml2.parsefile(tmpbooks.xml)doc.xpatheval(bookstorebook).contentdoc.xpatheval(bookstorebook)doc.freedoc()2.google的开源项目,python官方网站上推荐的xpath项目,版本为0.1http...

    python3的下载与安装1、首先,从python官方网站:http:python.orggetit,下载windows的安装包ython官网有几个下载文件,有什么区别? python 3. 6. 0a1 - 2016-05-17download windows x86 web-based installerdownload windows x86executable installerdownload windows x86 embeddable zip filedownload windows...

    由于整个python语言从规范到解释器都是开源的,所以理论上,只要水平够高,任何人都可以编写python解释器来执行python代码(当然难度很大)。 事实上,确实存在多种python解释器。 cpython当我们从python官方网站下载并安装好python 3.x后,我们就直接获得了一个官方版本的解释器:cpython。 这个解释器是用c语言开发的...

    时不我待,趁着有精力有兴趣,我要重启学习计划了。 很多人都在问python怎么学习,搞来一堆免费的资料,不知如何下手。 也有人投入大量时间金钱,培训班或者线上课程,却收效甚微。 其实,我们可能忽略了一个学习python的最好的免费老师——python官方网站和文档:https:www.python.org 最开始接触官方网站文档肯定是...

    hwigldbpad.png

    安装成功后,你可以把本地创建好项目直接拖放过来,它会以项目管理的形式展示,你就可以利用它来编写python语言,它对python语言具有语法突显功能,使得阅读代码更方便。 一个python3的软件工作环境,你可以直接去python官方网站上面下载python3系列的软件或者利用anaconda数据科学软件套件包,选择适配你电脑系统和...

    c0dcga3dce.jpeg

    1、下载到python官方网站下载对应版本的python。 python官网:https:www.python.org? 如上图,直接选择windows版本,进入python版本选择页面。? 直接点击这个就可以进入下载页面,选择要下载的系统版本,如下图。 如果要下载往期版本,那么在这个页面直接下拉查找即可。 如下页面即为2. 7.15版本对应的操作系统,下载...

    python的获取: 方式一:python官方网站获取 方式二:小蓝枣的资源仓库,提取码:ru99 官网下的可能有点慢,可以在我的资源仓库获取。 说明: 这里的64不是指通常的64位,虽然我的操作系统是64位的,但是我的指令集是em64t的,所以我下载x86的,如果细心的你点下载x86-64后你就会发现64后面多个amd,虽然基础的使用很...

    缺点运行速度较c和java相比较慢。 不可加密。 由于gil锁的存在,python的线程无法利用多cpu。 需要解释器支持才可执行。 解释器种类 cpython 当我们从python官方网站下载并安装好python 3.6后,我们就直接获得了一个官方版本的解释器:cpython。 这个解释器是用c语言开发的,所以叫cpython。 在命令行下运行python...

    第2题:python解释器种类以及特点? python 当 从python官方网站下载并安装好python2.7后,就直接获得了一个官方版本的解释器:cpython,这个解释器是用c语言开发的,所以叫 cpython,在命名行下运行python,就是启动cpython解释器,cpython是使用最广的python解释器。 ipython ipython是基于cpython之上的一个交互式...

    展开全文
  • Python语言概述及其运行机制详解

    千次阅读 多人点赞 2019-12-18 09:41:30
    Python语言简介、Python语言的特点与不可忽视的问题、Python程序运行机制详解、深入理解 ‘解释与编译’、Python解释器、Python 解释器的几种实现版本

    即日起,我们将打开一个新的编程世界的大门——Python语言。Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。

    首先声明,Python系列博文将参考大量的优秀书籍、网站和博文,博主对其进行精心整理总结,并与大家分享之。Python系列博文包括但不限于以下部分:

    • Python基础语法全体系:基本数据类型、组合数据类型、程序控制结构、函数式编程、文件IO与文本处理、数据格式化、常用模块、经典题目解析等
    • Python核心编程:面向对象高级编程、异常处理、正则表达式、网络编程、多线程编程、GUI编程、数据库编程等

    博文中有任何错误和不当之处,敬请大家以评论或私信形式告知,谢谢!



    Python语言简介

    Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。

    Python由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年。官方宣布,2020 年1月1日,停止 Python 2 的更新。Python 2.7 被确定为最后一个 Python 2.x 版本。现在 Python 是由一个核心开发团队在维护,Guido van Rossum 仍然占据着至关重要的作用,指导其进展。

    Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言 Python是完全面向对象的语言。函数、模块、数字、字符串都是对象。并且完全支持继承、重载、派生、多继承,有益于增强源代码的复用性。Python支持重载运算符和动态类型。

    Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。

    • Python 是一种解释型语言:这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。
    • Python 是交互式语言:这意味着,我们可以在一个 Python 提示符 >>> 后直接执行代码。
    • Python 是面向对象语言:这意味着Python支持面向对象的风格或代码封装在对象的编程技术。

    Python语言的特点

    1、简单易学、可读性高、语法优美:Python遵循"简单、优雅、明确"的设计哲学。在 Python 语言中,采用缩进来标识代码块,通过减少无用的大括号、语句末尾的分号等视觉杂讯,使得代码的可读性显著提高。阅读一段良好的 Python 程序就感觉像是在读英语一样,能够专注于解决问题而非纠结于繁琐的语法结构。

    2、开发效率高:Python是一种高级语言,相对于C来讲,牺牲了性能而提升了编程人员的效率。它使得程序员可以不用关注底层细节,而把精力全部放在业务逻辑的实现上。

    3、广泛的标准库: Python 语言号称自带电池,寓意是 Python 语言的类库非常的全面,Python的最大的优势之一就是它丰富的库。

    4、强大的第三方库、应用领域广泛:Python社区提供了大量的第三方模块,使用方式与标准库类似。功能涵盖计算机视觉、科学计算、人工智能、机器学习、Web开发、数据库接口、图形系统多个领域。

    5、互动性:互动性的支持,我们可以从终端输入执行代码并获得结果,互动的测试和调试代码片断。

    6、可移植性:基于其开放源代码的特性,Python已经被移植到许多平台。

    7、可扩展性与可嵌入性:如果我们需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,那么可以使用C/C++完成那部分程序,然后从Python程序中进行调用。当然,我们也可以将Python嵌入到C/C++程序中,使程序的用户获得"脚本化"的能力。

    数据库与GUI编程:Python提供所有主要的商业数据库的接口;Python支持GUI可以创建和移植到许多系统调用。


    Python语言不可忽视的问题

    1、运行速度慢:由于Python是解释型语言,程序的代码在执行时会一行一行地翻译成CPU所能理解的机器码,这个翻译过程非常耗时,但是由于C/C++语言是编译型语言,程序直接编译成机器码,因此 Python 的运行速度相比C/C++语言确实慢很多。但其实这里所指的运行速度慢在大多数情况下用户是无法直接感知到的,必须借助专业的测试工具。那么其实对于大多数情况,Python是完全可以满足我们对程序速度的要求的,除非编写对运行效率要求极高的程序。

    2、Python2 与 Python3 不兼容

    3、代码无法加密:对于解释性语言,发布程序,就是发布源代码。对于保密性高的程序,Python语言并不适合。

    4、多线程无法利用多核CPU:Python的线程是操作系统的原生线程。在Linux上为pthread,在Windows上为Win thread,完全由操作系统调度线程的执行。在多核CPU平台上,由于GIL的存在,所以禁止多线程的并行执行。GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念,GIL即全局解释器锁(Global Interpreter Lock),是计算机程序设计语言解释器用于同步线程的工具,使得任何时刻仅有一个线程在执行。


    Python程序运行机制详解

    深入理解 ‘解释与编译’

    我们首先了解一下解释型语言与编译型语言

    计算机程序,其实就是一组计算机指令集,能真正驱动机器运行的是机器指令,但让普通开发者直接编写机器指令是不现实的,因此就出现了计算机高级语言。高级语言允许使用自然语言(通常就是英语)来编程,但高级语言的程序最终必须被翻译成机器指令来执行。

    当然,计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器指令,所以使用任何高级语言编写的程序若想被计算机运行,都必须将其转换成计算机语言,也就是机器指令。而这种转换的方式有两种:编译、解释。高级语言按照计算机执行方式不同可分成两类:静态语言和脚本语言,静态语言采用编译执行,脚本语言采用解释执行。

    编译型语言在程序执行之前,需要一个特定的编译过程,把源代码编译成计算机可以执行机器码,之后直接运行编译后的文件即可。因为只需编译一次,以后运行时不需要编译,所以编译型语言执行效率高。例如C、C++、Go等属于编译型语言。

    编译型语言具有以下特点:

    • 对于相同源代码,编译所产生的目标代码执行速度更快。
    • 与特定平台相关,一般无法移植到其他平台,因此编译型语言的平台移植性并不好。

    解释型语言使用专门的解释器对源程序逐行解释成特定平台的机器码并立即执行。它不需要事先编译,其直接将源代码解释成机器码并立即执行,所以只要某一平台提供了相应的解释器即可运行该程序。Python、Php等属于解释型语言,但Python并不是完全的解释性语言,后续会详述。

    解释型语言具有以下特点:

    • 解释型语言每次运行都需要将源代码解释为机器码并执行,效率较低。
    • 只要平台提供相应的解释器,就可以运行源代码,所以解释性语言的平台移植性较好。
    • 解释执行需要保留源代码,程序纠错和维护十分方便。

    解释和编译的区别在于编译是一次性地翻译,一旦程序被编译,不再需要编译程序或者源代码。解释则在每次程序运行时都需要解释器和源代码。

    编译过程只进行一次,因此,编译过程的速度并不是关键,目标代码的运行速度是关键。因此,编译器一般都集成尽可能多的优化技术,使生成的目标代码具备更好的执行效率。然而,解释器却不能集成太多优化技术,因为代码优化技术会消耗运行时间,使整个程序的执行速度受到影响。

    简单来说,解释执行、逐条运行用户编写的代码,没有纵览全部代码的性能优化过程,因此执行性能略低,但可以支持跨硬件或操作系统平台,保留源代码对升级维护十分有利,适合非性能关键的程序运行场景。

    Python语言是一种被广泛使用的高级通用脚本编程语言,虽采用解释执行的方式,但它的解释器也保留了编译器的部分功能,随着程序运行,解释器也会生成一个完整的目标代码。这种解释器和编译器结合的新解释器是现代脚本语言为了提升计算机性能的一种有益演进。


    Python解释器

    使用C/C++等编译性语言编写的程序,是需要从源文件转换成计算机使用的机器语言,经过链接器链接之后形成了二进制可执行文件。运行该程序的时候,就可以二进制程序从硬盘载入到内存中并运行。

    但是对于Python而言,Python源码不需要编译成二进制代码,它可以直接从源代码运行程序。 Python解释器将源代码转换为字节码,然后把编译好的字节码转发到Python虚拟机(PVM)中进行执行。当我们运行n程序的时候,Python解释器会执行两个步骤:

    1、把源代码编译成字节码。编译后的字节码是特定于Python的一种表现形式,它不是二进制的机器码,需要进一步编译才能被机器执行,这也是Python代码无法运行的像C/C++一样快的原因。如果Python进程在机器上拥有写入权限,那么它将把程序的字节码保存为一个以.pyc为扩展名的文件,如果Python无法在机器上写入字节码,那么字节码将会在内存中生成并在程序结束时自动丢弃。在构建程序的时候最好给Python赋上在计算机上写的权限,这样只要源代码没有改变,生成的.pyc文件可以重复利用,提高执行效率

    2、把编译好的字节码转发到Python虚拟机(PVM)中进行执行。PVM是Python Virtual Machine的简称,它是Python的运行引擎,是Python系统的一部分,它是迭代运行字节码指令的一个大循环,一个接一个地完成操作。

    因此,Python并非完全是解释性语言,它是有编译的,先把源码.py文件编译成.pyc或者.pyo,再由Python的虚拟机执行,相对于py文件来说,编译成.pyc和.pyo本质上和.py没有区别,只是对于这个模块的加载速度提高了,并没有提高代码的执行速度。


    Python 解释器的几种实现版本

    Python解释器有三种主要的实现方式,CPython、Jython和IronPython 三种实现方式 。

    CPython:CPython 是标准的实现,其它的都是有特定目标的。 CPython 是由C语言编写的,它是大多数OS预装的Python解释器,也是所有Python解释器中运行最快、最完整、最健全的

    Jython:Jython 是一种Python语言的替代实现方式,其目的是为了与Java编程语言集成,Jython 包含了Java类,这些类编译Python源代码、形成Java字节码,并将得到的字节码映射到Java虚拟机(JVM)上。因为Jython要比CPython 慢而且也不够健壮,它往往看作是一个主要面向寻找Java代码前端脚本语言的Java开发者的一个有趣的工具。

    IronPython:IronPython 设计的目的是让Python 程序可以与Windows 平台上的.NET 框架以及与之对应的Linux的上开源的Mono编写成的应用集成。
    在这里插入图片描述

    展开全文
  • 本课程讲解Python语言的基础知识,兼顾Python编程的术(语言的知识点)与道(编程思维和方法)。 课程特点: (1) 使用Jupyter Notebook讲解,图文并茂,知识点讲述与代码对应。其文件分享给学员,可作为交互式...
  • python语言属于-python属于哪种语言

    千次阅读 2020-11-01 12:04:45
    python是一种跨平台的计算机程序设计语言python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言,可以应用于科学计算和统计、Web开发、人工智能、桌面界面开发、网络爬虫等领域。Python是一种跨...
  • 第1章 程序设计基本方法 1.1 程序设计语言 1.1.1 程序设计语言概述 1.1.2 编译和解释 1.2 Python语言概述 1.2.1 Python语言的发展 1.2.2 Python 最小程序 1.3 Python开发环境配置 1.3.1 Python开发环境安装 1.3.2 ...
  • Python语言的起源与发展

    千次阅读 2020-03-10 20:37:14
    Python现在是一门非常流行的语言,在编程语言流行排行榜上,长期进入前三名,使用非常普遍。 凡事有果必有因,那么大家有没有思考过Python为什么受欢迎么? 那么我们就从源头上来说说这个事情。 02. Python - ABC...
  • C语言和Python语言有什么区别呢?

    万次阅读 多人点赞 2019-07-29 13:24:00
    最近几年python语言非常受大家欢迎,所以我也想学习了解下python语言,但是学习之前总是有很多疑问。 因为我现在只会汇编和C语言,所有我想在学习它之前先了解一下python和我常用的C语言有什么不一样的地方,有什么...
  • Python语言的特点有哪些Python 是目前最流行的语言之一,从云计算、大数据到人工智能,Python 无处不在,Python 人才需求量也在逐年攀升,Python 为何能发展如此的迅猛,究竟有什么特点呢?Python 语言主要有以下...
  • 【单选题】以下选项中,不符合Python语言变量命名规则的是【多选题】男士在正式场合可以选择的坐姿有( )【填空题】近头者为【单选题】关于 Python 程序格式框架的描述,以下选项中错误的是【单选题】以下选项中不符合 ...
  • 教育部考试中心近日发布了“关于全国计算机等级(NCRE)体系调整”的通知,决定自2018年3月起,在全国计算机二级考试中加入了“Python语言程序设计”科目。 9个月前,浙江省信息技术课程改革方案已经出台,Python...
  • 本课程讲解Python语言高级用法的相关知识,兼顾Python编程的术(语言的知识点)与道(编程思维和程序设计方法)。 课程特点: 本课程采用Python3.7版本讲解,具体内容包括:30个Python进阶知识点、17个常用模块、文件与...
  • CGFT考试中Python语言的学员知识点众多,学员在学习的时候,一定要充分理解才可以。Python语言中数字类型有哪些?现在看小编来总结。1、数字类型概述数字是自然界计数活动的抽象,更是数学运算和推理表示的基础。...
  • c语言主函数名是什么?...python语言不是汇编语言。python是高级语言。Python是一种跨平台的计算机程序设计语言。 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。汇编语言(assembly language)...
  • 找答案真的很辛苦,尤其又不想pay money,于是我找到了 分享给大家!!! 链接:https://pan.baidu.com/s/13J0gmrb7mzpIhRO1KjB_9Q 提取码:sbwm 复制这段内容后打开百度网盘手机App,操作更方便哦 ...
  • Python语言中,实现数据的输出方式有两种:一种是使用print函数;另一种直接使用变量名查看该变量的原始值。 (1) print函数 print函数可以打印输出数据的输出操作,其语法结构如下: print( < expressions >...
  • Python语言特点

    千次阅读 2019-01-10 18:47:11
    Python语言特点Python的显著特征:Python作为编程语言的一些特征: 整理自 https://wiki.python.org/moin/BeginnersGuide/Overview Python是一种简洁又强力的面向对象的计算机编程语言。简洁指其代码风格,Python的...
  • python语言变量命名规则

    千次阅读 2019-11-29 15:46:29
    Python语言变量命名规则 变量名只能包含字母、数字和下划线。(推荐学习:0基础入门python) 变量名可以字母或下划线开头,但不能以数字开头。例如,可将变量命名为message_1,但不能将其命名为1_message。 变量名...
  • Python 语言发展历史

    千次阅读 2017-12-14 14:44:26
    Python 是一门简洁而又强大的编程语言。相信即使是刚接触编程的同学也一定听说过「人生苦短,我用 Python(Life is short. You need Python.)」这句话。目前人工智能越来越火,Python 凭借它扩展性强、第三方库丰富...
  • Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/)是一种广泛使用的解释型、高级编程、通用型编程语言,由吉多·范罗苏姆创造,第一版发布于1991年。可以视之为一种改良(加入一些其他编程语言的优点,...
  • Python是一个非常好用的程序语言,开发的速度非常快。Python的设计哲学是"优雅”、"明确”、"简单”。因此,Perl语言中"...在设计Python语言时,如果面临多种选择,Python开发者一般会拒绝...
  • 题外话:本人毕业不到1年,IT行业菜鸟一枚,但深知在如今竞争激烈的社会下,只有不断学习、应用、积累才能在IT行业中混口饭吃。可是IT涉及的技术非常广。...Python我也是刚学。希望借助博客来督促自己...
  • Python语言是编译型语言还是解释型语言? 我们都知道,编程语言从程序执行过程分,分为编译型语言和解释性语言 什么是编译型语言和解释型语言? Python是一种解释型语言 Python程序源码不需要编译,可以直接从源...
  • 嵩天等程序设计基础(Python语言)习题答案?本书系统地介绍了Python程序设计语言和程序设计的基本方法。从Python语言发展历史、配置环境开始,详细介绍了Python语言的各种数据类型、程序编写方法、图形图像开发和多种...
  • Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言Python的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。Python 是...
  • Java和Python语言比较

    万次阅读 2018-09-09 19:18:59
    背景 作为一个Java老程序员,最实现一个功能,发现了python的实现代码,就直接拿过来用了,在改动的过程中,去官网看了Pyhton的语法,发现了和Java的几点不同,算是...Python是弱类型语言更灵活一些。 结...
  • Python语言编译器与解释器

    千次阅读 2018-10-20 17:02:35
    Python语言是一种解释型、面向对象、动态数据类型的高级程序设计语言。 编译型语言 先整体编译,再执行 运行速度快,任意改动需重新编译 可脱离编译环境运行 解释性语言 边解释,边执行 运行速度慢 部分改动...
  • python语言程序设计基础(嵩天版),第二章程序练习题 2.2汇率兑换程序。按照1美元=6人民币汇率编写一个美元和人民币的双向兑换程序。 """ 2.2汇率兑换程序,美元和人民币 """ a = input("请输入最后带有¥或$符号的...
  • ^___^一个程序员的淘宝店:点击打开链接,助你快速学习python...有人说,python可能是所有语言里面最符合成为人类对编程期待的语言,为什么这么说呢?因为相比于其他语言python开发效率更高、运行速度更快,功能...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 854,039
精华内容 341,615
关键字:

python语言

python 订阅