朋友圈

400-850-8622

全國(guó)統(tǒng)一學(xué)習(xí)專(zhuān)線 9:00-21:00

位置:北京電腦培訓(xùn)資訊 > 北京數(shù)據(jù)庫(kù)培訓(xùn)資訊 > 總算發(fā)現(xiàn)python開(kāi)發(fā)學(xué)習(xí)經(jīng)驗(yàn)

總算發(fā)現(xiàn)python開(kāi)發(fā)學(xué)習(xí)經(jīng)驗(yàn)

日期:2019-08-25 10:29:12     瀏覽:463    來(lái)源:天才領(lǐng)路者
核心提示:跟Java語(yǔ)言一樣,python語(yǔ)言也有類(lèi)的概念,直接使用class關(guān)鍵字定義python類(lèi)。在python類(lèi),定義類(lèi)的方法。

跟Java語(yǔ)言一樣,python語(yǔ)言也有類(lèi)的概念,直接使用class關(guān)鍵字定義python類(lèi)。在python類(lèi),定義類(lèi)的方法。然后直接使用類(lèi)的初始化調(diào)用自身,獲取相應(yīng)的屬性。以下是小編為你整理的python開(kāi)發(fā)學(xué)習(xí)經(jīng)驗(yàn) ?

*步,雙擊打開(kāi)eclipse開(kāi)發(fā)工具,新建python文件,添加編碼格式,新建類(lèi)User ?

第二步,在類(lèi)中定義一個(gè)變量userNum,并賦值為0,注意排列位置

python開(kāi)發(fā)學(xué)習(xí)經(jīng)驗(yàn)

?

第三步,定義函數(shù)__init__,有五個(gè)參數(shù),self、name、age、sex和addr ?

第四步,再定義一個(gè)函數(shù)showUser,打印出User類(lèi)對(duì)應(yīng)的屬性值, ?

第五步,在類(lèi)的下面定義一個(gè)對(duì)象變量user,然后調(diào)用類(lèi)User,傳入屬性值 ?

第六步,接著調(diào)用User類(lèi)中的方法showUser,然后運(yùn)行這個(gè)文件,打印出屬性值 ?

建立變量str

在打印輸出的時(shí)候可以截取其中的部分文本,例如print(str[0:-1]),python中的文本索引是從0開(kāi)始的,-1則是末尾的開(kāi)始位置,可以輸入print(str[-1])查看*一個(gè)文字 ?

如果需要重復(fù)輸出文本可以使用print(str*數(shù)字)這種格式,數(shù)字表示文本重復(fù)的次數(shù) ,比如print(str*2) ?

“+”既是運(yùn)算符號(hào),也是文本連接符號(hào),連接字符串的時(shí)候使用就好了 ?

如print(str+“ma ma hong”) ?

轉(zhuǎn)移字符使用"",我們重用的換行就是“n” ?

print("myn name") ?

如果不需要轉(zhuǎn)義,就在字符串前面加“r”即 print(r"myn name") ?

需要注意的是python里面的字符串不能更改,如將str的首字母改為L(zhǎng) ?

str[0]=L python會(huì)報(bào)錯(cuò) ?

此外,還有就是格式化字符串,和C是一致的,搞不清是什么類(lèi)型的時(shí)候用%s就好了 ?

如“python %s”% “l(fā)anguage” ?

函數(shù)定義

def 函數(shù)名(參數(shù)名): ?

函數(shù)體 ?

說(shuō)明: ?

如果函數(shù)有返回體,就使用return 返回值; ?

b如果函數(shù)沒(méi)有返回體,就使用return None或者return; ?

如果函數(shù)有多個(gè)返回值,就使用return x1,x2...。 ?

這里主要講述自定義函數(shù),系統(tǒng)函數(shù)請(qǐng)參照https://docs.python.org/2/library/functions.html#abs ?

3例子: ?

一元二次方程的定義是:ax2 + bx + c = 0 ?

請(qǐng)編寫(xiě)一個(gè)函數(shù),返回一元二次方程的兩個(gè)解。 ?

注意:Python的math包提供了sqrt()函數(shù)用于計(jì)算平方根。 ?

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

默認(rèn)參數(shù):主要是方便調(diào)用,默認(rèn)參數(shù)一定在必須參數(shù)后面。 ?

例子: ?

請(qǐng)定義一個(gè) greet() 函數(shù),它包含一個(gè)默認(rèn)參數(shù),如果沒(méi)有傳入,打印 'Hello, world.',如果傳入,打印 'Hello, xxx.' ?

def greet(n='world'): ?

print 'hello,',n ?

可變參數(shù): ?

定義:def fn(*args): ?

print args ?

