科學計算發行版:python(x,y),集合了諸多包。
一、python使用入門
1、基本命令
(1)基本運算
*,**分別表示乘法和冪運算,可進行多重賦值:
in [1]: 3*4out[1]: 12in [2]: 3**4out[2]: 81in [3]: a,bb,ccc=2,'python
',[2,3,4]
in [4]: a
out[4]: 2in [5]: bb
out[5]: '
python
'in [6]: ccc
out[6]: [2, 3, 4]
多重賦值可針對不同型別,如數值、序列、字串等。
(2)迴圈與判斷
range(a,b,c)得到序列,間隔為c,首項為a,最大值為b-1;range(a)表示從0到a-1:
in [7]: range(1,11,2)out[7]: [1, 3, 5, 7, 9]
in [8]: range(13)
out[8]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
迴圈和判斷:
#for迴圈
for i in range(11):
a=a+i**2
printa#
while迴圈
i=0;a=2;
while i<11:
a=a+i**2;
i=i+1;
(a)#
if 判斷
s=0;
if s in range(2):
print u'
s 在裡面'#
u表示unicode字串
else
:
print u'
s 不在裡面
'
u'字串'表示unicode字串;
(3)自編函式
in [48]: deffun1(x):
...:
return x*3...:
...: fun1(3)
out[48]: 9in [49]: def fun2(x=1,y=2):#
這裡給出缺省引數
...: return [x+y,x-y] #
返回列表
...:
...: fun2()
#返回預設值
out[49]: [3, -1]
in [50]: fun2(2,3)
out[50]: [5, -1]
in [51]: def
fun3(x,y) :
...:
return x*y,x^y #
雙重返回。類似於多重賦值#
...:
...: fun3(2,4)
out[51]: (8, 6)
另一種簡潔的方法:lambda
in [57]: f1=lambda x:x*x-3*x...: f1(5)
out[57]: 10in [58]: f2=lambda x,y,z:x+y,x*z,y**z
...: f2(1,3,2) #
lambda中的表示式不能含有命令,而且只限一條表示式,無法得到結果
traceback (most recent call last):
file
"", line 1, in
f2=lambda x,y,z:x+y,x*z,y**z
nameerror: name 'x
'isnot defined
2、python資料型別:列表,元組,字典,集合
(1)元組/列表
兩者的基本操作都一樣,只是元組不可以修改。
in [62]: a=[1,2,3,4,'python
',[1,2,3]];b=(11,22,33,44,'
python
',[1,2,3])
in [63]: a
out[63]: [1, 2, 3, 4, '
python
', [1, 2, 3]]
in [64]: b
out[64]: (11, 22, 33, 44, '
python
', [1, 2, 3])
in [2]: a[0]=0;a #
列表a的第乙個元素被修改
out[2]: [0, 2, 3, 4, '
python
', [1, 2, 3]]
in [3]: b[0]=0;b #
元組b無法修改
traceback (most recent call last):
file
"", line 1, in
b[0]=0;b
typeerror:
'tuple
' object does not
support item assignment]
in [10]: list('
python
') #
列舉出物件的每乙個元素,字串拆分為列表
out[10]: ['
p', '
y', '
t', '
h', '
o', 'n'
]in [11]: tuple((1,2,'
python
')) #
拆分為元組
out[11]: (1, 2, '
python
')
另外列表還有很多的操作方法,詳見《python基礎教程(第二版)》。
(2)字典
in [16]: a=in [17]: a
out[17]:
in [18]: a['
first']
out[18]: '
zhang
'in [19]: a['
second']
out[19]: '
qiang
'in [20]: dict([['
no1',11],['
no2',22]])
out[20]:
in [21]: b=dict([['
no1',11],['
no2',22]])
in [22]: b['
no1'
]out[22]: 11
相當於給每乙個下標的位置取了個名字。
(3)集合
集合的特點是沒有重複元素,且滿足集合的基本運算:{}表示集合,裡面的元素會自動去重
in [27]:out[27]:
in [28]: a=set([1,2,3,3,3,2,1,2,4,5,5,2,3,45])
in [29]: b=
in [30]: a|b #集合的並
out[30]:
in [31]: a&b #集合的交
out[31]:
in [32]: a-b #差集
out[32]:
in [33]: a^b # a∪b-a∩b
out[33]:
(4)map()、reduce()、filter()函式
in [34]: a=[1,2,3,44,55]in [35]: b=[i*2+1 for i in
a]in [36]: b
out[36]: [3, 5, 7, 89, 111]
其中的i可以認為是每乙個下標,對每乙個元素進行操作,返回b;map()函式將命令逐一應用,屬於迴圈運算
in [39]: b=map(lambda x:x**2+2,a);...: list(b)
#這是python3.0中要求的
out[39]: [3, 6, 11, 1938, 3027]
reduce()函式用於遞迴運算:
in [48]: a=range(-1,9,2)in [49]: reduce(lambda x,y:x+y,range(-1,9,2)) #
前後累加
out[49]: 15in [50]: reduce(lambda x,y:x*y,range(-1,9,2)) #
前後連乘
out[50]: -105in [51]: reduce(lambda x,y:x+2*y+x**2,range(-1,9,2)) #
前後累加
out[51]: 27736
filter()依據條件函式進行過濾:
in [58]: a=range(-1,9,2);aout[58]: [-1, 1, 3, 5, 7]
in [59]: filter(lambda x:x>0 and x<6,a)
out[59]: [1, 3, 5]
#選取元素中滿足條件的,
in [61]: [a[i] for i in range(len(a)) if a[i]<6 and a[i]>0 ]
out[61]: [1, 3, 5]
(5)庫函式的匯入於使用
苦和庫中的函式均可重新命名
in [66]: importpandas as pa
in [67]: from math import
sin as zx
in [68]: zx(1)
out[68]: 0.8414709848078965
python的基礎列表 python基礎入門 列表
列表 1.關鍵字 list 2.定義 用來儲存資料可儲存多種資料型別 支援索引,切片 是有序的 可變的 3.定義乙個列表 l1 列表 字串 lnh 123,kk0 ttt 索引 print l1 0 列表 切片 print l1 0 3 列表 字串 lnh 列表的增刪改查 增加print l1 列表...
Matlab 和 Simulink 學習基礎入門
matlab矩陣運算與資料視覺化 matlab指令碼 函式和實時編輯器 matlab資料分析 流程與優勢 matlab 學習工具與資源 matlab 為工程學和和科學家設計 matlab工具箱得心應手 matlab 具有互動式應用 matlab 整合工作流程 matlab 迅速高效 matlab 備...
vue 入坑指南 一 vue 基礎語法
1.模板語法 1.1 mustache語法 在html獲取data中msg變數的值1.2 html賦值 v html 將內容當成html標籤輸出 html 類似1.3繫結屬性 v bind id 新增繫結乙個標籤的屬性 attr 類似1.4 表示式 三目運算表示式1.5 文字賦值 v text 和 ...