基本语法
基础语法¶
编码¶
默认情况都采用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 | print('{0} and {1}'.format('Google', 'Baidu')) |
- 如果在
format()
中使用了关键字参数, 那么它们的值会指向使用该名子的参数, 同时位置和关键字参数可以任意结合
1 | print('{name}网址: {site}'.format(name='我的', site='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
: 精度, 保留的小数位数 -
type
type类型值 含义 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()
函数从标准输入读入一行文本, 默认的标准输入是键盘