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

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

[oeasy]python0070_動(dòng)態(tài)類型_靜態(tài)類型_編譯_運(yùn)行_匈牙利命名法

2023-07-03 12:28 作者:oeasy  | 我要投稿

動(dòng)態(tài)類型_靜態(tài)類型

回憶上次內(nèi)容

  • 上次了解了 幫助文檔的 生成

    • 開頭的三引號(hào)注釋 可以生成 幫助文檔

    • 文檔 可以寫成網(wǎng)頁

  • python3 本身

    • 也有 在線的幫助手冊(cè)

  • 目前的程序

    • 提高了 可讀性

  • 還有什么方法

    • 可以讓程序 可讀么???

  • 可以 根據(jù) 變量名

    • 知道 變量類型 嗎?

動(dòng)態(tài)類型 - dynamic type

  • 編寫一個(gè)test.py

  • 運(yùn)行結(jié)果

  • age變量 的類型

    • 從 整型數(shù)字

    • 轉(zhuǎn)變?yōu)?字符串

  • 同一變量名age 指向的類型

    • 可以從整型數(shù)字

    • 動(dòng)到 字符串

    • 就是動(dòng)態(tài)類型

  • python 是 一門

    • 動(dòng)態(tài)類型語言

  • 那有沒有 靜態(tài)類型呢?!

靜態(tài)類型 - static type

  • 編輯 test.c

  • :w|!gcc %

    • 保存并且

    • 用外部命令gcc 編譯當(dāng)前文件

  • 編譯失敗

  • test.c中聲明了

    • age 是 整型變量

  • 不能 再將

    • 字符類型’1’

    • 賦給變量age

  • 變量類型一旦被聲明

    • 就不能動(dòng)了

    • 這就是 態(tài)類型

  • c 是 一門

    • 靜態(tài)類型語言

