python基礎知識彙總
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()