基础语法

编码

默认情况都采用UTF-8编码, 当然也可以为源码文件制定不同的编码

1
# -*- coding: cp-1252 -*-

输入/输出

  • print() 函数可接受多个字符串, 用“,”隔开, 或用“+”连接字符串; 同时它也可以打印整数计算结果, 同时它可以接受参数 end来指定以什么字符结尾

    • , 隔开: 会在输出中原本“,”的地方补一个空格
    • + 连接: 不会在“+”的地方补空格
  • input() 函数可以让用户输入字符串, 并存放在一个变量里, 同时它可以接受一个参数用于提示用户输入, 例:

    1
    2
    neme = input('Please enter your name:')
    print('hello,', name)

注释与缩进

  • 单行注释: 以 # 开头的语句是注释

  • 多行注释: 用 '''"""括住的部分属于多行注释, 一般位于文件, , 函数开头的多行注释会被解释为 DocString

  • 缩进: PEP8 规定的缩进为4个空格

    注: 当然可以使用任意个数的空格来代表缩进, 但要保证同一个文件中的缩进层级是统一的, 以及不可以将空格TAB键混用

标识符

  • 第一个自负必须为字母或下划线(_)
  • 标识符的其它部分由字母, 数字和下划线组成
  • 标识符对大小写敏感

保留字

保留字及关键字, 不可将其作为标识符的名称, Python提供了一个 keyword 模块,可以输出当前版本的所有关键字

1
2
import keyword
print(keyword.kwlist)

多行语句

如果语句很长, 我们可以用反斜杠 \ 来实现多行语句, 在[], {}或()中的多行语句不需要 \

数据类型

  1. 数字
    • 整数(对于很大的数 Python允许使用 _ 进行分隔, 如 10_000_000_00010000000000 是一样的, 十六进制也是适用的)
    • 浮点数(科学记数法的 10 变为 e, 如: 1.23×109=>1.23 \times 10^9 => 123e9 )
    • 布尔值(TrueFalse , 注意大小写)
    • 复数(如: 1 + 2j, 1.1 + 2.2j)
  2. 字符串(在字符串前加 r 将忽略字符串中的转义符)
  3. 空值(None , 注意大小写)
  4. 列表
  5. 字典
  6. 集合

同一行显示多条语句

Python可以在同一行种使用多条语句, 语句之间使用分号 ; 分隔

import 与 from…import

pythonimportfrom...import 来导入相应的模块

描述 指令
将整个模块导入 import somemodule
从某个模块中导入某个函数 from somemodule import somefunction
从某个模块种导入多个函数 from somemodule import fistfunc, secondfunc, thirdfunc
将某个模块中的全部函数导入 from somemodule import *

输出格式

Python两种输出值的方式: 表达式语句和 print() 函数

第三种方式是使用文件对象的 write()方法, 标准输出文件可以用 sys.stdout 引用

如果希望输出格式更多样化可以使用 str.format() 函数来格式化输出值

  • str() 返回一个用户易读的表达式形式
  • repr() 产生一个解释器易读的表达形式

新式(str.format() 用法)

基本用法

1
2
>>> print('{} 网址: "{}!"'.format('我的', 'www.floatstream.me'))
我的 网址: "www.floatstream.me"

括号及其里面的字符(称作格式化字段)将会被 format() 中的参数替换

  1. 在括号中的数字用于指向传入对象在 format() 中的位置, 如下
1
2
3
4
>>> print('{0} and {1}'.format('Google', 'Baidu'))
Google and Baidu
>>> print('{1} and {0}'.format('Google', 'Baidu'))
Baidu and Google
  1. 如果在 format() 中使用了关键字参数, 那么它们的值会指向使用该名子的参数, 同时位置和关键字参数可以任意结合
1
2
>>> print('{name}网址: {site}'.format(name='我的', site='www.floatstream.me'))
我的网址: www.floatstream.me
  1. !a(使用ascii), !s(使用str)和 !r (使用repr)可以用于在格式化某个值之前对其进行转化
  2. 可选项:和格式标识符可以跟着字段名, 以此来更好地格式化

具体格式: { [index][ : [ [fill] align] [sign] [#] [0] [width] [.precision] [type] ] }

  • index: 为参数的索引值

  • fill: 填充符

  • align: 对齐方式

    align 含义
    < 左对齐
    > 右对齐
    = 数据右对齐, 符号放在最左边, 该选项只对数字类型有效
    ^ 居中, 该参数需和width放在一起使用
  • sign: 指定有无符号

    sign 含义
    + 数字都加符号
    - 负数加符号, 正数不加
    空格 负数加符号, 正数加空格, 保持对齐
  • 0#:

    1
    2
    3
    4
    5
    6
    7
    8
    >>> print('{:08x}'.format(233))
    000000e9
    >>> print('{:8x}'.format(233))
    e9
    >>> print('{:#08x}'.format(233))
    0x0000e9
    >>> print('{:#8x}'.format(233))
    0xe9
  • width: 指定输出宽度

  • .precision: 精度, 保留的小数位数

  • type

    type类型值 含义
    s 对字符串类型格式化。
    d 十进制整数。
    c 将十进制整数自动转换成对应的 Unicode 字符。
    e 或者 E 转换成科学计数法后,再格式化输出。
    g 或 G 自动在 e 和 f(或 E 和 F)中切换。
    b 将十进制数自动转换成二进制表示,再格式化输出。
    o 将十进制数自动转换成八进制表示,再格式化输出。
    x 或者 X 将十进制数自动转换成十六进制表示,再格式化输出。
    f 或者 F 转换为浮点数(默认小数点后保留 6 位),再格式化输出。
    % 显示百分比(默认显示小数点后 6 位)。

旧式(% 操作符)

C 类似, 例子如下:

1
2
3
>>> import math
>>> print('常量 PI 的值近似为: %5.3f' % math.pi)
常量 PI 的值近似为: 3.142

输入格式

使用内置的 input() 函数从标准输入读入一行文本, 默认的标准输入是键盘