靜態(tài)類型 vs 動(dòng)態(tài)類型

  • 變量類型 是

    • 編程語言的核心

  • 靜態(tài)類型

    • 類型錯(cuò)了

    • 編譯都無法通過

    • 數(shù)值 可以改變

    • 類型 不再改變

    • 提高效率

    • 聲明類型 之后

    • 需要在編程前思考清楚

    • 動(dòng)態(tài)類型

      • 類型 還可以改變

      • 自主靈活

      • 聲明之后

      • 但 容易忘記 變量類型

      • 導(dǎo)致 出錯(cuò)

    動(dòng)態(tài)靜態(tài)PHPC/C++RubyJAVAPythonC#

    動(dòng)態(tài)類型的優(yōu)勢(shì)

    • 動(dòng)態(tài)類型語言里

      • 不怎么 追求明確

      • 因?yàn)?不需要編譯

      • 能解釋得通 就行

      • 解釋腳本語言多

      • 類型 全靠 解釋器

      • 自由 散漫

      • 這種靈活性

        • 容易和各種其他編程語言 配合

        • 跑起來很容易

        • 導(dǎo)致python

        • 而且

        • 這就是 python 被叫做

          • 膠水語言(glue Language)的原因

        • 各種語言

          • 是怎么聲明變量的呢?

        聲明演示

        • 不同語言

          • 聲明變量的語法不一樣

        • 看看下面這些語言

        語言聲明vbDim sum As Integerc/c++ java c#int sum;Pascal Delphisum:Integer;Javascriptvar sum;

        • 可以看出

          • 不知道到底用的是什么類型

          • 靜態(tài)類型都很明確

          • 動(dòng)態(tài)類型就很模糊

        • python 雖然是動(dòng)態(tài)語言

          • 但是 類型這個(gè)事情

          • 一定要明確

          • 最好 在源代碼層面明確

        • 否則

          • 動(dòng)態(tài)語言 一時(shí)爽

          • 后期重構(gòu) 火葬場(chǎng)

        自省 introspection

        • 雖然 python中 變量聲明

          • 可以不在乎數(shù)據(jù)類型

        • 可是

          • 我們必須明確 數(shù)據(jù)類型

        • 這個(gè)時(shí)候 就需要自省

          • introspection

        • introspectation

          • 來自 *spec-

          • 向內(nèi)的

          • intro

          • spectation

          • 向內(nèi)看就是自省

          • 怎么自省呢?

          type函數(shù)

          • type就是類型

          • 自省

            • 知道自己是干嘛的

            • 是什么類型額

          • 知道了之后有什么用呢?

          自省之后

          • 自省之后

            • 知道了自己的類型

          • 不同類型 的變量

            • 有不同的成員函數(shù) 和 運(yùn)算方式

          • 可以在變量名上

            • 刻意提醒 嗎?

          刻意提醒

          • 把類型作為前綴

            • integer

            • 整型數(shù)字

            • string

            • 字符串

            • 明確寫在變量名上

            • 從而提高可讀性

            • s

            • i

            • 這樣變量

              • 不但 有了 明確的語義

              • 而且 明確了 數(shù)據(jù)類型

            • 更容易 發(fā)現(xiàn)錯(cuò)誤

            • 再明確一下這兩個(gè)前綴

            前綴

            • s前綴

              • 意思來自于string

              • 代表變量是字符串型的

            • i前綴

              • 意思來自于integer’

              • 代表變量是整型的

            • 這樣變量名

              • 不但包含了變量含義

              • 而且包含了變量的類型

              • 甚至 可以包括 描述信息

            • 這種 標(biāo)識(shí) 變量類型的方法

              • 來自于哪里呢?

            匈牙利命名法

            • 匈牙利命名法

              • 將類型 作為 變量名前綴

            • 匈牙利命名法

              • 命名慣例 本來是小駝峰的

              • 現(xiàn)在根據(jù)python的命名慣例(name convention)

              • 改成蛇形的(snake case)

            • 這樣就可以

              • 明確知道 變量的數(shù)據(jù)類型 了

            • 可是 這個(gè)和匈牙利

              • 有什么關(guān)系呢?

            匈牙利命名法由來

            • 查爾斯·西蒙尼

              • 和 馮·諾依曼 一個(gè)地方

              • 生于 匈牙利 布達(dá)佩斯

            • 父親 是 布達(dá)佩斯大學(xué) 電氣工程教授

              • 研發(fā)了 核粒子加速器

            • 西蒙尼 從小 就在計(jì)算機(jī)實(shí)驗(yàn)室 做兼職

              • 去了美國(guó)

              • 離開了匈牙利

              • 在丹麥寫ALGOL的編譯器

              • 并賣給了政府

              • 研發(fā)了 編譯器

              • 17歲

              • 后來

              后來

              • 在施樂公司

                • 開發(fā)了第一個(gè)所見即所得文檔準(zhǔn)備程序

                • WYSIWYG /?w?ziw?ɡ/

                • Butler Lampson推動(dòng)下

              • 原來

                • 都是 用代碼模式 編輯富文本文檔

              • 此后

                • 可以 所見即所得

              • 1981年

                • 遇到 比爾蓋茨

                • 從此 加盟微軟

                • 主導(dǎo) word和excel的研發(fā)

                • 并倡導(dǎo) 匈牙利命名法

              • 匈牙利命名法

                • 明確 變量類型

                • 這對(duì)于 運(yùn)算特別重要

              • 由于 變量類型不同

                • 就會(huì)不同么???

                • 運(yùn)算結(jié)果

              運(yùn)算結(jié)果

              • 類型不同

                • 確實(shí) 運(yùn)算結(jié)果是不同的

              • input 函數(shù)

                • 返回得到的 變量 是什么類型 呢?

              input 函數(shù)返回值類型

              • input函數(shù) 返回值的類型

                • 好像是字符串類型的

              • 可是

                • 需求要的是 整數(shù)類型 啊?

              • 怎么辦?

              轉(zhuǎn)化函數(shù)

              • 使用 int 函數(shù)

                • 就可以完成相應(yīng)的轉(zhuǎn)化

              • 那么 這個(gè) int 函數(shù)

                • 到底是 什么意思 來著?

              查詢函數(shù)

              • help(int)

              • int函數(shù)

                • 可以把 str 類型的變量

                • 轉(zhuǎn)化為 int 型

              • 要把這個(gè)int函數(shù)

                • 整合到程序中

              整合程序

              • 修改如下

              • 可以從變量名上

                • 明確讀出 變量類型了

              總結(jié)

              • 這次 分辨了

                • 靜態(tài)語言

                • 動(dòng)態(tài)語言

              • python 屬于

                • 對(duì)類型要求 沒有那么嚴(yán)格的 動(dòng)態(tài)語言

                • 這對(duì)于 初學(xué)者很友好

                • 無需明白變量 是 怎么存儲(chǔ)的

                • 不過很多時(shí)候 也容易弄不清變量類型

              • 直接 修改代碼

                • 把縮進(jìn) 作為程序塊的分界一樣

                • 明確起來

                • 明確標(biāo)記在 變量名上

                • 增強(qiáng) 程序的可讀性

                • 把變量的類型

                • 就像

                • 想要 真正成為編程高手

                  • 知道 這數(shù)據(jù)類型

                  • 怎么存儲(chǔ)的

                  • 明確 變量的數(shù)據(jù)類型

                  • 不但 要

                  • 而且 要

                  • 想要 了解數(shù)據(jù)

                    • 怎么存儲(chǔ)的

                    • 從 哪種數(shù)據(jù)類型 開始呢 ???

                  • 下次再說!??

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

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

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


                  [oeasy]python0070_動(dòng)態(tài)類型_靜態(tài)類型_編譯_運(yùn)行_匈牙利命名法的評(píng)論 (共 條)

                  分享到微博請(qǐng)遵守國(guó)家法律
                  永福县| 三门县| 调兵山市| 兴安县| 那坡县| 秦安县| 颍上县| 长乐市| 嘉善县| 张家口市| 兴国县| 霞浦县| 奉化市| 绥化市| 依安县| 南岸区| 宣汉县| 开平市| 上饶市| 苏尼特右旗| 榆林市| 金沙县| 泗水县| 长治县| 仁布县| 茌平县| 扎鲁特旗| 深水埗区| 浦北县| 龙江县| 泰安市| 隆安县| 宣武区| 江门市| 成都市| 昔阳县| 天峨县| 黔南| 彭泽县| 普格县| 新闻|