摘要:引入模塊新建,內(nèi)容如下執(zhí)行?;A(chǔ)語法常用函數(shù)數(shù)據(jù)類型表達(dá)式變量條件和循環(huán)函數(shù)。迭代的和列表生成一般表達(dá)式復(fù)雜表達(dá)式條件表達(dá)式多層表達(dá)式后記至此,基礎(chǔ)結(jié)束。
前言
Python,是龜叔在1989年為了打發(fā)無聊的圣誕節(jié)而編寫的一門編程語言,特點(diǎn)是優(yōu)雅、明確、簡單,現(xiàn)今擁有豐富的標(biāo)準(zhǔn)庫和第三方庫。
Python適合開發(fā)Web網(wǎng)站和各種網(wǎng)絡(luò)服務(wù),系統(tǒng)工具和腳本,作為“膠水”語言把其他語言開發(fā)的模塊包裝起來使用,科學(xué)計(jì)算等等。
小編學(xué)習(xí)Python的理由有三個(gè):
為了爬取需要的各種數(shù)據(jù),不妨學(xué)習(xí)一下Python。
為了分析數(shù)據(jù)和挖掘數(shù)據(jù),不妨學(xué)習(xí)一下Python。
為了做一些好玩有趣的事,不妨學(xué)習(xí)一下Python。
1、在Python官網(wǎng)下載安裝喜歡的版本,小編使用的,是當(dāng)前最新版本3.6.0。
2、打開IDLE,這是Python的集成開發(fā)環(huán)境,盡管簡單,但極其有用。IDLE包括一個(gè)能夠利用顏色突出顯示語法的編輯器、一個(gè)調(diào)試工具、Python Shell,以及一個(gè)完整的Python3在線文檔集。
hello world1、在IDLE中,輸入print("hello world"),回車,則打印出hello world。
PS:語句末尾加不加分號;都可以,小編決定不加分號,更簡單。
2、使用sublime新建文件hello.py,內(nèi)容如下:
print("hello world")
在Windows下,shift+右鍵,在此處打開命令窗口,執(zhí)行python hello.py,回車,則打印出hello world。
3、使用sublime新建文件hello.py,內(nèi)容如下:
#!/usr/bin/env python print("hello world")
在Linux或Mac環(huán)境下,可以直接運(yùn)行腳本。首先添加執(zhí)行權(quán)限chmod a+x hello.py,然后執(zhí)行./hello.py。當(dāng)然,也可以和Windows一樣,使用python hello.py來執(zhí)行腳本。
引入模塊1、新建name.py,內(nèi)容如下:
name="voidking"
2、執(zhí)行python name.py。
3、進(jìn)入python shell模式,執(zhí)行import name,print(name.name),則打印出voidking。
常用函數(shù)(print)、數(shù)據(jù)類型、表達(dá)式、變量、條件和循環(huán)、函數(shù)。和其他語言類似,下面選擇一部分展開。
list鏈表數(shù)組1、定義數(shù)組
myList = ["Hello", 100, True]
2、輸出數(shù)組
print(myList)
3、輸出數(shù)組元素
print(myList[0]),print(myList[-1])
4、追加元素到末尾
myList.append("voidking")
5、追加元素到頭部
myList.insert(0,"voidking")
6、刪除元素
myList.pop(),myList.pop(0)
7、元素賦值
myList[0]="hello666"
1、定義數(shù)組
myTuple = ("Hello", 100, True)
錯(cuò)誤定義:myTuple1=(1),正確定義:myTuple=(1,)
2、輸出數(shù)組
print(myTuple)
3、輸出數(shù)組元素
print(myTuple[0])
4、tuple和list結(jié)合
t = ("a", "b", ["A", "B"]),t[2][0]="X"
score = 75 if score>=60: print "passed"
兩次回車,即可執(zhí)行代碼。
if-elseif score>=60: print("passed") else: print("failed")if-elif-else
if score>=90: print("excellent") elif score>=80: print("good") elif score>=60: print("passed") else: print("failed")循環(huán) for循環(huán)
L = [75, 92, 59, 68] sum = 0.0 for score in L: sum += score print(sum / 4)while循環(huán)
sum = 0 x = 1 while x<100: sum += x x = x + 1 print(sum)break
sum = 0 x = 1 while True: sum = sum + x x = x + 1 if x > 100: break print(sum)continue
L = [75, 98, 59, 81, 66, 43, 69, 85] sum = 0.0 n = 0 for x in L: if x < 60: continue sum = sum + x n = n + 1 print(sum/n)多重循環(huán)
for x in ["A", "B", "C"]: for y in ["1", "2", "3"]: print(x + y)dict
dict的作用是建立一組 key和一組value的映射關(guān)系。
d = { "Adam": 95, "Lisa": 85, "Bart": 59, "Paul": 75 } print(d) print(d["Adam"]) print(d.get("Lisa")) d["voidking"]=100 print(d) for key in d: print(key+":",d.get(key))set
set持有一系列元素,這一點(diǎn)和list很像,但是set的元素沒有重復(fù),而且是無序的,這點(diǎn)和dict的key很像。
s = set(["Adam", "Lisa", "Bart", "Paul"]) print(s) s = set(["Adam", "Lisa", "Bart", "Paul", "Paul"]) print(s) len(s) print("Adam" in s) print("adam" in s) for name in s: print(name)
s = set([("Adam", 95), ("Lisa", 85), ("Bart", 59)]) for x in s: print(x[0]+":",x[1])
s.add(100) print(s) s.remove(("Adam",95)) print(s)函數(shù) 自帶函數(shù)
del sum L = [x*x for x in range(1,101)] print sum(L)自定義函數(shù)
def my_abs(x): if x >= 0: return x else: return -x my_abs(-100)引入函數(shù)庫
import math def quadratic_equation(a, b, c): x = b * b - 4 * a * c if x < 0: return none elif x == 0: return -b / (2 *a) else: return ((math.sqrt(x) - b ) / (2 * a)) , ((-math.sqrt(x) - b ) / (2 * a)) print(quadratic_equation(2, 3, 0)) print(quadratic_equation(1, -6, 5))可變參數(shù)
def average(*args): if args: return sum(args)*1.0/len(args) else: return 0.0 print(average()) print(average(1, 2)) print(average(1, 2, 2, 3, 4))切片 list切片
L = ["Adam", "Lisa", "Bart", "Paul"] L[0:3] L[:3] L[1:3] L[:] L[::2]倒序切片
L[-2:] L[-3:-1] L[-4:-1:2]
L = range(1, 101) L[-10:] L[4::5][-10:]
PS:range是有序的list,默認(rèn)以函數(shù)形式表示,執(zhí)行range函數(shù),即可以list形式表示。
字符串切片def firstCharUpper(s): return s[0:1].upper() + s[1:] print(firstCharUpper("hello"))迭代
Python的for循環(huán)不僅可以用在list或tuple上,還可以作用在其他任何可迭代對象上。
迭代操作就是對于一個(gè)集合,無論該集合是有序還是無序,我們用for循環(huán)總是可以依次取出集合的每一個(gè)元素。
集合是指包含一組元素的數(shù)據(jù)結(jié)構(gòu),包括:
有序集合:list,tuple,str和unicode;
無序集合:set
無序集合并且具有key-value對:dict
for i in range(1,101): if i%7 == 0: print(i)索引迭代
對于有序集合,元素是有索引的,如果我們想在for循環(huán)中拿到索引,怎么辦?方法是使用enumerate()函數(shù)。
L = ["Adam", "Lisa", "Bart", "Paul"] for index, name in enumerate(L): print(index+1, "-", name) myList = zip([100,20,30,40],L); for index, name in myList: print(index, "-", name)迭代dict的value
d = { "Adam": 95, "Lisa": 85, "Bart": 59 } print(d.values()) for v in d.values(): print(v)
PS:Python3.x中,dict的方法dict.keys(),dict.items(),dict.values()不會再返回列表,而是返回一個(gè)易讀的“views”。這樣一來,k = d.keys();k.sort()不再有用,可以使用k = sorted(d)來代替。
同時(shí),dict.iterkeys(),dict.iteritems(),dict.itervalues()方法不再支持。
d = { "Adam": 95, "Lisa": 85, "Bart": 59 } for key, value in d.items(): print(key, ":", value)列表生成 一般表達(dá)式
L = [x*(x+1) for x in range(1,100)] print(L)復(fù)雜表達(dá)式
d = { "Adam": 95, "Lisa": 85, "Bart": 59 } def generate_tr(name, score): if score >=60: return "" % (name, score) else: return " %s %s " % (name, score) tds = [generate_tr(name,score) for name, score in d.items()] print(" %s %s
Name | Score |
---|---|
L = [x * x for x in range(1, 11) if x % 2 == 0] print(L)
def toUppers(L): return [x.upper() for x in L if isinstance(x,str)] print(toUppers(["Hello", "world", 101]))多層表達(dá)式
L = [m + n for m in "ABC" for n in "123"] print(L)
L = [a*100+b*10+c for a in range(1,10) for b in range(0,10) for c in range(1,10) if a==c] print(L)后記
至此,Python基礎(chǔ)結(jié)束。接下來,爬蟲飛起!
書簽Python官網(wǎng)
https://www.python.org/
Python入門
http://www.imooc.com/learn/177
如何學(xué)習(xí)Python爬蟲[入門篇]?
https://zhuanlan.zhihu.com/p/...
你需要這些:Python3.x爬蟲學(xué)習(xí)資料整理
https://zhuanlan.zhihu.com/p/...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/38368.html
摘要:基礎(chǔ)知識基礎(chǔ)語法基礎(chǔ)知識編程第一步基礎(chǔ)知識基本數(shù)據(jù)類型基礎(chǔ)知識解釋器基礎(chǔ)知識注釋基礎(chǔ)知識運(yùn)算符基礎(chǔ)知識數(shù)字基礎(chǔ)知識字符串基礎(chǔ)知識列表基礎(chǔ)知識元組基礎(chǔ)知識字典基礎(chǔ)知識條件控制基礎(chǔ)知識循環(huán)基礎(chǔ)知識迭代器與生成器基礎(chǔ)知識函數(shù)基礎(chǔ)知識數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)知 Python3基礎(chǔ)知識 | 基礎(chǔ)語法?Python3基礎(chǔ)知識 | 編程第一步?Python3基礎(chǔ)知識 | 基本數(shù)據(jù)類型Python3基礎(chǔ)知識 | ...
摘要:基礎(chǔ)知識基礎(chǔ)語法基礎(chǔ)知識編程第一步基礎(chǔ)知識基本數(shù)據(jù)類型基礎(chǔ)知識解釋器基礎(chǔ)知識注釋基礎(chǔ)知識運(yùn)算符基礎(chǔ)知識數(shù)字基礎(chǔ)知識字符串基礎(chǔ)知識列表基礎(chǔ)知識元組基礎(chǔ)知識字典基礎(chǔ)知識條件控制基礎(chǔ)知識循環(huán)基礎(chǔ)知識迭代器與生成器基礎(chǔ)知識函數(shù)基礎(chǔ)知識數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)知 Python3基礎(chǔ)知識 | 基礎(chǔ)語法?Python3基礎(chǔ)知識 | 編程第一步?Python3基礎(chǔ)知識 | 基本數(shù)據(jù)類型Python3基礎(chǔ)知識 | ...
摘要:首先,在學(xué)習(xí)之前一定會考慮一個(gè)問題版本選擇對于編程零基礎(chǔ)的人來說,選擇。建議從下面課程開始教程標(biāo)準(zhǔn)庫官方文檔非常貼心地提供中文翻譯首先需要學(xué)習(xí)的基礎(chǔ)知識,下載安裝導(dǎo)入庫字符串處理函數(shù)使用等等。 提前說一下,這篇福利多多,別的不說,直接讓你玩回最有手感的懷舊游戲,參數(shù)貼圖很方便自己可以根據(jù)喜好修改哦。 本篇通過以下四塊展開,提供大量資源對應(yīng)。 showImg(https://segmen...
摘要:楚江數(shù)據(jù)是專業(yè)的互聯(lián)網(wǎng)數(shù)據(jù)技術(shù)服務(wù),現(xiàn)整理出零基礎(chǔ)如何學(xué)爬蟲技術(shù)以供學(xué)習(xí),。本文來源知乎作者路人甲鏈接楚江數(shù)據(jù)提供網(wǎng)站數(shù)據(jù)采集和爬蟲軟件定制開發(fā)服務(wù),服務(wù)范圍涵蓋社交網(wǎng)絡(luò)電子商務(wù)分類信息學(xué)術(shù)研究等。 楚江數(shù)據(jù)是專業(yè)的互聯(lián)網(wǎng)數(shù)據(jù)技術(shù)服務(wù),現(xiàn)整理出零基礎(chǔ)如何學(xué)爬蟲技術(shù)以供學(xué)習(xí),http://www.chujiangdata.com。 第一:Python爬蟲學(xué)習(xí)系列教程(來源于某博主:htt...
閱讀 1002·2021-11-24 10:30
閱讀 2327·2021-10-08 10:04
閱讀 3968·2021-09-30 09:47
閱讀 1452·2021-09-29 09:45
閱讀 1445·2021-09-24 10:33
閱讀 6271·2021-09-22 15:57
閱讀 2358·2021-09-22 15:50
閱讀 4089·2021-08-30 09:45