Python中%有三种用处
- 在其他平台中使用Python时,%可能还有其他的用途
1.数值运算
%代表取模,返回除法的余数。
11%2 #result:1
2.%操作符
用于字符串的格式化(string formatting)
表示方法:%[(name)][flags][width].[precision]typecode
- (name)为命名
- flag中,
+
表示右对齐,-
表示左对齐,''
表示左侧填一个空格(目的是与负数对齐),0
表示用0填充 - width表示显示宽度
- precision表示小数点后的精度
- typecode:
%s 字符串 (采用str()的显示)
%r 字符串 (采用repr()的显示)
%c 单个字符
%b 二进制整数
%d 十进制整数
%i 十进制整数
%o 八进制整数
%x 十六进制整数
%e 指数 (基底写为e)
%E 指数 (基底写为E)
%f 浮点数
%F 浮点数,与上相同
%g 指数(e)或浮点数 (根据显示长度)
%G 指数(E)或浮点数 (根据显示长度)
%% 字符"%"
栗子:
print("%5.2f" % 2.5)
2.50
# 第一个"%"后面的内容为显示的格式说明,5为显示宽度,2为小数点位数,f为浮点数类型
# 第二个"%"后面为显示的内容来源,输出结果默认右对齐,2.50长度为4,故前面添加了一个空格
再举个栗子:
print("%+7x" % 11) #result: +b
#十进制11转为十六进制整数为b,右对齐(并增加+号),+b占两位,左侧添加5个空格
3.魔法命令(Magic Functions)
魔法命令是IPython的内置magic函数,都以%或者%%开头,可以通过命令行的语法形式来访问它们。
- 以%开头的成为行命令(只对命令所在的行有效)
- %%开头的称为单元命令(必须出现在单元的第一行,对整个单元的代码进行处理)
- 执行
%magic
可以查看关于各个命令的说明,而在命令之后添加?
可以查看该命令的详细说明。 - 可以在Ipython编译器里直接使用
- 因为是内置,在Pycharm中不支持
栗子:
使用%matplotlib命令:
- 可以将matplotlib的图表直接嵌入到Notebook之中,或者使用指定的界面库显示图表
- 它有一个参数指定matplotlib图表的显示方式。inline表示将图表嵌入到Notebook中。
%matplotlib inline
(可以省掉plt.show()了)
#内嵌画图
%matplotlib inline
import matplotlib # 注意这个也要import一次
import matplotlib.pyplot as plt
plt.plot((1,2,3),(4,3,-1))
#plt.show() # 有了%matplotlib inline 就可以省掉plt.show()了