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

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

[oeasy]python0071_字符串類型_str_string_下標運算符_中括號

2023-07-07 22:02 作者:oeasy  | 我要投稿

回憶上次內容

  • 上次 分辨了

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

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

  • python 屬于

    • 也容易 弄不清變量類型

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

    • 對類型要求 沒有那么嚴格的

    • 對 初學者很友好

    • 不過很多時候

  • 直接 修改代碼

    • 把縮進 作為程序塊的分界一樣

    • 明確起來

    • 明確標記在 變量名上

    • 增強 程序的可讀性

    • 把變量的類型

    • 就像

  • 想要 真正成為編程高手

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

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

    • 不但 要

    • 而且 要

  • 比如 字符串類型

    • 到底有些什么特性呢???

字符串

  • s 是 字符串類型的變量

  • 字符串

    • 英文名稱是 string

string

  • 意思是

    • 繩子或者琴弦

  • 后來也指

    • 用繩子把什么東西串起來

  • 比如串什么東西呢?

手串

  • 這就是一串金剛菩提串的

    • 折中串 有長有短

  • 這一串 多少顆金剛菩提 呢?

    • 這一串 108 顆

    • 代表斷除一百零八種煩惱

  • 有事沒事就盤串

    • 用豬鬃刷子清洗

    • 放到陰涼地方陰干

    • 用手盤包了漿

  • 最終

    • 證得一百零八種無量三昧

    • 三昧就是三摩地

    • 俗稱入定

    • 只要靜心就都能入定

  • 經(jīng)常盤筆記本鍵盤

    • 但是會盤出奇跡

    • 雖然沒有包漿

糖葫蘆串

  • 山楂 串起來 形成的

    • 就是糖葫蘆串

  • 類似的還有

    • 烤肉筋串

    • 烤雞心串

    • 烤板筋串

    • 字符串

字符串

  • 字符串 就是 把字符串起來

    • 就是一個字符

    • 字符串 里面每個山楂

  • 怎么理解字符串?

字符串

  • 字符串就是 字符的串

    • 把一個個字符串起來

  • 字符串有多長呢?

長度

  • 知道了這個串是

    • 由字符構成的

    • 那這個串有多長呢

  • 可以使用函數(shù)

    • help(str.len)

  • len("oeasy")

  • 字符串有幾個字符

    • 字符串就有多長

  • 總共 5 個字符

  • 具體是哪五個字符???

下標

  • 字符可以用 下標運算符[]進行訪問

    • 就得到第n個字符

    • 將 序號n 放入中括號里

  • 特別注意???

    • 下標不是從 1 開始的

    • 而是從 0 開始的

    • 從零開始

  • 這樣就可以用序號

    • 訪問到字符串中的每個字符

下標范圍

  • 下標從 0 開始

  • 最后一位是 len(o)-1

    • 也就是 5-1 = 4

  • 寫成-1 也可以

    • 意思是 倒數(shù)第一個字符

  • 如果我

    • 訪問 o[5] 呢

下標越界

  • 訪問 o[5] 報錯

    • IndexError

    • string index out of range

  • 字符串索引 超出范圍

    • 字符串索引 下標越界

    • 訪問了 一個不存在的下標值

類型和位置

  • 先自省一下

    • 自省(introspection)

  • 通過 type 函數(shù)獲得 變量o 的類型

    • 變量o的類型 是str

    • 就是 字符串 string

  • 通過 id 函數(shù)獲得 變量o 在內存中的地址

    • 這個地址是一串數(shù)字

  • 這數(shù)字 就是 o 在內存中的唯一標識

    • 是 變量o的內存地址

初始化過程

  • 內存地址(140547862959216)

    • 被賦給s_title

  • s_title 里面存的是

    • "oeasy"字符串

  • oeasy這5個字符

    • 究竟是如何存儲在內存中的呢?

ascii 編碼

  • 字符串中存儲的是英文字符

    • 屬于ascii 字符

    • 有七位二進制數(shù)

    • 放在內存里面一個字節(jié)就可以

  • 那 5 個字符

    • 分別什么樣呢?

5 個字符

  • id 那個位置

    • 有一個 str 類的對象

  • 指向五個字符連成的串

    • 每個字符都有自己的字節(jié)

  • 這些字節(jié)都在什么位置呢?

