国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

MIT 6.00 導(dǎo)論課程筆記(一)

2019-11-11 05:14:02
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本次筆記是觀看網(wǎng)易公開(kāi)課中麻省理工大學(xué)計(jì)算機(jī)科學(xué)導(dǎo)論課程Lecture01~04的內(nèi)容之后得到的一些總結(jié)。

Lecture 01

Python

課程借助Python語(yǔ)言展開(kāi)對(duì)于計(jì)算機(jī)科學(xué)與編碼的一些說(shuō)明。 Eric介紹到,編程語(yǔ)言有三個(gè)維度:

低級(jí)的語(yǔ)言/高級(jí)的語(yǔ)言

低級(jí)語(yǔ)言如匯編語(yǔ)言更貼近于底層的物理實(shí)現(xiàn),指令記憶復(fù)雜繁瑣;高級(jí)語(yǔ)言如Python更貼近于人類(lèi)語(yǔ)言,記憶較為簡(jiǎn)單。

通用的語(yǔ)言/特定的語(yǔ)言

通用的語(yǔ)言的意思是幾乎可以做所有事,包括完成計(jì)算,網(wǎng)絡(luò)通信,開(kāi)發(fā)app等等;而特定語(yǔ)言是專為某一領(lǐng)域而設(shè)計(jì)的,如Matlab。

解釋型語(yǔ)言/編譯型語(yǔ)言

解釋型語(yǔ)言是由語(yǔ)言內(nèi)置的一個(gè)解釋器逐行解釋代碼并進(jìn)行執(zhí)行,編譯型語(yǔ)言是由編譯器先將源代碼編譯成目標(biāo)代碼(通常為匯編語(yǔ)言),然后再直接執(zhí)行目標(biāo)碼。

Python是高級(jí)的,通用的,解釋型語(yǔ)言。

Syntax, Semantics

Syntax中文意思是“句法,語(yǔ)法”,指的是編程語(yǔ)言所允許的合法的表達(dá)式表述,如果違反了該表述,則會(huì)提示“SyntaxError” 如

if x = 0:

會(huì)彈出

if x = 0: ^SyntaxError: invalid syntax

semantic中文譯解為語(yǔ)義,Eric區(qū)分了兩種semantics

static semantics

指的是在還未運(yùn)行時(shí)程序代碼本身是否是meaningful的,這個(gè)解釋器會(huì)幫助你進(jìn)行debug

full semantics

指的是在代碼運(yùn)行時(shí)完全的語(yǔ)義,“what happens when run”,解釋器無(wú)法完全幫助你進(jìn)行debug,需要自己對(duì)代碼進(jìn)行邏輯判斷。

Lecture 02

type

python中“一切皆對(duì)象”,對(duì)象的type是可以改變的,所以type checking是十分重要的。

straight-line PRograms

直線型編程,程序完全串行執(zhí)行

branching分支boolean表達(dá):and or notloop/Iteration

因?yàn)槲冶救耸怯幸欢ň幊袒A(chǔ)的,所以我只記錄了對(duì)于我來(lái)說(shuō)較為新的觀點(diǎn)和知識(shí)。

Lecture 03

tuple, list

tuple是元組,list是列表的意思

#tuplea = (1,2,3)a(1,2,3)#listb = [1,2,3]b[1,2,3]a[0]1b[0]1

Simulate code

手工模擬代碼可以選用flow chart(流程圖)的方式進(jìn)行逐步模擬。

Defensive programming

防衛(wèi)型程序設(shè)計(jì),對(duì)所有可能的路徑進(jìn)行設(shè)計(jì)。因?yàn)槲覀儫o(wú)法保證用戶輸入一個(gè)什么類(lèi)型的東西,可能其輸入的并不符合我們的要求,所以必須進(jìn)行全方位的思考。

Turing

Turing six primitives

占個(gè)坑,過(guò)一段時(shí)間再來(lái)更新

Tuting complete language

圖靈完備語(yǔ)言。 Python是圖靈完備的,圖靈完備的意思是運(yùn)用該語(yǔ)言可以計(jì)算一切可計(jì)算的。 一般,只要包含下列結(jié)構(gòu),該語(yǔ)言就是圖靈完備的。

assignments 賦值語(yǔ)句conditions 條件input/output 輸入/輸出looping constructs 循環(huán)結(jié)構(gòu)

Lecture 04

這門(mén)課的主要內(nèi)容是Decomposition和Abstraction。

Function

將代碼分解為模塊化的代碼便于理解和再加工。一種常用的方法是函數(shù)

break up into modules

supress details

new primitive

Recursion

遞歸是一種十分適合計(jì)算機(jī)的做法,它需要base case和inductive step。 接下來(lái)是代碼示例

#回文數(shù)palindrome def inPalindrome(s): if len(s)<= 1: return True else: return s[0]==s[-1] and inPalindrome(s[1:-1])#可以輸出縮進(jìn)的回文另一種顯示def isP1(s, indent): print indent,s if len(s)<= 1: print indent,'start with...' return True else: ans = s[0]==s[-1] and isP1(s[1:-1],indent * 2) print indent, ans return ans#############################裴波那契def fib(x): if x == 0 or x == 1: return 1 else: return fib(x-1)+fib(x-2)
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 河南省| 宜章县| 彭水| 合川市| 岑巩县| 河北区| 电白县| 林西县| 福海县| 西充县| 柳林县| 嵊州市| 博罗县| 仁寿县| 商河县| 越西县| 江达县| 铜川市| 新源县| 文昌市| 龙门县| 托克逊县| 灵川县| 石楼县| 蒙城县| 扶风县| 屏东市| 东平县| 平舆县| 沁源县| 休宁县| 祁东县| 遂宁市| 河源市| 云阳县| 枣庄市| 新邵县| 广安市| 桑植县| 班玛县| 容城县|