Python基礎(chǔ)知識

一扇商、Python簡介? ? ? ? Python 是一種解釋型語言屎暇,在 Python 中,由于內(nèi)存管理是由 Python 解釋器負(fù)責(zé)的崩侠。? ? ? ? Python 提供了“安全合理”的退出機(jī)制,讓程序員能掌控局面费薄。一旦你的 Python 由于錯誤崩潰,解釋程序就會轉(zhuǎn)出一個“堆棧跟蹤”,那里面有可用到的全部信息,包括你程序崩潰的原因以及是那段代碼(文件名后德、行數(shù)部宿、行數(shù)調(diào)用等等)出錯了。這些錯誤被稱為異常瓢湃。如果在運行時發(fā)生這樣的錯誤,Python 使你能夠監(jiān)控這些錯誤并進(jìn)行處理理张。? ? ? ? Python 是用 C 寫的,又由于 C 的可移植性,使得 Python 可以運行在任何帶有 ANSI C 編譯器的平臺上。盡管有一些針對不同平臺開發(fā)的特有模塊,但是在任何一個平臺上用 Python 開發(fā)的通用軟件都可以稍事修改或者原封不動的在其他平臺上運行绵患。這種可移植性既適用于不同的架構(gòu),也適用于不同的操作系統(tǒng)雾叭。? ? ? ? Python 的面向?qū)ο蟮奶匦允桥c生俱來的。然而,Python 絕不想 Java 或 Ruby 僅僅是一門面向?qū)ο笳Z言,事實上它融匯了多種編程風(fēng)格藏雏。例如,它甚至借鑒了一些像 Lisp 和 Haskell 這樣的函數(shù)語言的特性拷况。? ? ? ? 文件擴(kuò)展名? ? ? ? Python 源文件通常用.py 擴(kuò)展名作煌。當(dāng)源文件被解釋器加載或者顯式地進(jìn)行字節(jié)碼編譯的時候會被編譯成字節(jié)碼掘殴。由于調(diào)用解釋器的方式不同,源文件會被編譯成帶有.pyc 或.pyo 擴(kuò)展名的文件。1.Python可以做什么粟誓?? - 日常任務(wù),小工具奏寨,eg:備份mp3,系統(tǒng)管理員需要的腳本任務(wù)? ? - 做網(wǎng)站鹰服,eg:YouTube病瞳,國內(nèi)的豆瓣揽咕,Google,Yahoo? ? - 網(wǎng)絡(luò)游戲的后臺? ? - 爬蟲? 2.python不可以做什么?? ? - 操作系統(tǒng)只能用C語言編寫? ? - 手機(jī)應(yīng)用套菜,iOS用Object-C, Android用Java? ? - 3D游戲亲善,最好用C,C++3.各系統(tǒng)下的Python的開發(fā)環(huán)境:? Windows: 網(wǎng)頁鏈接Linux: yum install python -y? ? Mac:自帶python2.7(OS>10.8)4.python編輯器? ? linux:vim逗柴,emacs蛹头,gedit? windows:不要用記事本,會在每個文件的開始加一個特殊字符0xefbbbf戏溺,? ? ? ? ? ? ? ? ? ? notepad++? ? ? ? ? ? ? ? ? ? sublime? ? ? ? ? ? ? ? ? ? atom5. python解釋器? ? cpython? ? ipython:基于cpython渣蜗,交互方式有所增強(qiáng)? ? pypy: 對代碼進(jìn)行動態(tài)編譯,JIT技術(shù)(just-in-time compiler,即時編譯器)旷祸,顯著提高代碼執(zhí)行速度耕拷。? ? Jpython: java平臺上的python解釋器,將python代碼編譯成java字節(jié)碼執(zhí)行托享。? ? IronPython: 直接將python代碼編譯成.net的字節(jié)碼6.安裝python[root@localhost ~]# yum install python[root@localhost ipython]# yum install *[root@localhost ~]# python? ? ? ? ? ? ? ? ##啟動python要訪問 Python, 除非你已經(jīng)將 Python 所在路徑添加到系統(tǒng)搜索路徑之中, 否則就必須輸入 Python 的完整路徑名才可以啟動 Python骚烧。Python 一般安裝在 /usr/bin 或/usr/local/bin子目錄中。7.安裝ipython? #yum install *openpgm-5.2.122-2.el7.x86_64.rpmpython-ipython-3.2.1-1.el7.noarch.rpmpython-ipython-console-3.2.1-1.el7.noarch.rpmpython-ipython-gui-3.2.1-1.el7.noarch.rpmpython-jsonschema-2.3.0-1.el7.noarch.rpmpython-mistune-0.5.1-1.el7.x86_64.rpmpython-path-5.2-1.el7.noarch.rpmpython-pip-7.1.0-1.el7.noarch.rpmpython-pygments-1.4-9.el7.noarch.rpmpython-simplegeneric-0.8-7.el7.noarch.rpmpython-zmq-14.3.1-1.el7.x86_64.rpmzeromq3-3.2.5-1.el7.x86_64.rpm? ? #ipython? ? ? ? ? ? ? ? ? ##啟動ipython二闰围、Python基礎(chǔ)知識1.Python輸出print:? ? 注意:不加引號默認(rèn)是變量? ? 可以作運算:? In [2]: a=hello? ? ? ? ? ? ? ? ? ? ##不加引號默認(rèn)是變量? ? ---------------------------------------------------------------------------? ? NameError? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Traceback (most recent call last)in()? ? ----> 1 a=hello

