天天看點

[oeasy]python0012_字元_character_chr函數_根據序号得到字元

字元(character)

回憶上次内容

  • 上次了解了ord函數
  • 這個函數可以通過字元得到序号
  • 那麼可以反過來嗎?
  • 通過序号得到字元可以嗎?
[oeasy]python0012_字元_character_chr函數_根據序号得到字元

ord的逆運算chr

  • 有來就有回
[oeasy]python0012_字元_character_chr函數_根據序号得到字元
  • 好像可以
  • 我們可以把 104 作為參數給到 函數chr()
  • 注意給的參數是數字 104
  • 而不是字元串"104"
  • 沒有引号
  • 我們可以發現 ​

    ​數字104​

    ​​ 和 ​

    ​字元'h'​

    ​ 是有關聯的
  • 有兩個單詞了
  • ord
  • chr
  • 他們都是什麼意思來着?🤔
  • ord是ordinal 序号
  • 看一下幫助

ord

help(ord)      
[oeasy]python0012_字元_character_chr函數_根據序号得到字元
  • 看完之後可以q退回來
  • ​ord​

    ​​的意思是傳回這個字元的對應序号​

    ​ordinal​

  • ​ord(c,/)​

    ​是一個函數
  • 參數​

    ​c​

    ​,一個字元
  • 幫助檔案q可以退出幫助模式
  • 回到 python 指令行執行模式
  • 再查查 chr

檢視序号對應的字元 chr

help(chr)      
[oeasy]python0012_字元_character_chr函數_根據序号得到字元
  • chr 對應什麼單詞呢?

character

  • ​chr​

    ​​的意思是根據序号可以得到相應的字元 ​

    ​character​

[oeasy]python0012_字元_character_chr函數_根據序号得到字元
  • character的意思是
  • 角色
  • 字母
  • 個性
  • 總之都是有鮮明性格特征的事物
  • 沒有任何兩個字母長得一樣
  • u 和 w 長得必須完全不同

cp形成

  • ​chr(i)​

    ​是一個函數
  • ​chr​

    ​ 是函數名
  • ​i​

    ​​ 是函數的 ​

    ​chr​

    ​ 的參數
[oeasy]python0012_字元_character_chr函數_根據序号得到字元
  • ord 和 chr,這倆是一對⚖️
  • 相反相成,相愛相殺⚖️
  • 一繞一個圈麼?
[oeasy]python0012_字元_character_chr函數_根據序号得到字元

開始玩耍

#先求序号,再查字元
chr(ord("h"))
#先查字元,在對應序号
ord(chr(104))      
[oeasy]python0012_字元_character_chr函數_根據序号得到字元
  • 這不是互相抵消了麼
  • 繞了一圈又回來了麼
  • 操作一輪猛如虎
  • 不愧是我二百五
  • 這應該如何了解呢?

有括号的要優先

[oeasy]python0012_字元_character_chr函數_根據序号得到字元
  • 先算括号裡面的
  • 再算用結果進行後面的計算
[oeasy]python0012_字元_character_chr函數_根據序号得到字元
  • 彙編層面如何了解?

彙編了解

[oeasy]python0012_字元_character_chr函數_根據序号得到字元
  • 紅色裡圈是調用chr(97)
  • 得到的結果是字元串"a"
  • 把得到的字元串"a"作為參數送到ord函數調用
  • 這就是函數的嵌套調用
  • 如果有print函數呢?

加一層嵌套

[oeasy]python0012_字元_character_chr函數_根據序号得到字元
  • 把計算的結果再送給print當做參數
  • 我想把 ​

    ​a​

    ​​ 和 ​

    ​a對應的序号​

    ​ 同時輸出可以麼?
  • 應該是print函數裡面的細節
  • 什麼不會就help什麼

查詢

  • help(print)
[oeasy]python0012_字元_character_chr函數_根據序号得到字元
  • print 可以輸出很多的 value
  • 這些 value 用逗号分割
  • 輸出到标準輸出流上去試試😋

輸出

[oeasy]python0012_字元_character_chr函數_根據序号得到字元
  • 中間的空格含義不明确
  • 我想用冒号擱中間
  • 用冒号來明确字母和序号之間的映射關系
  • 再去查找print幫助

幫助手冊

  • 預設的 sep 是空格
  • 注意函數的參數sep=' '
  • 這個是預設的值
[oeasy]python0012_字元_character_chr函數_根據序号得到字元
  • sep 的意思應該是 separator
  • 分隔符
  • 修改試試🤪

分隔符

  • 好像真的可以修改
  • 而且我發現了某些規律
  • ​a​

    ​​、​

    ​b​

    ​​、​

    ​c​

    ​都是挨着的
  • 為啥從​

    ​97​

    ​開始?
  • 各個字元是如何分布的呢?🤔
  • 先總結一下這節内容
  • 下次再研究字元分布規律

總結

  • ​ord(c)​

    ​​和​

    ​chr(i)​

  • 這是倆函數
  • 這倆函數是一對,相反相成的⚖️
  • ​ord​

    ​​ 通過 ​

    ​字元​

    ​​ 找到對應的 ​

    ​數字​

  • ​chr​

    ​​ 通過 ​

    ​數字​

    ​​ 找到對應的 ​

    ​字元​

  • ​字元​

    ​​ 的本質是 ​

    ​數字​

  • 字元都對應着一些數字
  • ​a​

    ​ 對應 97
  • ​b​

    ​ 對應 98
  • ​c​

    ​ 對應 99
  • 都連号好像應該是天經地義的?
  • 為什麼小寫a從97開始?
  • 但除了小寫字母之外還有很多字元
  • 他們都是如何分布的呢?🤔
  • 我們下次再說!👋
  • github->​​https://github.com/overmind1980/oeasy-python-tutorial​​
  • gitee->​​https://gitee.com/overmind1980/oeasypython​​
  • 視訊->​​https://www.bilibili.com/video/BV1CU4y1Z7gQ​​ 作者:oeasy