zoukankan      html  css  js  c++  java
  • Python系列教程一Python的基础语法(二)

    前言

    通过上一章的学习,我们已经初步了解到Python是一种解释型、面向对象动态数据类型的高级程序设计语言,当然也是一门脚本语言,像前端需要学习的JavaScript一样也是一门脚本语言,而脚本语言最大的优势就是“不需要事先进行编译”,不像Java,C#等编程语言一样,需要先通过编译器进行编译然后执行,脚本语言可以直接读取文本文件,一边解释,一边执行。

     本章目标  

    • Python的标识符

    • Python的保留字(关键字)

    • Python的注释

    • Python的行与缩进

    • Python的多行语句

    • Python的引号

    • Python的空格与行

    • Python的print输出

    • Python的import 与 from...import的区别

    Python的标识符

    每一门编程语言都有标识符,Python也一样,但是换汤不换药,许多编程语言都有相似之处,对于Python的标识符,我总结如下四点:

    • 第一个字符必须是字母表中字母或下划线
    • 标识符中的其它部分由字母,数字,下划线组成
    • 标识符对大小写敏感,例如:True和true是两个不同的变量
    • 不能是Python的关键字,例如:def(函数),class(类)等就不能作为标识符

    注意

    • 在python3中,可以用中文作为变量名,非ASCII标识符也是允许的(但不推荐)
    • 以下划线开头的标识符是有特殊意义的,以单下划线开头 _foo 的代表不能直接访问的类属性(类的私有成员),需通过类提供的接口进行访问,不能用 from xxx import * 而导入
    • 以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数

    Python的保留字(关键字)

    下面的列表显示了在Python中的保留字,这些保留字不能用作常数或变数,或任何其他标识符名称。

    所有 Python 的关键字只包含小写字母。

    and exec not
    assert finally or
    break for pass
    class from print
    continue global raise
    def if return
    del importt try
    elif in while
    else is with
    except lambda yield

    Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字

    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']

    Python的注释

    说到注释的话,可能大家都不陌生,毕竟大家都是搞开发的,但是Python这一门语言的注释非常独特,一般的编程语言可能使用//来代表单行注释,/*开始*/结束代表多行注释。Python使用#表示单行注释,‘’‘三个单引号之间代表多行注释’‘’,或者“”“三个多引号之间代表多行注释""",惊不惊喜,意不意外。

    #三、注释
    print('Hello world!')#这是一个单行注释,不会输出
    """
    这是一个多行注释,不会被输出
    """

    Python的行与缩进

    学习 Python 与其他语言最大的区别就是,Python 的代码块不使用大括号 {} 来控制类,函数以及其他逻辑判断。python 最具特色的就是用缩进来写模块。

    缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。

    实例

    if True:
        print('true')
    else:
        print('false')

    以下代码将会执行错误:

    if True:
        print ("Answer")
        print ("True")
    else:
        print ("Answer")
        # 没有严格缩进,在执行时会报错
      print ("False")

    执行以上代码,会出现如下错误提醒:

      File "test.py", line 11
        print ("False")
                      ^
    IndentationError: unindent does not match any outer indentation level

    注意:IndentationError: unindent does not match any outer indentation level错误表明,你使用的缩进方式不一致,有的是 tab 键缩进,有的是空格缩进,改为一致即可。

    补充:如果是 IndentationError: unexpected indent 错误, 则 python 编译器是在告诉你"可能是tab和空格没对齐的问题",所有 python 对格式要求非常严格。因此,在Python的代码块中必须使用相同数目的行首缩进空格数。

    Python的多行语句

    Python语句中一般以新行作为语句的结束符。

    但是我们可以使用斜杠( )将一行的语句分为多行显示,如下所示:

    total = item_one + 
            item_two + 
            item_three

    语句中包含 [], {} 或 () 括号就不需要使用多行连接符。如下实例:

    days = ['Monday', 'Tuesday', 'Wednesday',
            'Thursday', 'Friday']

    Python的引号

    Python 可以使用引号( ' )、双引号( " )、三引号( ''' 或 """ ) 来表示字符串,引号的开始与结束必须的相同类型的。

    其中三引号可以由多行组成,编写多行文本的快捷语法,常用于文档字符串,在文件的特定地点,被当做注释。

    word = 'word'
    sentence = "这是一个句子。"
    paragraph = """这是一个段落。
    包含了多个语句"""

    Python的空格与行

    在 Python 中,为了让代码看起来更清晰,具有更好的可读性,有时会在代码中太内疚空格和空行。空格或者空行与代码缩进不同,并不是 Python 语法的一部分。

    书写时不插入空格或者空行,Python 解释器运行也不会出错。但是空格或者空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。

    空格和空行是为了增加代码可读性。

    比如在变量复制时添加空格

    hello = "world"

    比如类成员函数之间空一行,模块级函数和类定义之间空两行;

    class A:
     
        def __init__(self):
            pass
             
        def hello(self):
            pass
             
             
    def main():
        pass

    Python的print输出

    print() 默认输出是换行的,如果要实现不换行需要加上end参数。

    x="a"
    y="b"
    print(x, end=' ')
    print(y, end=' ')

    Python的import 与 from...import的区别

    在 python 用 import 或者 from...import 来导入相应的模块。

    • 将整个模块(somemodule)导入,格式为: import somemodule
    • 从某个模块中导入某个函数,格式为: from somemodule import somefunction
    • 从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc
    • 将某个模块中的全部函数导入,格式为: from somemodule import *

    1、导入 sys 模块

    import sys
    print('================Python import mode==========================')
    print ('命令行参数为:')
    for i in sys.argv:
        print (i)
    print ('
     python 路径为',sys.path)

    2、导入 sys 模块的 argv,path 成员

    from sys import argv,path  #  导入特定的成员
     
    print('================python from import===================================')
    print('path:',path) # 因为已经导入path成员,所以此处引用时不需要加sys.path

    参考:

    http://www.ityouknow.com/python/2019/08/02/python-002.html

    https://www.runoob.com/python/python-basic-syntax.html

    https://www.runoob.com/python3/python3-basic-syntax.html

    https://www.xjimmy.com/python-4-code.html

  • 相关阅读:
    JVM精进之路
    Java8-java.time-常用API
    Java代码精进
    Java8——jdk——java.time包
    Java8——Optional
    Java8——Stream
    Java8——Lambda表达式
    Java高级-反射
    重新学习SpringMVC——补充
    LeetCode677. 键值映射(相关话题:Trie前缀树)
  • 原文地址:https://www.cnblogs.com/jjgw/p/12252465.html
Copyright © 2011-2022 走看看