最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

[oeasy]python0010_hello_world_unix_c歷史迷因

2022-11-04 19:09 作者:oeasy  | 我要投稿


Hello World!

回憶上次內(nèi)容

  • 我們這次設(shè)置了斷點

    • 調(diào)試 debug

    • 這個bug蟲子??是有歷史淵源的

    • 設(shè)置斷點的目的是更快地調(diào)試

    • 調(diào)試的目的是去除 bug

    • 別害怕 bug

    • 一步步地總能找到 bug

    • 這就是程序員基本功

  • 編程也是有歷史迷因的

    • 為什么寫程序都從hello world開始???

為啥總是Hello World

奇怪??

  • 不論學(xué)習(xí)什么編程語言

    • 總是從Hello World開始

  • 為什么呢???

起源

  • 這一切都要從頭說起

    • linux 操作系統(tǒng)的老祖宗 unix

    • unix 對應(yīng)的編程語言 c

  • 那是一切開始的地方

兩人

  • 1969 年,由于所在 at&t 貝爾實驗室的 Multics 項目失敗

  • 無所事事的兩人

    • Kenneth Thompson

    • Dennis Ritchie

游戲

  • 希望能在 PDP 機器上繼續(xù)玩一個游戲

    • 這個游戲是 Multics 下的 star travel

  • 為了玩這個游戲

    • 他們想要做一個操作系統(tǒng) unix

  • 為了制作操作系統(tǒng)

    • 他們創(chuàng)造了 c 語言的編譯器

  • 當(dāng)時

    • c 是他們?yōu)榱碎_發(fā) unix 而制作的語言

    • unix 是為了能玩 star travel 而制作的系統(tǒng)

hello world!

  • cunix 只能運行在當(dāng)時的機器上

    • 沒有文檔

    • 沒有書籍

    • 甚至沒有人知道

  • 與他們同在 bell 實驗室的 Brian Wilson Kernighan a.k.a bwk

    • 開始寫 c 語言的類似于文檔說明書的東西

手稿

  • 主體的函數(shù)叫做 main函數(shù)

    • 里面輸出函數(shù)叫做 printf函數(shù)

  • 不管是main函數(shù),還是printf函數(shù)都有小括號

    • 小括號 從那個時候就和函數(shù)相關(guān)

  • 為什么輸出字符要用printf來當(dāng)做函數(shù)名呢?

print 來歷

  • 1974 年的手稿??

    • 寫在打字機用紙的上面

    • 側(cè)面的空洞是向上送紙用的

    • 是不是很像膠片

  • 打字機就是當(dāng)時的顯示器

    • 所以用 print 來表示輸出

    • f 的意思是 format 格式

    • printf 是按格式輸出

細(xì)節(jié)

  • printf函數(shù) 后面有 小括號

    • 函數(shù)print參數(shù)"hello world"

    • 小括號 里面放的是 函數(shù)參數(shù)

    • print("hello world")

  • 雙引號 引起來意味著hello world字符串

    • 輸出的內(nèi)容就是這個字符串 ("hello world")

  • 小括號和雙引號的風(fēng)格延續(xù)到了 python

  • c語言 開始

    • 所有的編程語言第一個例子都是hello world

    • 是一種規(guī)矩或者文化

    • 最早的入門教學(xué)程序都做一個hello world

    • 習(xí)慣成自然之后

  • 這個梗一直流傳到今天

    • 除了時間因素之外

    • 還有一個重要的原因

成書

  • 有了教材就有更多人學(xué)

    • 有更多人學(xué)就有更多人參與其中

  • 正反饋在逐漸成型

教材風(fēng)格

  • 1978 年,KernighanRitchie出版了這本書

    • 不厚,很薄

    • 輕松的語言風(fēng)格

    • 因為 c 的目的就是讓人像玩一樣編程

    • 而不是記憶各種 cpu 匯編指令

  • 蓬勃發(fā)展的計算機技術(shù)

    • 使得 c 語言成為系統(tǒng)語言的老大

    • python 的源代碼就是用純 c 編的

    • linux 內(nèi)核 也是用純 c 編的

    • 所以c還是非常核心的啊

  • 雖說 python 是用純 c 編寫的

    • 不過 python 一旦出現(xiàn)之后就可以簡化好多東西

    • 比如我們的游樂場里面有很多的函數(shù)和模塊

  • 我們?yōu)槭裁茨苷J(rèn)識print?

    • 而不認(rèn)識pront?

