Python基础语法详细篇(来源于知乎:田怡)

0 人赞了该文章

  • 第一行注释
    • #!/usr/bin/python3
    • #!/usr/bin/env python3
      • 推荐写法
    • 在 Windows 下可以不写第一行注释
  • 编码(第二行)
    • 默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。当然你也可以为源码文件指定不同的编码:
    • # -*- coding: cp-1252 -*-
  • 标识符
    • 第一个字符必须是字母表中字母或下划线'_'。
    • 标识符的其他的部分有字母、数字和下划线组成。
    • 标识符对大小写敏感。
    • 在Python 3中,非-ASCII 标识符也是允许的了。
  • 保留字
    • >>> import keyword
    • >>> 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 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠(\)来实现多行语句
      • total = item_one + \
      • item_two + \
      • item_three
    • 在 [], {}, 或 () 中的多行语句,不需要使用反斜杠(\)
  • 数据类型
    • python中数有四种类型:整数、长整数、浮点数和复数。
    • 整数, 如 1
    • 长整数 是比较大的整数
    • 浮点数 如 1.23、3E-2
    • 复数 如 1 + 2j、 1.1 + 2.2j
  • 字符串
    • python中单引号和双引号使用完全相同。
    • 使用三引号('''或""")可以指定一个多行字符串。
    • 转义符 '\'
    • 自然字符串, 通过在字符串前加r或R。 如 r"this is a line with \n" 则\n会显示,并不是换行。
    • python允许处理unicode字符串,加前缀u或U, 如 u"this is an unicode string"。
    • 字符串是不可变的。
    • 按字面意义级联字符串,如"this " "is " "string"会被自动转换为this is string。
  • 空行
    • 函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。
    • 空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。
    • 记住:空行也是程序代码的一部分。
  • 等待用户输入
    • input("\n\n按下 enter 键后退出。")
  • 同一行显示多条语句
    • Python可以在同一行中使用多条语句,语句之间使用分号(;)分割
  • 多个语句构成代码组
    • 缩进相同的一组语句构成一个代码块,我们称之代码组。
  • Print 输出
    • print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end=""
  • import 与 from...import
    • 在 python 用 import 或者 from...import 来导入相应的模块。
    • 将整个模块(somemodule)导入,格式为: import somemodule
    • 从某个模块中导入某个函数,格式为: from somemodule import somefunction
    • 从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc
    • 将某个模块中的全部函数导入,格式为: from somemodule import *
    • 模块调用详情
      • 知识背景
        • Python 是一种“面向对象编程语言。”而里面最重要的结构之一 class(类),可视 程序架构更为整齐。
        • 面向对象编程的起步知识就是模块的调用。
      • 关键词:模块的定义、模块的如何调用、模块如何创建
      • 1.模块的基本属性:
        • 模组是包含函数和变量的 Python 文件
        • 你可以 import(导入)这个文件
        • 然后你可以使用'.'操作符访问到模组中的函数和变量。{模块名.函数名}
      • 2.模块的导入
        • 2.1.采用关键词"import"来引入某个模块。(import 模块名) 栗子:引用 math 模块,即可用 import math 来导入。
        • 2.2.调用模块中的函数格式: 模块名.函数名
          • Q: 如何必须加上模块名来调用函数
          • A:因为不同模块存在同名称函数,解释器就分别不清是谁家的孩子了.
          • 思考:若两个模块都有 open 函数,如何导入呢? {
            module1.open(···)
            module2.open(···)
            }
          • #由此可见带上模块名调用函数名就很容易解析出是那家的孩子了。
          • 栗子: import math #导入函数模块
            print sqrt(2) #错误,(× )无法识别!
            print (math.sqrt(9))(√)
        • 2.3.从模块中调用某个函数常用语句:
          • from 模块名 import 函数名 1,函数名 2,······
          • 注意:
          • 1.通过这种方式的导入函数,不能给出模块名,但当引入两个模块含有同一名称函数的时候,后一次模块的函数会覆盖前者。
          • 2.这种通常用于单一几个函数的调用。
          • 3.小栗子: from math import sqrt
            sqrt(9)
        • 2.4.重命名:可以在语句末尾增加一个 as 子句,在该子句后给出想要使用的别名
          • 2.4.1 给整个模块重命名 import math as foobar
            foobar.sqrt(4)
            2.0
          • 2.4.2 为函数提供别名 from math import sqrt as foobar
            foobar(4)
      • 3.模块的通用模式
        • 3.1 常见模块导入模式的形式(复习) import 模块名
          from 模块名 import 函数名
          from 模块名 import 函数名 1,函数名 2,····
          from 模块名 import * (不常用)
          (只有确定自己想要从给定的模块导入所有功能时,才应该使用最后一个模板)
        • 3.2 模块的通用模式思路(2 步走)
          • 1.拿(导入)一个模块容器
          • 2.通过模块名称从而获取其中的函数
  • 命令行参数
    • 很多程序可以执行一些操作来查看一些基本信息,Python可以使用-h参数查看各参数帮助信息
    • 命令行参数设置
      • getopt 模块来获取命令行参数
      • Python 中也可以所用 sys 的 sys.argv 来获取命令行参数:
        • sys.argv 是命令行参数列表。
        • len(sys.argv) 是命令行参数个数。
        • 注:sys.argv[0] 表示脚本名。
        • $ python test.py arg1 arg2 arg3
      • getopt模块
        • getopt模块是专门处理命令行参数的模块,用于获取命令行选项和参数,也就是sys.argv。命令行选项使得程序的参数更加灵活。支持短选项模式(-)和长选项模式(--)。
        • 该模块提供了两个方法及一个异常处理来解析命令行参数。
        • getopt.getopt 方法
          • getopt.getopt 方法用于解析命令行参数列表,语法格式如下:
          • getopt.getopt(args, options[, long_options])
        • 方法参数说明:
          • args: 要解析的命令行参数列表。
          • options: 以字符串的格式定义,options后的冒号(:)表示该选项必须有附加的参数,不带冒号表示该选项不附加参数。
          • long_options: 以列表的格式定义,long_options 后的等号(=)表示如果设置该选项,必须有附加的参数,否则就不附加参数。
          • 该方法返回值由两个元素组成: 第一个是 (option, value) 元组的列表。 第二个是参数列表,包含那些没有'-'或'--'的参数。
        • Exception getopt.GetoptError
          • 在没有找到参数列表,或选项的需要的参数为空时会触发该异常。
          • 异常的参数是一个字符串,表示错误的原因。属性 msg 和 opt 为相关选项的错误信息。
      • runoob.com/python3/pyth


评论

暂无评论