6.Python简介与语法常识

作者: TensorFlow开发者 | 来源:发表于2018-03-25 01:24 被阅读32次

    Python简介与语法常识

    本文章将简单介绍Python的发展历史和语言特点、语法常识。熟知这些语法常识、语法特点,将有助于提高开发效率。

    总览图
    基础知识

    Python简介

    官方解释:

    Python is an easy to learn, powerful programming language. It has efficient high-level data structures and a simple but effective approach to object-oriented programming. Python’s elegant syntax and dynamic typing, together with its interpreted nature, make it an ideal language for scripting and rapid application development in many areas on most platforms.

    翻译一下:

    Python 是一门简单易学且功能强大的编程语言。它拥有高效的高级数据结构,并且能够用简单而又高效的方式进行面向对象编程。Python 优雅的语法和动态类型,再结合它的解释性,使其在大多数平台的许多领域中成为编写脚本或开发应用程序的理想语言。


    Python由Guido van Rossum(即:传说中的龟叔)于1989年底发明,第一个公开发行版发行于1991年。总之,Python简单易学,语法优雅、功能强大。目前Google都在大规模使用Python,你就不用担心学了会没用。我们先学Python,正是为后期人工智能开发打基础。

    Python当然也有不能干的事情,比如写操作系统,这个只能用C语言写;写手机应用,只能用Swift/Objective-C(针对iOS)和Kotlin/Java(针对Android系统);写3D游戏,最好用C或C++

    Python最大的缺点:运行速度慢。和C程序相比非常慢,因为Python是解释型语言,你的代码在执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程非常耗时,所以很慢。而C程序是运行前直接编译成CPU能执行的机器码,所以非常快。

    但是大量的应用程序不需要这么快的运行速度,因为用户根本感觉不出来。例如开发一个下载MP3的网络应用程序,C程序的运行时间需要0.001秒,而Python程序的运行时间需要0.1秒,慢了100倍,但由于网络更慢,需要等待1秒,你想,用户能感觉到1.001秒和1.1秒的区别吗?这就好比F1赛车和普通的出租车在北京三环路上行驶的道理一样,虽然F1赛车理论时速高达400公里,但由于三环路堵车的时速只有20公里,因此,作为乘客,你感觉的时速永远是20公里。

    Python3 语法常识

    编码

    默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。 当然你也可以为源码文件指定不同的编码。但不推荐。

    标识符

    1.第一个字符必须是字母表中字母或下划线 _ 。
    2.标识符的其他的部分由字母、数字和下划线组成。
    3.标识符对大小写敏感,即:Python中字母区分大小写。

    python保留字(关键字33个)
    False、True
    and、or、not
    as、assert、del
    class、def、import、lambda、nonlocal
    return、None、pass、in、is
    for、from、while、break、continue,if、elif、else
    try、except、finally、raise、with、yield、global
    

    可以用代码打印全部的关键字:

    import keyword
    print(keyword.kwlist)
    

    运行结果:

    ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
    
    注释

    1.单行注释:Python中单行注释以 # 开头,格式:#这里是注释内容.
    pycharm中,ctrl + / 可在光标所在行或选中行,进行注释、去掉注释
    例如:

    # 打印 100 + 200 的计算结果
    print(100 + 200)
    

    运行结果:300

    2.多行注释
    多行注释可以用多个 # 号,还有 ''' 和 """。
    例如:

    利用多个单行注释,组合成多行注释。
    # 注释语句1
    # 注释语句2
    # 注释语句3
    
    利用一对'''   '''注释,进行多行注释。
    ''' 
      注释语句1
      注释语句2
      注释语句3
    '''
    
    利用一对"""   """注释,进行多行注释。
    """
      注释语句1
      注释语句2
      注释语句3
    """
    

    # 多行注释实例1
    # 第1行注释
    # print("第1行")
    # 第2行注释
    # print("第2行")
    # 第3行注释
    print("第3行")
    

    运行结果:第3行


    '''
    多行注释实例2
    第1行注释
    print("第1行")
    第2行注释
    print("第2行")
    '''
    # 第3行注释
    print("第3行")
    

    运行结果:第3行


    """
    多行注释实例3
    第1行注释
    print("第1行")
    第2行注释
    print("第2行")
    """
    # 第3行注释
    print("第3行")
    

    运行结果:第3行


    行与缩进

    python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 。
    缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。

    if True:
        print('1')
        print('True')
    else:
        print('0')
        print('False')
    
    

    运行结果:

    1
    True
    

    同一个代码块缩进数的空格数不一致,会导致运行错误:

    42  if  True:
    43       print('1')
    44            print('True')
    45  else:
    45      print('0')
    47      print('False')
    

    运行结果:

    "F:\Program Files\Anaconda3\python.exe" F:/python_projects/python_common_syntax.py
      File "F:/python_projects/python_common_syntax.py", line 44
        print('True')
        ^
    IndentationError: unexpected indent
    
    Process finished with exit code 1
    

    IndentationError:Indentation:缩进,Error错误。
    unexpected indent:不期望的缩进


    多行语句

    Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠()来实现多行语句。例如:

    item_one = 1
    item_two = 2
    item_three = 3
    
    total = item_one + \
            item_two + \
            item_three
    
    print(total)
    

    运行结果:6


    在 [], {}, 或 () 中的多行语句,不需要使用反斜杠(),例如:

    programLanguages = ['Java', 'C',
                        'C+', 'Objective-C',
                        'Swift']
    print(programLanguages)
    

    运行结果:['Java', 'C', 'C+', 'Objective-C', 'Swift']

    空行

    函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。
    类和函数入口之间也用一行空行分隔,以突出函数入口的开始。
    空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。
    记住:空行也是程序代码的一部分。

    同一行显示多条语句

    Python可以在同一行中使用多条语句,语句之间使用分号(;)分割,以下是一个简单的实例:

    a = 2; b = 3; c = 4
    print(a)
    print(b)
    print(c)
    

    运行结果:

    2
    3
    4
    
    多个语句构成代码组

    缩进相同的一组语句构成一个代码块,我们称之代码组。
    像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。
    我们将首行及后面的代码组称为一个子句(clause)。

    if True:
        print('1')
        print('True')
    else:
        print('0')
        print('False')
    
    Print 输出

    print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end=""或''

    a = 2; b = 3; c = 4
    # 默认换行输出
    print(a)
    print(b)
    print(c)
    print('------------')
    
    
    # 不换行输出
    print(a, end='')
    print(b, end='')
    print(c)
    print('++++++++++++')
    
    print(a, end="")
    print(b, end="")
    print(c)
    print('***********')
    

    运行结果:

    2
    3
    4
    ------------
    234
    ++++++++++++
    234
    ***********
    
    import 与 from...import

    在 python 用 import 或者 from...import 来导入相应的模块。
    将整个模块(somemodule)导入,格式为: import somemodule
    从某个模块中导入某个函数,格式为: from somemodule import somefunction
    从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc
    将某个模块中的全部函数导入,格式为: from somemodule import *

    小结

    本文中简单介绍了Python特点、编码、标识符、常见关键字、注释、行与缩进、多行语句等python常识知识。熟知这些语法常识、语法特点,将有助于提高开发效率。


    更多了解,可关注微信公众号:人人懂编程


    微信公众号:人人懂编程

    相关文章

      网友评论

      本文标题:6.Python简介与语法常识

      本文链接:https://www.haomeiwen.com/subject/ecvccftx.html