內(nèi)置函數(shù)

  • dir()

    • 可以看到游樂場上來就自帶的模塊

  • 比如 dir() 這個函數(shù)

    • dir的意思是directory 文檔目錄

    • 這里列出的是已經(jīng)導(dǎo)入模塊的目錄

  • 調(diào)用這個函數(shù)可以知道當(dāng)前游樂場載入了哪些模塊

  • 比如 __builtins__ 這個模塊

  • __builtins__ 里面又有些什么呢?

dir()

  • dir(__builtins__)

    • 注意前后都是兩個下劃線

  • __builtins__ 意思是在里面構(gòu)建好的

    • exit()

    • print()

    • dir()

    • help()

    • 這里面有好多內(nèi)置的函數(shù)

    • 包括我們熟悉的

  • 為什么print直接就能用

    • 因為他在默認(rèn)的這個__builtins__模塊中

  • 如果我想要查詢print函數(shù)更詳細(xì)的信息應(yīng)該如何呢?

help(print)

  • 什么不會就help什么

    • help(print)

    • 把函數(shù)名作為參數(shù)傳進去

  • 類似的還可以查詢

    • help(quit)

    • help(dir)

    • help(help)

  • 如果我想要查詢__builtins__模塊更詳細(xì)的信息應(yīng)該如何呢?

help(__builtins__)

  • help(__builtins__)

    • 注意內(nèi)置模塊builtins左右各有兩個下劃線

  • 我們可以查詢到__builtins__模塊的幫助文件

    • 還可以引入外部模塊

    • 返回的這些函數(shù)和子模塊都隸屬于 __builtins__ 這個模塊

    • 除了內(nèi)置的、這些不用引入就可以用的模塊之外

導(dǎo)入外部模塊

  • 就像我們上次導(dǎo)入ast一樣

    • 這次我們導(dǎo)入的是__hello__

    • 注意hello兩邊都有兩個下劃線

import __hello__

  • import

    • port是港口 來自于海洋文化

    • import 是進口 是導(dǎo)入

    • export 是出口 是導(dǎo)出

    • import 后面接空格

    • 然后是被導(dǎo)入的外部模塊名稱 __hello__

    • hello左右也是兩個下劃線

  • __hello__模塊導(dǎo)入到游樂場

    • 可以輸出經(jīng)典的一句話

  • 注意!

    • 導(dǎo)入 __hello__ 模塊前后游樂場中的模塊增加了

  • 想要深入了解 __hello__ 應(yīng)該怎么辦呢?

什么不會就help什么

help(__hello__)

總結(jié)

  • hello world 不是從來就有的

    • 來自于unixc

    • 雖然我們今天有各種先進的學(xué)習(xí)手段

    • 最早的高級語言學(xué)習(xí)是從最早的那張打字機用紙的手寫代碼起源的

  • 輸出用的函數(shù)名是 print 打印

    • 也是從那個時候來的

  • 最早輸出的是字符串是 "hello world"

    • 也是從那個時候來的

  • 這就成了一個迷因

  • 等等!

    • 計算機里面不都是二進制的 0 和 1 嗎

    • 哪里來的hello 中的 h 之類的

  • 藍(lán)橋->https://www.lanqiao.cn/teacher/3584

  • github->https://github.com/overmind1980/oeasy-python-tutorial

  • gitee->https://gitee.com/overmind1980/oeasypython

  • 視頻->https://www.bilibili.com/video/BV1CU4y1Z7gQ 作者:oeasy


[oeasy]python0010_hello_world_unix_c歷史迷因的評論 (共 條)

分享到微博請遵守國家法律
东阳市| 鱼台县| 灵山县| 台江县| 壤塘县| 青岛市| 巴中市| 福清市| 鄱阳县| 老河口市| 元江| 勐海县| 嵊州市| 中牟县| 津市市| 德清县| 梨树县| 五指山市| 甘孜县| 金坛市| 桦甸市| 鲁甸县| 环江| 潞城市| 阿坝县| 柳江县| 威远县| 开封市| 浦江县| 陆川县| 射阳县| 呈贡县| 垫江县| 梁平县| 紫阳县| 类乌齐县| 吴堡县| 东兰县| 岐山县| 平武县| 仁化县|