前言
Python,是龜叔在1989年為了打發無聊的聖誕節而編寫的一門程式語言,特點是優雅、明確、簡單,現今擁有豐富的標準庫和第三方函式庫。
Python適合開發Web網站和各種網路服務,系統工具和腳本,作為「膠水」語言把其他語言開發的模組包裝起來使用,科學計算等等。
小編學習Python的理由有三:
為了爬取所需的各種數據,不妨學習Python。
為了分析數據和挖掘數據,不妨學習Python。
為了做一些好玩有趣的事,不妨學習Python。
準備工作
1、在Python官網下載安裝喜歡的版本,小編使用的,是目前最新版本3.6.0。
2、開啟IDLE,這是Python的整合開發環境,儘管簡單,但極為有用。 IDLE包括一個能夠利用顏色突出顯示語法的編輯器、一個調試工具、Python Shell,以及一個完整的Python3在線文檔集。
hello world
1、在IDLE中,輸入print('hello world')
,回車,則列印出hello world。
PS:語句最後加上不加分號;
都可以,小編決定不加分號,比較簡單。
2、使用sublime新檔案hello.py,內容如下:
print('hello world')
在Windows下,shift+右鍵,在此處開啟指令窗口,執行python hello.py
,回車,則列印出hello world。
3、使用sublime新建檔案hello.py,內容如下:
#!/usr/bin/env python print('hello world')
在Linux或Mac環境下,可以直接執行腳本。首先新增執行權限chmod a+x hello.py
,然後執行./hello.py
。當然,也可以跟Windows一樣,使用python hello.py
來執行腳本。
引入模組
1、新建name.py,內容如下:
name='voidking'
2、執行python name.py
。
3、進入python shell模式,執行import name
,print(name.name)
,則印出voidking。
基礎語法
常用函數(print)、資料型態、表達式、變數、條件與迴圈、函數。和其他語言類似,下面選擇一部分展開。
list鍊錶數組
1、定義數組myList = ['Hello', 100, True]
2、輸出數組print(myList)
2、輸出數組print(myList)
2、輸出數組
print(myList)3、輸出數組元素
])
,
print(myList[-1])4、追加元素到末尾
myList.append('vomying')5、追加元素到頭部
myList.insert(0idking. ')
6、刪除元素myList.pop()
myList.pop(0)
7、元素賦值myList[0]='hello666'
myList[0]='hello666'
定義陣列
myTuple = ('Hello', 100, True)錯誤定義:
myTuple1=(1)
,正確定義:
myTuple=(1,)2、輸出陣列
3、輸出陣列元素print(myTuple[0])
4、tuple和list結合
t = ('a', 'b', ['A', 'B'])
,t[2][0]='X'
if語句ifscore = 75
if score>=60:
print 'passed'
兩次回車,即可執行程式碼。 if-elseif score>=60:
print('passed')
else:
print('failed')
if-elif-elseif score>=90:
print('excellent')
elif score>=80:
print('good')
elif score>=60:
print('passed')
else:
print('failed')
循環for循環L = [75, 92, 59, 68]
sum = 0.0
for score in L:
sum += score
print(sum / 4)
while循環sum = 0
x = 1
while x
rrsum = 0
x = 1
while True:
sum = sum + x
x = x + 1
if x > 100:
break
print(sum)
while循環
L = [75, 98, 59, 81, 66, 43, 69, 85] sum = 0.0 n = 0 for x in L: if x <h1></h1>dict的功能是建立一組key和一組value的映射關係。 <p></p><pre class="brush:php;toolbar:false">for x in ['A', 'B', 'C']: for y in ['1', '2', '3']: print(x + y)setset持有一系列元素,這一點和list很像,但是set的元素沒有重複,而且是無序的,這點和dict的key很像。
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))
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)
自訂函數del sum
L = [x*x for x in range(1,101)]
print sum(L)
引入函式庫def my_abs(x):
if x >= 0:
return x
else:
return -x
my_abs(-100)
可變參數import math
def quadratic_equation(a, b, c):
x = b * b - 4 * a * c
if x
切片有序的list,預設以函數形式表示,執行range函數,即可以以list形式表示。
字串切片
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))
迭代
Python的for循環不僅可以用在list或tuple上,還可以作用在其他任何可迭代物件上。
迭代運算就是對於一個集合,無論該集合是有序或無序,我們用for迴圈總是可以依序取出集合的每一個元素。集合是指包含一組元素的資料結構,包括:
- 有序集合:list,tuple,str和unicode;
- 無序集合:set
- 無序集合:setkey
L = ['Adam', 'Lisa', 'Bart', 'Paul'] L[0:3] L[:3] L[1:3] L[:] L[::2]索引迭代🎜🎜對於有序集合,元素是有索引的,如果我們想在for循環中拿到索引,怎麼辦?方法是使用enumerate()函數。 🎜
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()不会再返回列表,而是返回一个易读的“views”。这样一来,k = d.keys();k.sort()
不再有用,可以使用k = sorted(d)
来代替。
同时,dict.iterkeys(),dict.iteritems(),dict.itervalues()方法不再支持。
迭代dict的key和value
d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 } for key, value in d.items(): print(key, ':', value)
列表生成
一般表达式
L = [x*(x+1) for x in range(1,100)] print(L)
复杂表达式
d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 } def generate_tr(name, score): if score >=60: return '<tr> <td>%s</td> <td>%s</td> </tr>' % (name, score) else: return '<tr> <td>%s</td> <td>%s</td> </tr>' % (name, score) tds = [generate_tr(name,score) for name, score in d.items()] print('
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]))
多层表达式
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基础结束。接下来,爬虫飞起!
更多Python,基础相关文章请关注PHP中文网!