NameError: name 'hello' is not defined

In [3]: a="hello"? ? ? ? ? ? ? ? ? ##定義字符串變量a

In [4]: print a? ? ? ? ? ? ? ? ? ? ? ? ? hello

In [5]: print 100+100? ? ? ? ? ##做運算? ? 200

In [6]:

print 語句,與字符串格式運算符(% )結(jié)合使用,可實現(xiàn)字符串替換功能

示例:

>>> print "%s is number %d!" % ("Python", 1)Python is number 1!

2.輸入:raw_input()

下劃線(_)在解釋器中有特別的含義,表示最后一個表達(dá)式的值止潘。

示例:

In [19]: 9-3Out[19]: 6

In [20]: _Out[20]: 6

練習(xí)1:輸入兩個數(shù)字,相加后輸出:

#!/usr/bin/python

a = raw_input("input first number:")

b = raw_input("input second number:")

print int(a)+int(b)

3.Python腳本

1)Python 腳本使用擴(kuò)展名 .py

2)腳本啟動行

#!/usr/bin/python? ? ##辫诅!后面跟的路徑是你python解釋器的絕對路徑

當(dāng)你不能確定 Python 的具體路徑或者 Python 的路徑經(jīng)常變化時(但不能挪到系統(tǒng)搜索路徑之外), env 就非常有用凭戴。它會幫你在系統(tǒng)搜索路徑中找到 python 解釋器。

如果你的系統(tǒng)擁有 env, 你的啟動行就可以改為下面這樣:

!/usr/bin/env python

或者, 如果你的 env 位于 /bin 的話,

#!/bin/env python

3)當(dāng)python腳本中有中文時炕矮,需要制定編碼格式:

#coding:utf-8

#coding=utf-8

#encoding:utf-8

#encoding=utf-8

#-*-coding:utf-8-*-

4)執(zhí)行python腳本

a.不管哪種 Unix 平臺, Python 腳本都可以象下面這樣,在命令行上通過解釋器執(zhí)行:$ python script.py

b.給python腳本一個執(zhí)行權(quán)限么夫,直接用絕對路徑的方式執(zhí)行

$ ./script.py? ? ? ? ? ##當(dāng)前工作路徑在腳本所在路徑時,可以這樣執(zhí)行

5).python IDE

安裝pycharm:

a.安裝包pycharm-community-4.0.1.tar.gz

b.解壓縮

[root@localhost software]# tar zxf pycharm-community-4.0.1.tar.gz -C /mnt/c.進(jìn)入解壓后目錄

[root@localhost bin]# cd /mnt/pycharm-community-4.0.1/bind.[root@localhost bin]# ./pycharm.sh

之后就進(jìn)入圖形窗口

4.注釋和大部分腳本及 Unix-shell 語言一樣,Python 也使用 # 符號標(biāo)示注釋,從 # 開始,直到一行結(jié)束的內(nèi)容都是注釋肤视。

5.變量定義原則

首字母小寫档痪,見名知義,駝峰標(biāo)示邢滑,數(shù)字不能作首字母

python變量名是大小寫敏感的

Python 是動態(tài)類型語言, 也就是說不需要預(yù)先聲明變量的類型腐螟。 變量的類型和值在賦值那一刻被初始化。

Python 不支持 C 語言中的自增 1 和自減 1 運算符, 這是因為 + 和 - 也是單目運算符,Python 會將 --n 解釋為-(-n) 從而得到 n , 同樣 ++n 的結(jié)果也是 n.

Python 也支持增量賦值,也就是運算符和等號合并在一起

注意:python中兩個變量相同時困后,兩個名字指向的同一個內(nèi)存地址

練習(xí)2:

交互模式:計算一月和四月分別有多少分鐘乐纸,使用變量daysPerMonth,hoursPerDay摇予,minutesPerHour? ? 寫腳本:

#!/usr/bin/python

#coding=utf-8

daysPerMonth1=31

daysPerMonth2=30

hoursPerDay=24

