Python應(yīng)用場(chǎng)景
-
Web應(yīng)用開(kāi)發(fā)
Python經(jīng)常被用于Web開(kāi)發(fā)。比如,通過(guò)mod_wsgi模塊,Apache可以運(yùn)行用Python編寫(xiě)的Web程序。Python定義了WSGI標(biāo)準(zhǔn)應(yīng)用接口來(lái)協(xié)調(diào)Http服務(wù)器與基于Python的Web程序之間的通信坯墨。一些Web框架,如Django,TurboGears,web2py,Zope等病往,可以讓程序員輕松地開(kāi)發(fā)和管理復(fù)雜的Web程序捣染。 -
操作系統(tǒng)管理、服務(wù)器運(yùn)維的自動(dòng)化腳本
在很多操作系統(tǒng)里停巷,Python是標(biāo)準(zhǔn)的系統(tǒng)組件耍攘。 大多數(shù)Linux發(fā)行版以及NetBSD、OpenBSD和Mac OS X都集成了Python畔勤,可以在終端下直接運(yùn)行Python蕾各。有一些Linux發(fā)行版的安裝器使用Python語(yǔ)言編寫(xiě),比如Ubuntu的Ubiquity安裝器,Red Hat Linux和Fedora的Anaconda安裝器庆揪。Gentoo Linux使用Python來(lái)編寫(xiě)它的Portage包管理系統(tǒng)式曲。Python標(biāo)準(zhǔn)庫(kù)包含了多個(gè)調(diào)用操作系統(tǒng)功能的庫(kù)。通過(guò)pywin32這個(gè)第三方軟件 包缸榛,Python能夠訪問(wèn)Windows的COM服務(wù)及其它Windows API吝羞。使用IronPython,Python程序能夠直接調(diào)用.Net Framework内颗。一般說(shuō)來(lái)脆贵,Python編寫(xiě)的系統(tǒng)管理腳本在可讀性、性能起暮、代碼重用度、擴(kuò)展性幾方面都優(yōu)于普通的shell腳本会烙。 -
科學(xué)計(jì)算
NumPy,SciPy,Matplotlib可以讓Python程序員編寫(xiě)科學(xué)計(jì)算程序负懦。 -
桌面軟件
PyQt、PySide柏腻、wxPython纸厉、PyGTK是Python快速開(kāi)發(fā)桌面應(yīng)用程序的利器。 -
服務(wù)器軟件(網(wǎng)絡(luò)軟件)
Python對(duì)于各種網(wǎng)絡(luò)協(xié)議的支持很完善五嫂,因此經(jīng)常被用于編寫(xiě)服務(wù)器軟件颗品、網(wǎng)絡(luò)爬蟲(chóng)肯尺。第三方庫(kù)Twisted支持異步網(wǎng)絡(luò)編程和多數(shù)標(biāo)準(zhǔn)的網(wǎng)絡(luò)協(xié)議(包含客戶端和服務(wù)器),并且提供了多種工具躯枢,被廣泛用于編寫(xiě)高性能的服務(wù)器軟件则吟。 -
游戲
很多游戲使用C++編寫(xiě)圖形顯示等高性能模塊,而使用Python或者Lua編寫(xiě)游戲的邏輯锄蹂、服務(wù)器氓仲。相較于Python,Lua的功能更簡(jiǎn)單得糜、體積更芯纯浮;而Python則支持更多的特性和數(shù)據(jù)類(lèi)型朝抖。 -
構(gòu)思實(shí)現(xiàn)啥箭,產(chǎn)品早期原型和迭代
YouTube、Google治宣、Yahoo!急侥、NASA都在內(nèi)部大量地使用Python。
注釋
單行注釋:以#開(kāi)頭炼七,#右邊的所有東西當(dāng)做說(shuō)明缆巧,而不是真正要執(zhí)行的程序,起輔助說(shuō)明作用
# 我是注釋?zhuān)梢栽诶飳?xiě)一些功能說(shuō)明之類(lèi)的哦
print('hello world')
多行注釋
'''我是多行注釋?zhuān)? 可以寫(xiě)很多很多行的功能說(shuō)明
'''
print('hello world')
python程序支持中文
在程序的開(kāi)頭寫(xiě)入如下代碼豌拙,用來(lái)支持中文陕悬。
#coding=utf-8
在python的語(yǔ)法規(guī)范中推薦使用的方式:
# -*- coding:utf-8 -*-
示例:
#coding=utf-8
print('你好')
變量以及類(lèi)型
變量的定義
在Python中,存儲(chǔ)一個(gè)數(shù)據(jù)按傅,需要一個(gè)叫做變量的東西捉超。程序就是用來(lái)處理數(shù)據(jù)的,而變量就是用來(lái)存儲(chǔ)數(shù)據(jù)的唯绍。如下示例:
num1 = 100 #num1就是一個(gè)變量
num2 = 87 #num2也是一個(gè)變量
result = num1 + num2 #把num1和num2這兩個(gè)數(shù)據(jù)進(jìn)行累加拼岳,然后放到 result變量中
變量的類(lèi)型
為了更充分的利用內(nèi)存空間以及更有效率的管理內(nèi)存,變量是有不同的類(lèi)型的况芒。
在python中惜纸,只要定義了一個(gè)變量,而且它有數(shù)據(jù)绝骚,那么它的類(lèi)型就已經(jīng)確定了耐版,不需要開(kāi)發(fā)者主動(dòng)的去說(shuō)明類(lèi)型,系統(tǒng)會(huì)自動(dòng)辨別压汪》嗌可以使用type(變量的名字),來(lái)查看變量的類(lèi)型止剖。
標(biāo)示符和關(guān)鍵字
標(biāo)示符
開(kāi)發(fā)人員在程序中自定義的一些符號(hào)和名稱腺阳,標(biāo)示符是自己定義的,如變量名落君、函數(shù)名等。
標(biāo)示符的規(guī)則
標(biāo)示符由字母亭引、下劃線和數(shù)字組成绎速,且不能數(shù)字開(kāi)頭。python中的標(biāo)識(shí)符是區(qū)分大小寫(xiě)的痛侍。
命名規(guī)則
- 見(jiàn)名知意朝氓。起一個(gè)有意義的名字,盡量做到看一眼就知道是什么意思(提高代碼可讀性)主届。
- 駝峰命名法赵哲。
- 小駝峰式命名法(lower camel case): 第一個(gè)單詞以小寫(xiě)字母開(kāi)始;第二個(gè)單詞的首字母大寫(xiě)君丁,例如:myName枫夺、aDog。
- 大駝峰式命名法(upper camel case): 每一個(gè)單字的首字母都采用大寫(xiě)字母绘闷,例如:FirstName橡庞、LastName。
- 下劃線命名印蔗。在程序員中還有一種命名法比較流行扒最,就是用下劃線“_”來(lái)連接所有的單詞,比如send_buf华嘹。
關(guān)鍵字
Python一些具有特殊功能的標(biāo)示符吧趣,這就是所謂的關(guān)鍵字。關(guān)鍵字是Python已經(jīng)使用的了耙厚,所以不允許開(kāi)發(fā)者自己定義和關(guān)鍵字相同的名字的標(biāo)示符强挫。
可以通過(guò)下面命令查看所有的關(guān)鍵字:
import keyword
keyword.kwlist
結(jié)果如下:
格式化輸出
什么是格式化
age = 10
print("我今年%d歲"%age)
age += 1
print("我今年%d歲"%age)
age += 1
print("我今年%d歲"%age)
常用的格式符號(hào)
輸入
Python2版本
在Python2中,獲取鍵盤(pán)輸入的數(shù)據(jù)的方法是采用raw_input函數(shù)薛躬,示例如下:
password = raw_input("請(qǐng)輸入密碼:")
print '您剛剛輸入的密碼是:', password
運(yùn)行結(jié)果:
注意:
- raw_input()的小括號(hào)中放入的是俯渤,提示信息,用來(lái)在獲取數(shù)據(jù)之前給用戶的一個(gè)簡(jiǎn)單提示
- raw_input()在從鍵盤(pán)獲取了數(shù)據(jù)以后型宝,會(huì)存放到等號(hào)右邊的變量中
- raw_input()會(huì)把用戶輸入的任何值都作為字符串來(lái)對(duì)待
在Python2中還有一個(gè)input()函數(shù)八匠,input()函數(shù)與raw_input()類(lèi)似,但其接受的輸入必須是表達(dá)式趴酣。input()接受表達(dá)式輸入梨树,并把表達(dá)式的結(jié)果賦值給等號(hào)左邊的變量。
>>> a = input()
123
>>> a
123
>>> type(a)
<type 'int'>
>>> a = input()
abc
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1, in <module>
NameError: name 'abc' is not defined
>>> a = input()
"abc"
>>> a
'abc'
>>> type(a)
<type 'str'>
>>> a = input()
1+3
>>> a
4
>>> a = input()
"abc"+"def"
>>> a
'abcdef'
>>> value = 100
>>> a = input()
value
>>> a
100
Python3版本
沒(méi)有raw_input()函數(shù)价卤,只有input()。并且Python3中的input與Python2中的raw_input()功能一樣渊涝。
運(yùn)算符
算術(shù)運(yùn)算符
賦值運(yùn)算符
復(fù)合賦值運(yùn)算符
常用數(shù)據(jù)類(lèi)型轉(zhuǎn)換
比較邏輯關(guān)系
if判斷語(yǔ)句
if 要判斷的條件:
條件成立時(shí)慎璧,要做的事情
示例:
age = 16
print "------if判斷開(kāi)始------"
if age>=18:
print "我已經(jīng)成年了"
print "------if判斷結(jié)束------"
比較(關(guān)系)運(yùn)算符
邏輯運(yùn)算符