跟Java語(yǔ)言一樣,python語(yǔ)言也有類(lèi)的概念,直接使用class關(guān)鍵字定義python類(lèi)。在python類(lèi),定義類(lèi)的方法。然后直接使用類(lèi)的初始化調用自身,獲取相應的屬性。以下是小編為你整理的學(xué)python要學(xué)什么 ?
*步,雙擊打開(kāi)eclipse開(kāi)發(fā)工具,新建python文件,添加編碼格式,新建類(lèi)User ?
第二步,在類(lèi)中定義一個(gè)變量userNum,并賦值為0,注意排列位置
第三步,定義函數__init__,有五個(gè)參數,self、name、age、sex和addr ?
第四步,再定義一個(gè)函數showUser,打印出User類(lèi)對應的屬性值, ?
第五步,在類(lèi)的下面定義一個(gè)對象變量user,然后調用類(lèi)User,傳入屬性值 ?
第六步,接著(zhù)調用User類(lèi)中的方法showUser,然后運行這個(gè)文件,打印出屬性值 ?
建立變量str在打印輸出的時(shí)候可以截取其中的部分文本,例如print(str[0:-1]),python中的文本索引是從0開(kāi)始的,-1則是末尾的開(kāi)始位置,可以輸入print(str[-1])查看*一個(gè)文字 ?
如果需要重復輸出文本可以使用print(str*數字)這種格式,數字表示文本重復的次數 ,比如print(str*2) ?
“+”既是運算符號,也是文本連接符號,連接字符串的時(shí)候使用就好了 ?
如print(str+“ma ma hong”) ?
轉移字符使用"",我們重用的換行就是“n” ?
print("myn name") ?
如果不需要轉義,就在字符串前面加“r”即 print(r"myn name") ?
需要注意的是python里面的字符串不能更改,如將str的首字母改為L(cháng) ?
str[0]=L python會(huì )報錯 ?
此外,還有就是格式化字符串,和C是一致的,搞不清是什么類(lèi)型的時(shí)候用%s就好了 ?
如“python %s”% “l(fā)anguage” ?
函數定義
def 函數名(參數名): ?
函數體 ?
說(shuō)明: ?
如果函數有返回體,就使用return 返回值; ?
b如果函數沒(méi)有返回體,就使用return None或者return; ?
如果函數有多個(gè)返回值,就使用return x1,x2...。 ?
這里主要講述自定義函數,系統函數請參照https://docs.python.org/2/library/functions.html#abs ?
3例子: ?
一元二次方程的定義是:ax2 + bx + c = 0 ?
請編寫(xiě)一個(gè)函數,返回一元二次方程的兩個(gè)解。 ?
注意:Python的math包提供了sqrt()函數用于計算平方根。 ?
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) ?
默認參數:主要是方便調用,默認參數一定在必須參數后面。 ?
例子: ?
請定義一個(gè) greet() 函數,它包含一個(gè)默認參數,如果沒(méi)有傳入,打印 'Hello, world.',如果傳入,打印 'Hello, xxx.' ?
def greet(n='world'): ?
print 'hello,',n ?
可變參數: ?
定義:def fn(*args): ?
print args ?
python 解釋器 會(huì )把傳入的一組參數組裝成一個(gè)tuple傳遞給可變參數。因此在函數內部,直接把變量args看成一個(gè)tuple 就好了 ?
例子:請編寫(xiě)接受可變參數的 average() 函數。 ?
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]。 ?
說(shuō)明: ?
從索引為first-index的元素取到索引為last-index的元素,其中不包含last-index元素; ?
first-index 為空,則默認從0開(kāi)始,如果兩個(gè)參數都為空,則表示從頭到尾獲取元素; ?
length 表示每隔幾個(gè)元素獲取元素; ?
默認length為1 ,不隔元素獲取;若length為2,則每隔一個(gè)元素; ?
若first-index為負數,則是倒序切片,倒序切片從-1開(kāi)始; ?
f若 fist-index為正數,first-index從0開(kāi)始; ?
例子1: ?
range()函數可以創(chuàng )建一個(gè)數列: ?
range(1, 101) ?
[1, 2, 3, ..., 100] ?
請利用切片,取出: ?
1. 個(gè)數; ?
2. 3的倍數; ?
3. 不大于50的5的倍數。 ?
print L[0:10],'n',L[2::3],'n',L[4:50:5] ?
例子2: ?
利用倒序切片對 1 - 100 的數列取出: ?
* *10個(gè)數;
print L[-10:] ?
字符串切片:我們可以把字符串看成一組list,所以也可以對字符串進(jìn)行切片。 ?
例子: ?
字符串有個(gè)方法 upper() 可以把字符變成大寫(xiě)字母: ?
'abc'.upper() ?
'ABC' ?
但它會(huì )把所有字母都變成大寫(xiě)。請設計一個(gè)函數,它接受一個(gè)字符串,然后返回一個(gè)僅首字母變成大寫(xiě)的字符串。 ?
import math ?
def upperFirstChar(str): ?
return str[0:1].upper()+str[1:] ?
Web方向的練手項目
這個(gè)其實(shí)是肯定不用多少的了。Python的練手項目就是可以做一個(gè)網(wǎng)站了。我們可以做一個(gè)屬于自己的博客。在做博客的時(shí)候,我們可以鞏固的知識點(diǎn)是 ?
Html+CSS+JS的基礎知識,以及熟練的運用Python的Web開(kāi)發(fā)框架(例如Django或者Flask)做出一個(gè)屬于自己的網(wǎng)站。 ?
做一個(gè)網(wǎng)絡(luò )數據抓取工具
也就是我們常說(shuō)的網(wǎng)絡(luò )爬蟲(chóng)??梢哉业揭粋€(gè)自己喜歡的網(wǎng)站。試著(zhù)抓取一些網(wǎng)站數據,在抓取數據的過(guò)程中,你會(huì )遇到例如 反抓取 需要登陸 驗證碼驗證以及IP檢測等多種問(wèn)題。但這恰恰不就是提高的過(guò)程么?;蛟S,你也可能寫(xiě)一個(gè)自己的“小百度”呢、 ?
做一個(gè)圖像識別的項目
不要覺(jué)得太難。我們可以從一個(gè)簡(jiǎn)單的項目開(kāi)啟。驗證碼就是一個(gè)圖片。我們是不是可以試著(zhù)識別一下驗證碼上面的文字?不要覺(jué)得麻煩,也不要覺(jué)得太過(guò)簡(jiǎn)單。所有復雜的事情都是從簡(jiǎn)單開(kāi)始的。學(xué)習驗證碼識別對于我們寫(xiě)網(wǎng)絡(luò )爬蟲(chóng)是不是特別有用呢?在后期深入的過(guò)程中,你還可以做一個(gè)圖像識別軟件。 ?
做一個(gè)Python聊天機器人
是不是覺(jué)得現在手機軟件中的智能聊天軟件很神奇。你同樣可以做一個(gè)屬于自己的聊天機器人。前期我們可以做一個(gè)應答式的,也就是所有的會(huì )話(huà)就是存儲在數據庫中。后期的話(huà)可以學(xué)習人工智能學(xué)習。讓你的機器人更加智能。