说明:本手册所列包来自Awesome-Python ,结合GitHub 和官方文档,参考 SeanCheney 大神在简书上翻译的《利用Python进行数据分析·第2版》,整理所得。
Python基础
Python中多行语句:行末添加反斜杠
\
在[]{}()
中的多行语句不需要使用反斜杠\
对象(万物皆对象)
访问对象的属性和方法
obj.some_method(args)
obj.attribute_name
标量数据类型
类型 | 说明 |
---|---|
None | 空值(常常作为函数的默认参数) |
str | 字符串,存有Unicode(UTF-8编码)字符串 |
bytes | 原生ASCII字节 |
float | 浮点数 |
int | 整数 |
bool | True/False |
str,bool,int和float也是函数,可以用来转换类型
字符串(str)
字符串 | 说明 |
---|---|
单引号 | word = ‘字符串’ |
双引号 | sentence = “这是一个句子” |
三引号 | 字符串换行 |
r’\n strings’ | \\ 可以用来转义,前面加r(raw)不发生转义 |
u’中文字符’ | 中文常加u(unicode)前缀编译 |
文档起始中文编码说明 | -- coding: utf-8-- |
string[start:end] | 切片 |
字符串方法 | str='strings' |
---|---|
str.count(substr,beg=0,end=len(string)) | 返回substr出现的次数 |
去空格 | |
str.lstrip(chars) | 删除str左边的字符(或空格) |
str.rstrip(chars) | 删除str右边的字符(或空格) |
str.strip(chars) | 删除str两边的字符(或空格) |
字符串补齐 | |
str.center(width,fillchar) | 返回str居中,宽度为width的字符串(fillchar为填充字符) |
str.ljust(width,fillchar) | str左对齐 |
str.rjust(width,fillchar) | str右对齐 |
str.zfill (width) | str右对齐,前面填充0 |
大小写转换 | |
str.capitalize() | str的第一个字符大写 |
str.title() | 每个单词首字母大写 |
str.lower() | 小写 |
str.upper() | 大写 |
str.swapcase() | 大小写互换 |
字符串条件判断 | |
str.isalnum() | 所有字符都是字母或数字 |
str.isalpha() | 所有字符都是字母 |
str.isdigit() | 所有字符都是数字 |
str.isnumeric() | 只包含数字字符 |
str.isspace() | 只包含空白 |
str.istitle() | 字符串是标题化 |
str.islower() | 都是小写 |
str.isupper() | 都是大写 |
str.startswith(substr) | 以substr开头 |
str.endswith(substr) | 以substr结尾 |
字符串搜索定位与替换 | |
str.find(substr) | 返回substr的索引位置,如果找不到,返回-1 |
str.rfind(str) | |
str.index(substr) | 返回substr的索引位置,如果找不到,返回异常 |
str.rindex(str) | |
str.replace(old,new,max) | 字符串替换,不超过 max 次(默认为1)。 |
字符串分割变换 | |
str.join(seq) | 以str分隔符,合并seq中所有的元素 |
str.split(sep=”“,num) | 分割str,num=str.count(sep)默认 |
str.splitlines(keepends) | 按照行(‘\r’,’\r\n’,\n’)分隔,参数 keepends为False则不包含换行符 |
字符串编码与解码 | |
str.encode(encoding=’UTF-8’) | 以 encoding 指定的编码格式编码字符串 |
格式化字符串
格式化字符串语法str.format()
格式字符串由 {}
包围的replacement_field
和任何不包含在大括号中的普通文本组成。
由 str.format()
方法传递参数。
replacement_field
简单组成: {field_name:format_spec}
field_name :
- 是一个数字,表示位置参数(element_index),如果
field_name
依次为0,1,2,...
,则它们可以全部省略,并且数字0,1,2,...
将按照该顺序自动插入。 - 或者关键字(attribute_name),
str.format()
可通过关键字传递参数。
- 是一个数字,表示位置参数(element_index),如果
format_spec:
[width][.precision][type]
width
:(数字)表示宽度.precision
:(dot+数字)小数位数type
:表示类型
type列表:
s
:表示字符格式
d
:十进制整数
f
:固定精度
e
:科学记数法
n
:数字
%
:百分比显示
# for example:
print('Life is short, {} need {}'.format('You','Python')) # 忽略数字
print('Life is short, {0} need {1}'.format('You','Python')) # 带数字编号
print('Life is short, {1} need {0}'.format('Python','You')) # 打乱顺序
#上面代码统一输出为: 'Life is short, You need Python'
print('Life is short, {name} need {language}'.format(name='You',language='R Language')) # 关键字
import math
print('r={r:.1e}'.format(r=10**5))
print('π={pi:.2f}'.format(pi=math.pi))
print('e/PI={percent:.2%}'.format(percent=math.e/math.pi))
string标准库
字符串常量 | import string |
---|---|
string.digits | 数字0~9 |
string.letters | 所有字母(大小写) |
string.lowercase | 所有小写字母 |
string.printable | 可打印字符的字符串 |
string.punctuation | 所有标点 |
string.uppercase | 所有大写字母 |
运算符
数学运算符(部分) | 比较运算符 |
---|---|
** (乘方) |
== |
% (求余数) |
!= |
// (整除) |
>= |
+ (连接,加号) |
|
* (重复,乘号) |
逻辑运算符 | 成员运算符 | 身份运算符 |
---|---|---|
and | in | is |
or | not in | is not |
not |
if 语句
if expression:
statements
elif expression:
statements
else:
statements
if 语句变体:value=[false-expr,true-expr][condition]
(利用list索引判断)
三元表达式:value=true-expr if condition else false-expr
循环语句
#for循环
for value in collection:
statements
#while循环
while expression:
statements
else:
statements
关键字:
pass: 占位
break: 跳出循环
coutine: 跳出本次循环
自定义函数
def fun_name(var1,var2=default,*t,**d): |
statements
return result
参数顺序:必选参数,默认参数,可变参数, 关键字参数(可以把list/tuple/dict的元素变成参数传进去)
*t
是可变参数,任意长度的tuple/list
**d
是关键字参数,任意长度的dict
匿名(lambda)函数:lambdavars:expr
不用写return,返回值就是该表达式的结果
lambda x,y:x**y
错误和异常处理
try:
statements
except <Error(可选)>: #try失败时执行,可以指定特定的Error或者Error元祖,例如(TypeError,ValueError)
statements
else: #try成功时执行
statements
finally: #始终执行
statements
模块
import some_module #导入整个模块
from some_module import func1,func2 #从某个模块中导入多个函数
from some_module import * #将某个模块中的全部函数导入
dir(some_module) #列出模块里的函数