python 解釋器 會(huì)把傳入的一組參數(shù)組裝成一個(gè)tuple傳遞給可變參數(shù)。因此在函數(shù)內(nèi)部,直接把變量args看成一個(gè)tuple 就好了 ?

例子:請(qǐng)編寫(xiě)接受可變參數(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)切片:主要用于對(duì)集合取指定范圍的元素。 ?

2)形式 L[first-index:last-index,length]。 ?

說(shuō)明: ?

從索引為first-index的元素取到索引為last-index的元素,其中不包含last-index元素; ?

first-index 為空,則默認(rèn)從0開(kāi)始,如果兩個(gè)參數(shù)都為空,則表示從頭到尾獲取元素; ?

length 表示每隔幾個(gè)元素獲取元素; ?

默認(rèn)length為1 ,不隔元素獲取;若length為2,則每隔一個(gè)元素; ?

若first-index為負(fù)數(shù),則是倒序切片,倒序切片從-1開(kāi)始; ?

f若 fist-index為正數(shù),first-index從0開(kāi)始; ?

例子1: ?

range()函數(shù)可以創(chuàng)建一個(gè)數(shù)列: ?

range(1, 101) ?

[1, 2, 3, ..., 100] ?

請(qǐng)利用切片,取出: ?

1. 個(gè)數(shù); ?

2. 3的倍數(shù); ?

3. 不大于50的5的倍數(shù)。 ?

print L[0:10],'n',L[2::3],'n',L[4:50:5] ?

例子2: ?

利用倒序切片對(duì) 1 - 100 的數(shù)列取出: ?

* *10個(gè)數(shù);

print L[-10:] ?

字符串切片:我們可以把字符串看成一組list,所以也可以對(duì)字符串進(jìn)行切片。 ?

例子: ?

字符串有個(gè)方法 upper() 可以把字符變成大寫(xiě)字母: ?

'abc'.upper() ?

'ABC' ?

但它會(huì)把所有字母都變成大寫(xiě)。請(qǐng)?jiān)O(shè)計(jì)一個(gè)函數(shù),它接受一個(gè)字符串,然后返回一個(gè)僅首字母變成大寫(xiě)的字符串。 ?

import math ?

def upperFirstChar(str): ?

return str[0:1].upper()+str[1:] ?

?

列表的查詢(xún)

# 我們先來(lái)進(jìn)行查詢(xún),這里利用到了索引,切片查詢(xún)

下面是一個(gè)列表的構(gòu)成:

name = ['aaa','bbb','ccc','ddd','eee']

我們可以使用 name[0] 調(diào)用列表中的函數(shù),在python2.7中列表中的數(shù)據(jù)從左到右的排序?yàn)椋?0 1 2 3 4 5 ......,上面的列表構(gòu)成可以理解成為 0 對(duì)應(yīng)的aaa,1對(duì)應(yīng)的是bbb。 ?

我們可以使用

print (name[0:]) # 直接從1開(kāi)始取到*

print (name[0:-1]) # 從1開(kāi)始取倒數(shù)第二值print (name[0:-1:1]) # 從左到右一個(gè)一個(gè)取值print (name[0::2]) # 從左到右隔一個(gè)去取值print (name[::-2]) # 從右到左隔一個(gè)去取值print (name[::-1]) # 從右到左一個(gè)一個(gè)去取值print (name[::-1]) # 從右到左一個(gè)一個(gè)去取值print (name[3::-1]) # 從右倒數(shù)第二個(gè)到左一個(gè)一個(gè)去取值print (name[-2::1]) # -1表示倒數(shù)*個(gè) -2 表示倒數(shù)第二個(gè)

具體個(gè)人感覺(jué)還是要自己測(cè)試走一遍才能有印象。總結(jié)一下查詢(xún)的構(gòu)成

print (name[A:B:C]) A表示起始位置,B表示結(jié)束位置(如果不寫(xiě)就是所有)C表示步長(zhǎng),默認(rèn)步長(zhǎng)為1。我們可以任意修改。

添加內(nèi)容,會(huì)用到兩種添加方法 append追加 ,insert 插入會(huì)比append更加靈活 ?

print name

name.append('hongbin') # append默認(rèn)插在*一個(gè)位置print namname.insert(3,'hongbin') # insert 將數(shù)據(jù)插入到任意一個(gè)位置print name

修改內(nèi)容,修改內(nèi)容其實(shí)就是對(duì)應(yīng)的進(jìn)行重新賦值

# 修改內(nèi)容print namename[1]='baoxue'print name# 我想同時(shí)修改2個(gè)不同位置的比如 0 2 ,同時(shí)修改時(shí)print nameprint name[0:3:2]name[0:3:2] = ['open','happy']print name

如果本頁(yè)不是您要找的課程,您也可以百度查找一下: