1. 程式人生 > >python基礎知識彙總

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()