字符位置

  • 字符串

    • 有字符串的地址

  • 下標索引到的字符

    • 可以注意到相同字符的位置是相同的

    • 有字符的地址

  • 如果有回車這類的轉義字符呢?

回車字符

  • 一個轉義字符也占據(jù)一個字節(jié)

    • 序號為10

    • 字節(jié)狀態(tài)為 b"\x0a"

    • 比如 回車字符\n

  • 回憶一下進制轉化

    • int

    • 2進制 bin

    • 8進制 oct

    • 16進制 hex

    • 從十進制到其他進制

    • 從其他進制到十進制

  • 編碼轉化

    • chr

    • ord

    • 從字符轉化為序號

    • 從序號轉化為字符

  • 字節(jié)序列與字符串轉化

    • encode

    • decode

    • 字節(jié)序列到字符串

    • 從字符串到字節(jié)序列

轉義字符

  • 轉義字符也占據(jù)一個字節(jié)

  • 所有轉義字符都如此么?

  • 如果有中文字符呢?

中文字符

  • str = “a一”

  • 總共兩個字符

    • 一個是英文字符

    • 另一個是中文漢字字符

  • 對應兩個位置

    • str[0] - a

    • str[1] - 一

  • 其中 a 是 ascii 字符

    • 長度為1

  • 一是 utf-8 編碼的 unicode 字符

    • 作為字符的長度也為1

  • 具體占用幾個字節(jié)呢?

編碼

  • 首先要知道內存中的編碼方式

    • 到底是utf-8

    • 還是unicode

  • 查詢str的幫助

    • 發(fā)現(xiàn)默認編碼是系統(tǒng)的默認編碼

  • 所以在python3的運行環(huán)境下

    • 目前就是utf-8

    • str的默認編碼就是系統(tǒng)的編碼

內存情況

  • 可以看到

    • a 就是 \x61

    • 一 就是 \xe4\xb8\x80

用變量賦值

  • s1 = “oeasy”

    • oeasy

    • 這個字符串長度 ?5 個字節(jié)

    • s1 位于 139633377299288

  • s2 = “o2z”

    • o2z

    • 這個字符串長度 3 個字節(jié)

    • s2 位于 139633366623112

  • s2 = s1

    • 令s2 位于 id(s1)

    • s2 和 s1 都指向 原來 s1 的地址

  • 最終引用情況

    • 原來 s2 所指向

    • 現(xiàn)在沒有變量引用了

    • 會被系統(tǒng)垃圾回收

    • 有兩個變量引用(s1、s2)

    • 字符串"oeasy"

    • 字符串 “o2z”

注意事項

  • str 可以

    • 把數(shù)字轉化為一個字符串

  • str 是類的名字

    • 但是一旦被賦值

    • 就無法轉化了

  • 特別注意???

    • 初學者要特別注意

    • 不要將str作為變量名!??

總結

  • 這次了解的是字符串

  • 字符串就是字符的串

    • 字符串長度 可以用 len函數(shù)

    • 字符可以用下標索引 []

  • 可以用str

    • 將整型數(shù)字轉化為字符串

  • 字符的長度本身有長有短

    • 都算一個字符

    • 可能對應 3 個字節(jié)

    • 都對應 1 個字節(jié)

    • ascii 包括各種 轉義字符

    • unicode 字符中的漢字

    • 但不管本身是 1 字節(jié) 還是 3 字節(jié)

  • 將字符串賦給一個字符串變量

    • 就是字符串在內存中的地址

    • 這就是字符串變量的id

  • 除了字符串

    • 還有什么變量類型???

  • 下次再說!??

  • 藍橋->https://www.lanqiao.cn/courses/3584

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

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


[oeasy]python0071_字符串類型_str_string_下標運算符_中括號的評論 (共 條)

分享到微博請遵守國家法律
施甸县| 高青县| 泰和县| 会宁县| 铜山县| 蒙阴县| 定日县| 云霄县| 南漳县| 恭城| 汉沽区| 平乡县| 洛浦县| 元谋县| 突泉县| 峡江县| 石渠县| 乌审旗| 张掖市| 巩义市| 石城县| 杭州市| 红桥区| 莱西市| 余姚市| 屯门区| 花垣县| 象州县| 凤凰县| 桐梓县| 金堂县| 房产| 潮安县| 江川县| 富顺县| 嘉定区| 揭西县| 八宿县| 胶州市| 铜山县| 灵武市|