第一章 快速改造:基礎(chǔ)知識

1.1 安裝 python


1.1.1 Windows

登錄官網(wǎng),下載對應(yīng)版本后點(diǎn)擊安裝就可以了侦讨。

1.1.2 Linux 和 UNIX

在linux 上用pyenv 進(jìn)行 Python 多版本的管理骡和。

1.1.3 蘋果機(jī)

登錄官網(wǎng),下載對應(yīng)版本后雙擊掛載就可以了。

1.1.4 其他發(fā)行版本

除官方版本以外请琳,還可以嘗試 ActivePython 版本,它與標(biāo)準(zhǔn)版的最大區(qū)別在于額外包含了許多獨(dú)立的工具(模版)赠幕。如果你用 Windows 的話俄精,Active Python 絕對值得一試。

1.1.5 時(shí)常關(guān)注榕堰,保持更新竖慧。

訪問相應(yīng)版本的發(fā)布頁面,可以查看該版本的特性逆屡。
還可以訪問 Python 郵件列表(https://mail.python.org/mailman/listinfo) 來了解最新發(fā)布的第三方 Python 模塊和軟件資訊圾旨。

1.2 交互式解釋器


在已安裝 python 的 linux 上,輸入 python 后即可打開 交互式解釋器

1.3 算法是什么


算法是對“如何做某事的一種詳細(xì)描述”魏蔗。同義詞:步驟砍的。

1.4 數(shù)字和表達(dá)式


  1. 在多數(shù)情況下,常用算數(shù)運(yùn)算符的功能和計(jì)算器的相同沫勿。
  2. 數(shù)值的除法(/)總是返回一個(gè)浮點(diǎn)數(shù)挨约,要獲取整數(shù)使用//操作符。舉個(gè)例子:
>>> 1/2
0.5
>>> 1//2          #取整數(shù)
0
  1. 特殊運(yùn)算符%,是取余運(yùn)算符产雹。舉個(gè)例子:
>>> 10 % 3         # 10 除以 3余 1
1
>>> 9 % 3          # 9 除以 3 余 0
0
  1. 冪(乘方)運(yùn)算
    冪運(yùn)算符比取反(一元減運(yùn)算符)的等級要高诫惭,所以 -3 2 等同于 -(32)。如果想要計(jì)算(-3)**2蔓挖,就需要顯式說明夕土。舉個(gè)例子:
>>> 2**3
8
>>> -3**2
-9
>>> (-3)**2
9
1.4.1 長整數(shù)

python3 中已經(jīng)取消了長整數(shù),可以用 int()函數(shù)瘟判,來獲得數(shù)據(jù)類型怨绣。

1.4.2 十六進(jìn)制和八進(jìn)制

十六進(jìn)制和八進(jìn)制的首位數(shù)字都是0(數(shù)字零)。舉個(gè)例子:

>>> hex(12)       #`hex()`函數(shù)可以將十進(jìn)制轉(zhuǎn)換為八進(jìn)制
'0xc'             # 數(shù)字零+小寫字母'xc'
>>> oct(12)       #`oct()`函數(shù)可以將十進(jìn)制轉(zhuǎn)換為十六進(jìn)制
'0o14'            # 數(shù)字零+小寫字母'0'+數(shù)字14

1.5 變量


變量即代表(或者引用)某值的名字拷获,例如:

>>> x=3 

變量名可以包括字母篮撑、數(shù)字和下劃線(_) ,變量名不能以數(shù)字開頭,所以 plan9 是正確的匆瓜,9plan是錯(cuò)誤的赢笨。

1.6 語句


語句是做某件事(即告訴計(jì)算機(jī)做什么)未蝌。其一般特征是:對某一事物進(jìn)行了改變。例如:用 print()語句改變了屏幕顯示的內(nèi)容茧妒,用賦值語句改變了變量萧吠。

>>> print(2*2)
4

>>> x = 3 
>>>

注:表達(dá)式則是只是單純的表示某件事, 例如:

>>> 2*2         

1.7 獲取用戶輸入


可以用input()函數(shù)來獲取用戶輸入的變量值桐筏。例如:

>>> x = input( "x: ")
x:34

1.8 函數(shù)


函數(shù)是已經(jīng)編寫好的纸型,用來實(shí)現(xiàn)特定功能的代碼段。

1.9 模塊


一些函數(shù)的集合梅忌,可以導(dǎo)入到 Python 中擴(kuò)展其功能狰腌。執(zhí)行命令為 import 模塊名。例如:

>>> import math
>>> math.floor(32.9)
>>> 32

在確定自己不會導(dǎo)入多個(gè)同名函數(shù)(從不同模塊中)的情況下铸鹰,可以使用import命令的另一種形式:

>>> from math import sqrt
>>> sqrt(9)
3.0

注: from ... import ... 語句癌别,有可能會導(dǎo)致隱藏的沖突皂岔,所以若非真的需要 from 這個(gè)形式的 模塊導(dǎo)入語句蹋笼,否則應(yīng)該堅(jiān)持使用普通的 import 語句。

1.10 保存并執(zhí)行程序

  1. 保存程序:將寫好的代碼保存到后綴是 .py的文件中躁垛。
  2. 運(yùn)行程序:
  • 命令行下可以直接執(zhí)行:python /路徑/文件名.py剖毯。
  • Windows 視窗下可以直接雙擊文件運(yùn)行。
  1. 注釋程序:符號為 井號(#)教馆,在它右邊的一切內(nèi)容都會被忽略逊谋。
    注:程序員應(yīng)該確保注釋說的都是重要的事情,而不要重復(fù)代碼中顯而易見的內(nèi)容土铺。

1.11 字符串


字符串即一串字符胶滋,有多種用法,但其中最主要的用法是表示一些文本悲敷。例如:Hello, World!究恤。

1.11.1 單引號字符串和轉(zhuǎn)義引號
  1. 單引號和雙引號的效果是一樣的,可以交叉使用后德,但不能混用部宿。例如:
    >>> ' "Hello, World!" she said' # 正確
    ' "Hello, World!" she said'
    >>> "Hello, World!' # 錯(cuò)誤
    File "<stdin>", line 1
    "Hello, World!'
    ^
    SyntaxError: EOL while scanning string literal

  2. 如果語句中存在單/雙引號,需要使用反斜線(\)對其進(jìn)行轉(zhuǎn)義:
    >>>'Let's go!' #都是單引號
    "Let's go!"
    >>>""Hello,World!" she said" #都是雙引號
    '"Hello,World!" she said'
    >>>"Let's say 'Hello,World!'?" #單雙引號混用-正確
    "Let's say 'Hello,World!'"
    >>>'Let's say "Hello,World!"?' #單雙引號混用-錯(cuò)誤
    'Let's say "Hello,World!"'

1.11.2 拼接字符串

使用+像進(jìn)行加法運(yùn)算一樣進(jìn)行拼接瓢湃,例如:

   >>>"Hello, "+"World!"
   'Hello, World!'
1.11.3 字符串表示理张,str()repr()
  • 將值轉(zhuǎn)化為字符串的機(jī)制有兩種,分別是:str()函數(shù)和repr()函數(shù)绵患。
  • 他們的主要區(qū)別是:函數(shù)str() 讓字符串更易于閱讀雾叭,而repr()則把字符串轉(zhuǎn)換為合法的 Python 表達(dá)式。
1.11.4 input()raw_input() 的比較

Python3.x 已經(jīng)把 input()raw_input() 整合在一起落蝙,沒有 raw_input() 了织狐。

1.11.5 長字符串作煌、原始字符串和Unicode
  1. 長字符串由于跨越多行,所以可以用三個(gè)單引號代替(''')赚瘦,表示形式如下:

    print('''This is a very long string.
    Itcontinues here.
    And it's not over yet.
    "Hello, World! "  
    Still here. ''')
    
  2. 原始字符串
    原始字符串以r開頭粟誓,它不會將反斜線當(dāng)成特殊字符。在原始字符串中輸入的每個(gè)字符串都會與書寫的方式保持一致起意。舉例子:
    #我們知道\n可以表示為換行鹰服,并可放于字符串中,如下:
    >>> print('hello, \nworld !')
    hello,
    world !
    #如果我們不想換行呢揽咕?這時(shí)原始字符串就派上用場了悲酷。
    >>> print(r' C:\nowhere ')
    C:\nowhere

注意:原始字符串不能以反斜線(\)結(jié)尾,如果最后一個(gè)字符是反斜線的話亲善,可以將其單獨(dú)作為一個(gè)字符串來處理设易。例如:
>>>print(r' C:\nowhere' '\') #結(jié)尾的反斜線用反斜線進(jìn)行轉(zhuǎn)義,所以其形式寫為 '\'
C:\nowhere\

1.12 小結(jié)


  1. 本章學(xué)到的東西:
  • 算法:
    算法是對如何完成一項(xiàng)任務(wù)的詳盡描述蛹头。實(shí)際上顿肺,在編寫程序的時(shí)候,就是用計(jì)算機(jī)能夠理解的語言來描述算法渣蜗。這種對機(jī)器友好的描述就叫程序屠尊。程序主要包含表達(dá)式和語句。
  • 表達(dá)式:
    表達(dá)式用于表示值耕拷。例如讼昆;2+2是表達(dá)式,表示數(shù)值4骚烧。簡單的表達(dá)式是通過使用運(yùn)算符(如+或者%)和函數(shù)(如pow())對字面值(比如2或者“Hello”)進(jìn)行處理而構(gòu)建起來的浸赫。通過把簡單的表達(dá)式聯(lián)合起來可以構(gòu)建更加復(fù)雜的表達(dá)式(如(-2-2)*(-5+6))。表達(dá)式也可以包含變量赃绊。
  • 變量:
    變量是一個(gè)名字既峡,用于表示某個(gè)值。通過x=2這樣的賦值可以為變量賦予新的值凭戴。賦值也是一類語句涧狮。
  • 語句:
    語句是告訴計(jì)算機(jī)做某些事的指令。它可能設(shè)計(jì)改變變量(如賦值操作)么夫、向屏幕打印內(nèi)容(如print('Hello, World! '))者冤、導(dǎo)入模塊或者許多其它操作。
  • 函數(shù):
    和數(shù)學(xué)中的函數(shù)類似档痪,可以帶有參數(shù)涉枫,并且返回值。
  • 模塊:
    模塊是對 Python 功能的一些拓展腐螟,可以被導(dǎo)入到 Python 中愿汰。例如:math 模塊中就有許多有用的數(shù)學(xué)函數(shù)困后。
  • 程序:
    程序主要由表達(dá)式和語句構(gòu)成。
  • 字符串:
    字符串就是文本片段衬廷,由一串字符構(gòu)成摇予。
  1. 本章涉及到的新函數(shù)
函數(shù) 描述
abs(number) 返回?cái)?shù)字的絕對值
cmath.sqrt(number) 返回平方根,也可用應(yīng)用于負(fù)數(shù)
float(object) 將字符串和數(shù)字轉(zhuǎn)換為浮點(diǎn)數(shù)吗跋,默認(rèn)提供17位精度(小數(shù)點(diǎn)后16位)
help() 提供交互式幫助
input() 獲取用戶輸入
int(object) 將字符串和數(shù)字轉(zhuǎn)換為整數(shù)
long(object) 將字符串和數(shù)字轉(zhuǎn)換為長整數(shù)侧戴,在Python3.x 中已經(jīng)和int()整合了
math.ceil(number) 返回?cái)?shù)的上入整數(shù),返回一個(gè)大于或等于 x 的最小整數(shù)
math.floor(number) 返回?cái)?shù)的下入整數(shù)跌宛,返回一個(gè)等于或小于 x 的最大整數(shù)
math.sqrt(number) 返回平方根酗宋,不適用于負(fù)數(shù)
pow(x, y[, z]) 返回 x 的 y 次冪,所得結(jié)果對 z 取余數(shù)疆拘,符號[ ]表示z是可選參數(shù)
raw_input(prompt) 或者用戶輸入蜕猫,結(jié)果被看作原始字符串,在Python3.x 中已經(jīng)和input()整合了
repr(boject) 將返回的字符串轉(zhuǎn)換為合法的 Python 表達(dá)式
round(number[, ndigits]) 根據(jù)給定的精度對數(shù)字進(jìn)行四舍五入,符號[ ]表示精度是可選參數(shù)哎迄,默認(rèn)精度精確到個(gè)位回右。
str 將值轉(zhuǎn)換為字符串
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市芬失,隨后出現(xiàn)的幾起案子楣黍,更是在濱河造成了極大的恐慌匾灶,老刑警劉巖棱烂,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異阶女,居然都是意外死亡颊糜,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進(jìn)店門秃踩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來衬鱼,“玉大人,你說我怎么就攤上這事憔杨∧窈眨” “怎么了?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵消别,是天一觀的道長抛蚤。 經(jīng)常有香客問我,道長寻狂,這世上最難降的妖魔是什么岁经? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮蛇券,結(jié)果婚禮上缀壤,老公的妹妹穿的比我還像新娘樊拓。我一直安慰自己,他們只是感情好塘慕,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布筋夏。 她就那樣靜靜地躺著,像睡著了一般图呢。 火紅的嫁衣襯著肌膚如雪叁丧。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天岳瞭,我揣著相機(jī)與錄音拥娄,去河邊找鬼。 笑死瞳筏,一個(gè)胖子當(dāng)著我的面吹牛稚瘾,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播姚炕,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼摊欠,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了柱宦?” 一聲冷哼從身側(cè)響起些椒,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎掸刊,沒想到半個(gè)月后免糕,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡忧侧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年石窑,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蚓炬。...
    茶點(diǎn)故事閱讀 39,977評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡松逊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出肯夏,到底是詐尸還是另有隱情经宏,我是刑警寧澤,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布驯击,位于F島的核電站烁兰,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏余耽。R本人自食惡果不足惜缚柏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望碟贾。 院中可真熱鬧币喧,春花似錦轨域、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至史翘,卻和暖如春枉长,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背琼讽。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工必峰, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人钻蹬。 一個(gè)月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓吼蚁,卻偏偏與公主長得像,于是被迫代替她去往敵國和親问欠。 傳聞我的和親對象是個(gè)殘疾皇子肝匆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評論 2 355

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

  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,234評論 0 4
  • http://python.jobbole.com/85231/ 關(guān)于專業(yè)技能寫完項(xiàng)目接著寫寫一名3年工作經(jīng)驗(yàn)的J...
    燕京博士閱讀 7,575評論 1 118
  • 初見元淳旗国,跟諸多哥哥撒嬌斗嘴 是嬌滴滴任性驕傲的小女生 天地明亮陽光充沛她是迎風(fēng)開放的花朵 燕洵哥哥,燕洵哥哥 聲...
    牛奶coco123閱讀 424評論 0 0
  • 華子的人生蛻變之旅原創(chuàng)第380篇 2017年12月21日 星期四 晴(農(nóng)歷十一月初四) 天漸漸變冷注整,小伙今...
    譽(yù)仔媽媽閱讀 343評論 3 4