跟Java語言一樣,python語言也有類的概念,直接使用class關(guān)鍵字定義python類。在python類,定義類的方法。然后直接使用類的初始化調(diào)用自身,獲取相應(yīng)的屬性。以下是小編為你整理的python開發(fā)學(xué)習(xí)經(jīng)驗 ?
*步,雙擊打開eclipse開發(fā)工具,新建python文件,添加編碼格式,新建類User ?
第二步,在類中定義一個變量userNum,并賦值為0,注意排列位置
?
第三步,定義函數(shù)__init__,有五個參數(shù),self、name、age、sex和addr ?
第四步,再定義一個函數(shù)showUser,打印出User類對應(yīng)的屬性值, ?
第五步,在類的下面定義一個對象變量user,然后調(diào)用類User,傳入屬性值 ?
第六步,接著調(diào)用User類中的方法showUser,然后運行這個文件,打印出屬性值 ?
建立變量str在打印輸出的時候可以截取其中的部分文本,例如print(str[0:-1]),python中的文本索引是從0開始的,-1則是末尾的開始位置,可以輸入print(str[-1])查看*一個文字 ?
如果需要重復(fù)輸出文本可以使用print(str*數(shù)字)這種格式,數(shù)字表示文本重復(fù)的次數(shù) ,比如print(str*2) ?
“+”既是運算符號,也是文本連接符號,連接字符串的時候使用就好了 ?
如print(str+“ma ma hong”) ?
轉(zhuǎn)移字符使用"",我們重用的換行就是“n” ?
print("myn name") ?
如果不需要轉(zhuǎn)義,就在字符串前面加“r”即 print(r"myn name") ?
需要注意的是python里面的字符串不能更改,如將str的首字母改為L ?
str[0]=L python會報錯 ?
此外,還有就是格式化字符串,和C是一致的,搞不清是什么類型的時候用%s就好了 ?
如“python %s”% “l(fā)anguage” ?
函數(shù)定義
def 函數(shù)名(參數(shù)名): ?
函數(shù)體 ?
說明: ?
如果函數(shù)有返回體,就使用return 返回值; ?
b如果函數(shù)沒有返回體,就使用return None或者return; ?
如果函數(shù)有多個返回值,就使用return x1,x2...。 ?
這里主要講述自定義函數(shù),系統(tǒng)函數(shù)請參照https://docs.python.org/2/library/functions.html#abs ?
3例子: ?
一元二次方程的定義是:ax2 + bx + c = 0 ?
請編寫一個函數(shù),返回一元二次方程的兩個解。 ?
注意:Python的math包提供了sqrt()函數(shù)用于計算平方根。 ?
import math ?
def equation(a,b,c): ?
temp=b*b-4*a*c ?
if temp<0: ?
return ?
x1=(-b+math.sqrt(temp))/(2*a) ?
x2=(-b-math.sqrt(temp))/(2*a) ?
return x1,x2 ?
print equation(2,3,0) ?
默認參數(shù):主要是方便調(diào)用,默認參數(shù)一定在必須參數(shù)后面。 ?
例子: ?
請定義一個 greet() 函數(shù),它包含一個默認參數(shù),如果沒有傳入,打印 'Hello, world.',如果傳入,打印 'Hello, xxx.' ?
def greet(n='world'): ?
print 'hello,',n ?
可變參數(shù): ?
定義:def fn(*args): ?
print args ?
python 解釋器 會把傳入的一組參數(shù)組裝成一個tuple傳遞給可變參數(shù)。因此在函數(shù)內(nèi)部,直接把變量args看成一個tuple 就好了 ?
例子:請編寫接受可變參數(shù)的 average() 函數(shù)。 ?
import math ?
def avg(*args): ?
if len(args)==0: ?
return 0.0 ?
else: ?
return sum(args)/len(args) ?
print avg(1,2,3) ?
切片 ?
1)切片:主要用于對集合取指定范圍的元素。 ?
2)形式 L[first-index:last-index,length]。 ?
說明: ?
從索引為first-index的元素取到索引為last-index的元素,其中不包含last-index元素; ?
first-index 為空,則默認從0開始,如果兩個參數(shù)都為空,則表示從頭到尾獲取元素; ?
length 表示每隔幾個元素獲取元素; ?
默認length為1 ,不隔元素獲取;若length為2,則每隔一個元素; ?
若first-index為負數(shù),則是倒序切片,倒序切片從-1開始; ?
f若 fist-index為正數(shù),first-index從0開始; ?
例子1: ?
range()函數(shù)可以創(chuàng)建一個數(shù)列: ?
range(1, 101) ?
[1, 2, 3, ..., 100] ?
請利用切片,取出: ?
1. 個數(shù); ?
2. 3的倍數(shù); ?
3. 不大于50的5的倍數(shù)。 ?
print L[0:10],'n',L[2::3],'n',L[4:50:5] ?
例子2: ?
利用倒序切片對 1 - 100 的數(shù)列取出: ?
* *10個數(shù);
print L[-10:] ?
字符串切片:我們可以把字符串看成一組list,所以也可以對字符串進行切片。 ?
例子: ?
字符串有個方法 upper() 可以把字符變成大寫字母: ?
'abc'.upper() ?
'ABC' ?
但它會把所有字母都變成大寫。請設(shè)計一個函數(shù),它接受一個字符串,然后返回一個僅首字母變成大寫的字符串。 ?
import math ?
def upperFirstChar(str): ?
return str[0:1].upper()+str[1:] ?
?
列表的查詢
# 我們先來進行查詢,這里利用到了索引,切片查詢
下面是一個列表的構(gòu)成:
name = ['aaa','bbb','ccc','ddd','eee']
我們可以使用 name[0] 調(diào)用列表中的函數(shù),在python2.7中列表中的數(shù)據(jù)從左到右的排序為: 0 1 2 3 4 5 ......,上面的列表構(gòu)成可以理解成為 0 對應(yīng)的aaa,1對應(yīng)的是bbb。 ?
我們可以使用
print (name[0:]) # 直接從1開始取到*
print (name[0:-1]) # 從1開始取倒數(shù)第二值print (name[0:-1:1]) # 從左到右一個一個取值print (name[0::2]) # 從左到右隔一個去取值print (name[::-2]) # 從右到左隔一個去取值print (name[::-1]) # 從右到左一個一個去取值print (name[::-1]) # 從右到左一個一個去取值print (name[3::-1]) # 從右倒數(shù)第二個到左一個一個去取值print (name[-2::1]) # -1表示倒數(shù)*個 -2 表示倒數(shù)第二個
具體個人感覺還是要自己測試走一遍才能有印象??偨Y(jié)一下查詢的構(gòu)成
print (name[A:B:C]) A表示起始位置,B表示結(jié)束位置(如果不寫就是所有)C表示步長,默認步長為1。我們可以任意修改。
添加內(nèi)容,會用到兩種添加方法 append追加 ,insert 插入會比append更加靈活 ?
print name
name.append('hongbin') # append默認插在*一個位置print namname.insert(3,'hongbin') # insert 將數(shù)據(jù)插入到任意一個位置print name
修改內(nèi)容,修改內(nèi)容其實就是對應(yīng)的進行重新賦值
# 修改內(nèi)容print namename[1]='baoxue'print name# 我想同時修改2個不同位置的比如 0 2 ,同時修改時print nameprint name[0:3:2]name[0:3:2] = ['open','happy']print name