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

1.1 安裝 python


1.1.1 Windows

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

1.1.2 Linux 和 UNIX

在linux 上用pyenv 進行 Python 多版本的管理。

1.1.3 蘋果機

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

1.1.4 其他發(fā)行版本

除官方版本以外,還可以嘗試 ActivePython 版本,它與標準版的最大區(qū)別在于額外包含了許多獨立的工具(模版)。如果你用 Windows 的話,Active Python 絕對值得一試。

1.1.5 時常關(guān)注,保持更新。

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

1.2 交互式解釋器


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

1.3 算法是什么


算法是對“如何做某事的一種詳細描述”。同義詞:步驟。

1.4 數(shù)字和表達式


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

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

1.4.2 十六進制和八進制

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

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

1.5 變量


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

>>> x=3 

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

1.6 語句


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

>>> print(2*2)
4

>>> x = 3 
>>>

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

>>> 2*2         

1.7 獲取用戶輸入


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

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

1.8 函數(shù)


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

1.9 模塊


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

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

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

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

注: from ... import ... 語句,有可能會導致隱藏的沖突,所以若非真的需要 from 這個形式的 模塊導入語句,否則應(yīng)該堅持使用普通的 import 語句。

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

  1. 保存程序:將寫好的代碼保存到后綴是 .py的文件中。
  2. 運行程序:
  • 命令行下可以直接執(zhí)行:python /路徑/文件名.py
  • Windows 視窗下可以直接雙擊文件運行。
  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!' # 錯誤
    File "<stdin>", line 1
    "Hello, World!'
    ^
    SyntaxError: EOL while scanning string literal

  2. 如果語句中存在單/雙引號,需要使用反斜線(\)對其進行轉(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!"?' #單雙引號混用-錯誤
    'Let's say "Hello,World!"'

1.11.2 拼接字符串

使用+像進行加法運算一樣進行拼接,例如:

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

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

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

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

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

1.12 小結(jié)


  1. 本章學到的東西:
  • 算法:
    算法是對如何完成一項任務(wù)的詳盡描述。實際上,在編寫程序的時候,就是用計算機能夠理解的語言來描述算法。這種對機器友好的描述就叫程序。程序主要包含表達式和語句。
  • 表達式:
    表達式用于表示值。例如;2+2是表達式,表示數(shù)值4。簡單的表達式是通過使用運算符(如+或者%)和函數(shù)(如pow())對字面值(比如2或者“Hello”)進行處理而構(gòu)建起來的。通過把簡單的表達式聯(lián)合起來可以構(gòu)建更加復(fù)雜的表達式(如(-2-2)*(-5+6))。表達式也可以包含變量。
  • 變量:
    變量是一個名字,用于表示某個值。通過x=2這樣的賦值可以為變量賦予新的值。賦值也是一類語句。
  • 語句:
    語句是告訴計算機做某些事的指令。它可能設(shè)計改變變量(如賦值操作)、向屏幕打印內(nèi)容(如print('Hello, World! '))、導入模塊或者許多其它操作。
  • 函數(shù):
    和數(shù)學中的函數(shù)類似,可以帶有參數(shù),并且返回值。
  • 模塊:
    模塊是對 Python 功能的一些拓展,可以被導入到 Python 中。例如:math 模塊中就有許多有用的數(shù)學函數(shù)。
  • 程序:
    程序主要由表達式和語句構(gòu)成。
  • 字符串:
    字符串就是文本片段,由一串字符構(gòu)成。
  1. 本章涉及到的新函數(shù)
函數(shù) 描述
abs(number) 返回數(shù)字的絕對值
cmath.sqrt(number) 返回平方根,也可用應(yīng)用于負數(shù)
float(object) 將字符串和數(shù)字轉(zhuǎn)換為浮點數(shù),默認提供17位精度(小數(shù)點后16位)
help() 提供交互式幫助
input() 獲取用戶輸入
int(object) 將字符串和數(shù)字轉(zhuǎn)換為整數(shù)
long(object) 將字符串和數(shù)字轉(zhuǎn)換為長整數(shù),在Python3.x 中已經(jīng)和int()整合了
math.ceil(number) 返回數(shù)的上入整數(shù),返回一個大于或等于 x 的最小整數(shù)
math.floor(number) 返回數(shù)的下入整數(shù),返回一個等于或小于 x 的最大整數(shù)
math.sqrt(number) 返回平方根,不適用于負數(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 表達式
round(number[, ndigits]) 根據(jù)給定的精度對數(shù)字進行四舍五入,符號[ ]表示精度是可選參數(shù),默認精度精確到個位。
str 將值轉(zhuǎn)換為字符串
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

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

友情鏈接更多精彩內(nèi)容