基本语法
编码¶
默认情况都采用UTF-8编码, 当然也可以为源码文件制定不同的编码
1 | # -*- coding: cp-1252 -*- |
输入/输出¶
-
print()函数可接受多个字符串, 用“,”隔开, 或用“+”连接字符串; 同时它也可以打印整数或计算结果, 同时它可以接受参数 end来指定以什么字符结尾,隔开: 会在输出中原本“,”的地方补一个空格+连接: 不会在“+”的地方补空格
-
input()函数可以让用户输入字符串, 并存放在一个变量里, 同时它可以接受一个参数用于提示用户输入, 例:1
2neme = input('Please enter your name:')
print('hello,', name)
注释与缩进¶
-
单行注释: 以
#开头的语句是注释 -
多行注释: 用
'''或"""括住的部分属于多行注释, 一般位于文件, 类, 函数开头的多行注释会被解释为DocString -
缩进:
PEP8规定的缩进为4个空格注: 当然可以使用任意个数的空格来代表缩进, 但要保证同一个文件中的缩进层级是统一的, 以及不可以将空格和TAB键混用
标识符¶
- 第一个自负必须为字母或下划线(
_) - 标识符的其它部分由字母, 数字和下划线组成
- 标识符对大小写敏感
保留字¶
保留字及关键字, 不可将其作为标识符的名称, Python提供了一个 keyword 模块,可以输出当前版本的所有关键字
1 | import keyword |
多行语句¶
如果语句很长, 我们可以用反斜杠 \ 来实现多行语句, 在[], {}或()中的多行语句不需要 \
数据类型¶
- 数字
- 整数(对于很大的数
Python允许使用_进行分隔, 如10_000_000_000和10000000000是一样的, 十六进制也是适用的) - 浮点数(科学记数法的
10变为e, 如:123e9) - 布尔值(
True和False, 注意大小写) - 复数(如:
1 + 2j,1.1 + 2.2j)
- 整数(对于很大的数
- 字符串(在字符串前加 r 将忽略字符串中的转义符)
- 空值(
None, 注意大小写) - 列表
- 字典
- 集合
同一行显示多条语句¶
Python可以在同一行种使用多条语句, 语句之间使用分号 ; 分隔
import 与 from…import¶
在 python用 import或 from...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 | print('{} 网址: "{}!"'.format('我的', 'www.floatstream.me')) |
括号及其里面的字符(称作格式化字段)将会被 format() 中的参数替换
-
在括号中的数字用于指向传入对象在
format()中的位置, 如下1
2
3
4print('{0} and {1}'.format('Google', 'Baidu'))
Google and Baidu
print('{1} and {0}'.format('Google', 'Baidu'))
Baidu and Google -
如果在
format()中使用了关键字参数, 那么它们的值会指向使用该名子的参数, 同时位置和关键字参数可以任意结合1
2print('{name}网址: {site}'.format(name='我的', site='www. floatstream.me'))
我的网址: www.floatstream.me -
!a(使用ascii),!s(使用str)和!r(使用repr)可以用于在格式化某个值之前对其进行转化 -
可选项
:和格式标识符可以跟着字段名, 以此来更好地格式化
具体格式: { [index][ : [ [fill] align] [sign] [#] [0] [width] [.precision] [type] ] }
-
index: 为参数的索引值 -
fill: 填充符 -
align: 对齐方式align 含义 < 左对齐 > 右对齐 = 数据右对齐, 符号放在最左边, 该选项只对数字类型有效 ^ 居中, 该参数需和 width放在一起使用 -
sign: 指定有无符号sign 含义 + 数字都加符号 - 负数加符号, 正数不加 空格 负数加符号, 正数加空格, 保持对齐 -
0或#:1
2
3
4
5
6
7
8print('{:08x}'.format(233))
000000e9
print('{:8x}'.format(233))
e9
print('{:#08x}'.format(233))
0x0000e9
print('{:#8x}'.format(233))
0xe9 -
width: 指定输出宽度 -
.precision: 精度, 保留的小数位数 -
typetype类型值 含义 s 对字符串类型格式化。 d 十进制整数。 c 将十进制整数自动转换成对应的 Unicode 字符。 e 或者 E 转换成科学计数法后,再格式化输出。 g 或 G 自动在 e 和 f(或 E 和 F)中切换。 b 将十进制数自动转换成二进制表示,再格式化输出。 o 将十进制数自动转换成八进制表示,再格式化输出。 x 或者 X 将十进制数自动转换成十六进制表示,再格式化输出。 f 或者 F 转换为浮点数(默认小数点后保留 6 位),再格式化输出。 % 显示百分比(默认显示小数点后 6 位)。
旧式(% 操作符)¶
与 C 类似, 例子如下:
1 | import math |
输入格式¶
使用内置的 input() 函数从标准输入读入一行文本, 默认的标准输入是键盘