minutesPerHour=60

print "1月有",daysPerMonth1*hoursPerDay*minutesPerHour,"分鐘"

print "4月有",daysPerMonth2*hoursPerDay*minutesPerHour,"分鐘"

6.數(shù)值類型

(1)整形int:

(2)長整形long:

定義一個long變量a=1L

In [14]: a=1L

In [15]: type(a)

Out[15]: long

從長遠(yuǎn)來看, 整型與長整型正在逐步統(tǒng)一為一種整數(shù)類型汽绢。從 Python2.3 開始,再也不會報整型溢出錯誤, 結(jié)果會自動的被轉(zhuǎn)換為長整數(shù)。在未來版本的 Python 中, 兩種整數(shù)類型將會無縫結(jié)合, 長整數(shù)后綴 “L”也會變得可有可無侧戴。

(3)浮點型float:

In [9]: a=5? ? ? ? In [10]: type (2)? ? ? ? Out[10]: int

In [11]: print a/2? ? ? ? 2? ? ? ? ? ? ? ? ? ? ? ##除數(shù)被除數(shù)都是整形時宁昭,結(jié)果為整形跌宛,當(dāng)二者其一是浮點型,答案為浮點型? ? ? ? In [6]: a=1.4

In [7]: type (a)? ? ? ? Out[7]: float

In [8]: print a/2? ? ? ? 0.7

浮點型的另一種表示方法:科學(xué)計數(shù)法? ? ? ? ? ? In [12]: a=1.2e-3

In [13]: print a? ? ? ? ? ? 0.0012

(4)復(fù)數(shù):complex? ? ? ? 定義一個復(fù)數(shù):? ? ? ? In [16]: a=2j-3? ? ? ? In [18]: type(a)? ? ? ? Out[18]: complex

(5)布爾值:True,False

7.運算符和表達(dá)式:

邏輯運算符:not,or,and

算術(shù)運算符:+积仗,-疆拘,*,/寂曹,%入问,**

關(guān)系運算符:>,<,>=,<=,!=,==

賦值運算符:=,+=稀颁,-=*=芬失,/=,%=

練習(xí)3:四則表達(dá)式匾灶,用if語句實現(xiàn)? ? if判斷語句后要加:表示縮進(jìn)

#!/usr/bin/python

#coding=utf-8

num1 = raw_input("input first number:")

operator = raw_input("input operater:")

num2 = raw_input("input second number:")

if operator == "+":

print num1,operator,num2,"=",int(num1)+int(num2)

elif operator == "-":

print num1,operator,num2,"=",int(num1)-int(num2)

elif operator == "*":

print num1,operator,num2,"=",int(num1)*int(num2)

elif operator == "/":

print num1,operator,num2,"=",float(num1)/float(num2)

else :? ? ? ? ? ? print "operator error!"

三棱烂、序列

1.字符串

定義:

1)str = “hello”

2)str = ‘hello’

3)str = """hello""" 或 str = '''hello'''? ##不會改變引號內(nèi)的格式

In [1]: str = "hello"

In [2]: print str? ? ? ? ? ? hello

In [3]: str = 'hello'

In [4]: print str? ? ? ? ? ? hello

In [5]: str = """hello? ? ? ? ? ? ? ...:? ? ? ? i? ? ? ? ? ? ? ...:? ? ? ? am? ? ? ? ? ? ? ...: """

In [6]: print str? ? ? ? ? ? hello? ? ? ? ? ? ? ? i? ? ? ? ? ? ? ? am

In [7]: str = '''hello? ? ? ? ? ? ? ...:? ? ? ? i? ? ? ? ? ? ? ...:? ? ? ? am? ? ? ? ? ? ? ...: '''

In [8]: print str? ? ? ? ? ? hello? ? ? ? ? ? ? ? i? ? ? ? ? ? ? ? am

索引:

In [38]: a[1]

Out[38]: 'b'

字符串連接:

In [39]: a[1]+a[4]

Out[39]: 'be'

切片:

In [40]: a[1:4]

Out[40]: 'bcd'

In [41]: a[1:4:2]? ? ? ? Out[41]: 'bd'

In [42]: a[-1:-4]? ? ? ? Out[42]: ''

In [43]: a[-1:-4:-1]? ? ? ? Out[43]: 'edc'

In [44]: a[-1:-4:-2]? ? ? ? Out[44]: 'ec'

In [45]: a[:]? ? ? ? Out[45]: 'abcde'

求字符串長度:

In [1]: a="oiuy"

In [2]: len(a)

Out[2]: 4

*字符串重復(fù):

In [3]: print "wu"*20

wuwuwuwuwuwuwuwuwuwuwuwuwuwuwuwuwuwuwuwu