Python和C 各有優勢,選擇應基於項目需求。 1)Python適合快速開發和數據處理,因其簡潔語法和動態類型。 2)C 適用於高性能和系統編程,因其靜態類型和手動內存管理。

選擇Python還是C 取決於項目需求:1)如果需要快速開發、數據處理和原型設計,選擇Python;2)如果需要高性能、低延遲和接近硬件的控制,選擇C 。

通過每天投入2小時的Python學習,可以有效提升編程技能。 1.學習新知識:閱讀文檔或觀看教程。 2.實踐:編寫代碼和完成練習。 3.複習:鞏固所學內容。 4.項目實踐:應用所學於實際項目中。這樣的結構化學習計劃能幫助你係統掌握Python並實現職業目標。

在兩小時內高效學習Python的方法包括:1.回顧基礎知識,確保熟悉Python的安裝和基本語法;2.理解Python的核心概念,如變量、列表、函數等;3.通過使用示例掌握基本和高級用法;4.學習常見錯誤與調試技巧;5.應用性能優化與最佳實踐,如使用列表推導式和遵循PEP8風格指南。

Python適合初學者和數據科學,C 適用於系統編程和遊戲開發。 1.Python簡潔易用,適用於數據科學和Web開發。 2.C 提供高性能和控制力,適用於遊戲開發和系統編程。選擇應基於項目需求和個人興趣。

Python更適合數據科學和快速開發,C 更適合高性能和系統編程。 1.Python語法簡潔,易於學習,適用於數據處理和科學計算。 2.C 語法複雜,但性能優越,常用於遊戲開發和系統編程。

每天投入兩小時學習Python是可行的。 1.學習新知識:用一小時學習新概念,如列表和字典。 2.實踐和練習:用一小時進行編程練習,如編寫小程序。通過合理規劃和堅持不懈,你可以在短時間內掌握Python的核心概念。

Python更易學且易用,C 則更強大但複雜。 1.Python語法簡潔,適合初學者,動態類型和自動內存管理使其易用,但可能導致運行時錯誤。 2.C 提供低級控制和高級特性,適合高性能應用,但學習門檻高,需手動管理內存和類型安全。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)