python中字符串连接的四种方式
1、字符串之间连接 ‘aa’ ‘bb’
可以中间为空格 或者什么都没有。那么输出都是两者之间紧密相连。
2、字符串+数字
'aa' +90
这样会报错,因为不同类型不能相加,可以用 ‘aa’,90.这样可以,但是中间会有一个空格
3、%占位符
print '%s,%s'%('tom','jerry')
4、推荐
以下实例展示了join()的使用方法
#!/usr/bin/python
str = "-";
seq = ("a", "b", "c"); # 字符串序列
print str.join( seq );
以上实例输出结果如下:
a-b-c
注释规则
#单行注释
#注释可以是英文和中文不能使用拼音
"""
多行注释
第一种方式
"""
'''
多行注释
第二种方式
'''
冒泡排序
#冒泡排序
print("冒泡排序")
arr = [1, 4, 2, 5, 3, 7, 9, 0] #整型数组
for i in range(0, len(arr), 1):
for j in range(0, len(arr)-i-1, 1):
if arr[j] > arr[j+1]:
temp = arr[j+1]
arr[j+1] = arr[j]
arr[j] = temp
for i in arr:
print(i, end="\t")
综合案例
需求说明:
创建一个整型数组,让数组中所有的偶数元素加1,最后将数组从小到大排序,并且输出排序后值为1的元素个数
需求分解:
1、创建一个整型数组
2、定义一个for循环找到数组中的每一个元素
3、判断每一个元素除以2的余数,如果余数是0则表示该元素是偶数
4、将找到的偶数元素+1
5、通过找寻数组指定元素个数的函数获取值为1的元素个数
6、通过数组排序函数将数组从小到大排序
实现:
#创建一个整型数组
arr = [4, 2, 5, 3, 45, 232, 98, 1, 0, 6, 89, 43]
#for循环初始值是0,范围是数组的长度
for i in range(0, len(arr), 1):
if arr[i] % 2 == 0: #找到偶数的元素
arr[i] += 1 #让元素+1
arr.sort() #元素从小到大排序
cnt = arr.count(1) #获取指定元素的个数
print("值=1的元素个数:%s" %cnt)
print(arr)
绘图和可视化——matplotlib APL入门
import matplotlib.pyplot as plt
import numpy as np
1. matplotlib.pyplot中add_subplot方法参数111的含义
下述代码若要运行,得在安装Python之外安装matplotlib、numpy、scipy、six等库,专门来看这篇小贴的朋友应该知道这些库。
import matplotlib.pyplot as plt
from numpy import *
fig = plt.figure()
ax = fig.add_subplot(349)
ax.plot(x,y)
plt.show()
参数349的意思是:将画布分割成3行4列,图像画在从左到右从上到下的第9块。
2.Figure和Subplot
matplotlib的图像都位于Figure对象中,可通过plt.figure创建一个新的Figure
fig=plt.figure() #创建一个新的Figure
plt.show() #可展示图形结果
因为不能通过空的Figure绘图,所以必须用add_subplot创建一个或多个subplot才能进行绘图
ax1=fig.add_subplot(2,2,1) #表示图形排布是2X2横向两张图,纵向两张图,且当前选中的是4个subplot中的第一个(编号从1开始)。后面还会再创建两个subplot
ax2=fig.add_subplot(2,2,2) #所以add_subplot一定要有三个输入参数
ax3=fig.add_subplot(2,2,3)
如果这时发出一条绘图命令(如plt.plot([1.5, 3.5, -2, 1.6])),matplotlib就会在最后一个用过的subplot(如果没有则创建一个)上进行绘图。
from numpy.random import randn
plt.plot(randn(50).cumsum(), 'k--')
[<matplotlib.lines.Line2D object at 0x0000000008E74630>]
plt.show()
“k–”是一个线型选项,表示黑色虚线。“–”表示虚线,“-”表示实线
线条颜色选型:
| Alias | Color |
|‘b’ | blue |
|‘g’ | green |
|‘r’ | red |
|‘c’ | cyan |
|‘m’| magenta |
|‘y’ | yellow |
|‘k’ | black |
|‘w’| white |
之后再输入如下内容能够将上述三个图表内均进行画图
ax1.hist(randn(100), bins=20, color='k', alpha=0.3)
ax2.scatter(np.arange(30), np.arange(30)+3*randn(30))
plt.show()
会展示画图的三张图片,‘k–’,ax1和ax2
可利用plt.subplots方法创建Figure和subplot任务,它可以创建一个新的Figure,并返回一个含有已经创建的subplot对象的NumPy数组
fig, axes=plt.subplots(2, 3) #创建一个两行三列的空图表
fig
<matplotlib.figure.Figure object at 0x0000000008CA6E10>
axes
array([[< matplotlib.axes._subplots.AxesSubplot object at 0x0000000008EED4A8>,
< matplotlib.axes._subplots.AxesSubplot object at 0x00000000091AFB38>,
< matplotlib.axes._subplots.AxesSubplot object at 0x000000000921B390>],
[< matplotlib.axes._subplots.AxesSubplot object at 0x000000000935BB00>,
< matplotlib.axes._subplots.AxesSubplot object at 0x0000000009429F28>,
< matplotlib.axes._subplots.AxesSubplot object at 0x000000000951EC88>]], dtype=object)
plt.show() #展示一个两行三列的空图表
pyplot.subplots的选项
| 参数 | 说明 |
| nrows | subplot的行数 |
| ncols | subplot的列数 |
| sharex | 所有subplot应该使用相同的X轴刻度(调节xlim将会影响所有subplot) |
| sharey | 所有subplot应该使用相同的Y轴刻度(调节ylim将会影响所有subplot) |
| subplot_kw | 用于创建各subplot的关键字字典 |
| **fig_kw | 创建figure时的其他关键字,如
plt.subplots(2,2,figsize=(8,6)) |
plt.subplots(2,2,figsize=(8,6)) #创建一个两行两列的空图表,图表大小为8,6
调整subplot周围的间距
subplot_adjust可调整各个子图表之间的间距
subplots_adjust(left=None, bottom=None, right=None, top=None, wspace=None, hspace=None) #subplots_adjust方法所展示的函数及其参数
wspace和hspace用于控制宽度和高度的百分比,可以用作subplot之间的间距。
例如:
fig, axes=plt.subplots(2, 2, sharex=True, sharey=True)
for i in range(2):
for j in range(2):
axes[i, j].hist(randn(500), bins=50, color='k', alpha=0.5)
plt.subplots_adjust(wspace=0, hspace=0) #调节各个图表之间的间距为0
plt.show() #展示4个图表各个子图表之间没有间距而且标签没有重叠
3.颜色、标记和线型
matplotlib的plot函数能够接受一组X和Y坐标,同时能够接受一个表示颜色和线型的字符串缩写。例如,要根据x和y绘制绿色虚线,可执行如下代码:
>>> plt.plot([1.5, 3.5, -2, 1.6], 'g--')
>>> plt.show()
‘g–’这样的简写是允许的,同时也可利用如下的方式
>>> plt.plot([1.5, 3.5, -2, 1.6], linestyle='--', color='g')
>>> plt.show()
linestyle参数写明线条类型,color参数写明线条颜色
颜色的选择也可通过RGB的形式进行表示(例如:’#CECECE’)
线型图还可以加上一些标记(marker),以强调实际的数据点,由于matplotlib创建的是连续的线型图(点与点之间插值),因此有时可能不太容易看出真实数据的位置。标记也可以放到格式字符串中,但表示类型和线型必须放在颜色后面
>>> from numpy.random import randn
>>> plt.plot(randn(30).cumsum(), 'ko--')
>>> plt.show()
‘k’:表示线型,‘o’:表示圆点,‘–’:表示虚线
也可以写另外一种形式
>>> plt.plot(randn(30).cumsum(), color='k', linestyle='dashed', marker='o')
>>> plt.show()
在线型图中,非实际数据点默认是按照线性方式插值的。可通过drawstyle选项进行修改
通过如下方法可在同一图表中画出两种线条
>>> data=randn(30).cumsum()
>>> plt.plot(data, 'k--', label='Default')
默认画图是黑色虚线,每个点之间用线段连接,整个图形是折线
>>> plt.plot(data, 'g--', drawstyle='steps-post', label='steps-post')
而steps-post表示的是四边形的线条,从第一个点平行画出该点与第二个点距离相同的线条,然后向上或向下垂直画线到第二个点上。该图形用绿色虚线表示
>>> plt.legend(loc='best') #目前不懂
>>> plt.show()