判斷字符串是否在某個字符串內(nèi):

In [1]: a="oiuy"

In [4]: "ad" in a

Out[4]: False

In [5]: "oi" in a

Out[5]: True

練習(xí)4:輸入一個字符,判斷是否在字符串中

#!/usr/bin/env python

str1="ljsoioi"

a=raw_input("input a word:")

if a in str1:

#print str1," has ",a

print "%s has %s" %(str1,a)? ? ##兩個都可以

else:

#print str1," has not ",a

print "%s has not %s" %(str1,a)

字符串內(nèi)容的比較:

In [1]: str1="2531424"

In [2]: max(str1)? ? ##求字符串里的最大值

Out[2]: '5'

In [3]: min(str1)? ? ##求字符串里的最小值

Out[3]: '1'

In [4]: str1="45"

In [5]: str2="123"

In [6]: cmp(str1,str2)? ? ##比較倆個字符串的大小阶女,一位一位比

Out[6]: 1? ? ? ? ##4>5颊糜,所以是1

可以將列表和元組當(dāng)成普通的“數(shù)組”,它能保存任意數(shù)量任意類型的 Python 對象。和數(shù)組一樣,通過從 0 開始的數(shù)字索引訪問元素,但是列表和元組可以存儲不同類型的對象秃踩。列表和元組有幾處重要的區(qū)別衬鱼。列表元素用中括號( [ ])包裹,元素的個數(shù)及元素的值可以改變。元組元素用小括號(( ))包裹,不可以更改(盡管他們的內(nèi)容可以)憔杨。元組可以看成是只讀的列表鸟赫。通過切片運算( [ ] 和 [ : ] )可以得到子集,這一點與字符串的使用方法一樣。

學(xué)好python你需要一個良好的環(huán)境消别,一個優(yōu)質(zhì)的開發(fā)交流群抛蚤,群里都是那種相互幫助的人才是可以的,我有建立一個python學(xué)習(xí)交流群寻狂,在群里我們相互幫助岁经,相互關(guān)心,相互分享內(nèi)容蛇券,這樣出問題幫助你的人就比較多缀壤,群號是301,還有056纠亚,最后是051塘慕,這樣就可以找到大神聚合的群,如果你只愿意別人幫助你菜枷,不愿意分享或者幫助別人苍糠,那就請不要加了叁丧,你把你會的告訴別人這是一種分享啤誊。如果你看了覺得還可以的麻煩給我點個贊謝謝

岳瞭。

學(xué)習(xí)是對自己最好的投資,而機(jī)會屬于有準(zhǔn)備的人蚊锹,這是一個看臉的時代瞳筏,但最終拼的是實力。人和人之間的差距不在于智商牡昆,而在于如何利用業(yè)余時間姚炕,所以沒有等出來的輝煌,只有干出來的精彩丢烘。其實只要你想學(xué)習(xí)柱宦,什么時候開始都不晚,不要擔(dān)心這擔(dān)心那播瞳,你只需努力掸刊,剩下的交給時間,而你之所以還沒有變強(qiáng)赢乓,只因你還不夠努力忧侧,要記得付出不亞于任何人的努力。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末牌芋,一起剝皮案震驚了整個濱河市蚓炬,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌躺屁,老刑警劉巖肯夏,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異犀暑,居然都是意外死亡熄捍,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進(jìn)店門母怜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來余耽,“玉大人,你說我怎么就攤上這事苹熏〉郑” “怎么了?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵轨域,是天一觀的道長袱耽。 經(jīng)常有香客問我,道長干发,這世上最難降的妖魔是什么朱巨? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮枉长,結(jié)果婚禮上冀续,老公的妹妹穿的比我還像新娘琼讽。我一直安慰自己,他們只是感情好洪唐,可當(dāng)我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布钻蹬。 她就那樣靜靜地躺著,像睡著了一般凭需。 火紅的嫁衣襯著肌膚如雪问欠。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天粒蜈,我揣著相機(jī)與錄音顺献,去河邊找鬼。 笑死枯怖,一個胖子當(dāng)著我的面吹牛滚澜,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播嫁怀,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼设捐,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了塘淑?” 一聲冷哼從身側(cè)響起萝招,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎存捺,沒想到半個月后槐沼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡捌治,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年岗钩,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片肖油。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡兼吓,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出森枪,到底是詐尸還是另有隱情视搏,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布县袱,位于F島的核電站浑娜,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏式散。R本人自食惡果不足惜筋遭,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧漓滔,春花似錦编饺、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽那伐。三九已至踏施,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間罕邀,已是汗流浹背畅形。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留诉探,地道東北人日熬。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像肾胯,于是被迫代替她去往敵國和親竖席。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,435評論 2 359

推薦閱讀更多精彩內(nèi)容