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á)式
- 在多數(shù)情況下,常用算數(shù)運(yùn)算符的功能和計(jì)算器的相同沫勿。
- 數(shù)值的除法(/)總是返回一個(gè)浮點(diǎn)數(shù)挨约,要獲取整數(shù)使用//操作符。舉個(gè)例子:
>>> 1/2
0.5
>>> 1//2 #取整數(shù)
0
- 特殊運(yùn)算符
%
,是取余運(yùn)算符产雹。舉個(gè)例子:
>>> 10 % 3 # 10 除以 3余 1
1
>>> 9 % 3 # 9 除以 3 余 0
0
- 冪(乘方)運(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í)行程序
- 保存程序:將寫好的代碼保存到后綴是
.py
的文件中躁垛。 - 運(yùn)行程序:
- 命令行下可以直接執(zhí)行:
python /路徑/文件名.py
剖毯。 - Windows 視窗下可以直接雙擊文件運(yùn)行。
- 注釋程序:符號為 井號(#)教馆,在它右邊的一切內(nèi)容都會被忽略逊谋。
注:程序員應(yīng)該確保注釋說的都是重要的事情,而不要重復(fù)代碼中顯而易見的內(nèi)容土铺。
1.11 字符串
字符串即一串字符胶滋,有多種用法,但其中最主要的用法是表示一些文本悲敷。例如:Hello, World!
究恤。
1.11.1 單引號字符串和轉(zhuǎn)義引號
單引號和雙引號的效果是一樣的,可以交叉使用后德,但不能混用部宿。例如:
>>> ' "Hello, World!" she said' # 正確
' "Hello, World!" she said'
>>> "Hello, World!' # 錯(cuò)誤
File "<stdin>", line 1
"Hello, World!'
^
SyntaxError: EOL while scanning string literal如果語句中存在單/雙引號,需要使用反斜線(\)對其進(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
-
長字符串由于跨越多行,所以可以用三個(gè)單引號代替(''')赚瘦,表示形式如下:
print('''This is a very long string. Itcontinues here. And it's not over yet. "Hello, World! " Still here. ''')
原始字符串
原始字符串以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é)
- 本章學(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)成摇予。
- 本章涉及到的新函數(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)換為字符串 |