滾雪球Python】2. 無門檻學會數據類型與輸入、輸出函數,(滾雪球理論)

      網友投稿 665 2025-04-01

      學習一門語言應該是一件充滿樂趣的事情,為什么要把它變難呢?

      二、Python 基本數據類型與輸入、輸出函數

      2.1 基本數據類型

      對于任何一門語言都存在一些基本類型,Python 也不例外,只不過數據類型在 Python 中要遠遠比其他語言簡單,基本分為以下幾種。

      數值數據類型,常見的是整數和浮點數

      布爾值數據類型,就是常說的真和假

      字符串數據類型

      這里要注意,提及到數據類型,特指的是變量的數據類型,在具體學習前,先學會如何看 Python 中的數據類型,才好下手學習。

      這個看數據類型是啥的函數,叫做 type,見名之意,所以咱們變量起名字的時候,也要學習一下官方命名技巧。

      例如,看一下一個值為 10 的變量 x 的數據類型,代碼如下:

      x = 10 print(type(x))

      運行結果為

      該輸出結果就表示變量 x 的數據類型是整數,你可以用同樣的辦法測試一個小數。

      x = 10.1 print(type(x))

      運行結果顯示為:

      沒錯,這個是浮點數。

      2.1.1 數值數據類型

      上文你已經接觸到了 Python 中的兩種數值數據類型,一個叫做整數,一個叫做浮點數,對應到數學上的區別就是一個帶小數點,一個不帶,其實這就是最根本的區別。

      如果整數和浮點數相加,最終的結果是浮點數,Python 會自動給轉換過去,代碼如下:

      x = 10.1 y = 10 z = x + y print(type(z))

      運行代碼,可以核對下 z 的數據類型是否是 float 即浮點數。

      2.1.2 整數的不同形式表示

      對于編程語言學習者來說,你一定聽說過計算機處理的都是二進制,所以編程語言學起來特別難?What?學習編程語言跟二進制是有關系,但是跟你學會一門賺錢的手藝確沒啥關系。或者我說的在直接一些,你在北京拿個 1W 塊錢的薪水,各種進制的轉換可能你都用不到。

      將整數顯示成二進制格式

      注意一會還會將整數顯示成八進制與十六進制,這里處理的都是整數,也就是 1,2,3,4 這種不帶小數點的,浮點先不要考慮。

      又一次需要用到一個后續才會明確的知識點,叫做 Python 內置函數,將整數轉換成二進制格式顯示用到的函數叫做 bin,代碼如下:

      x = 10 print(bin(x))

      輸出結果為:

      0b1010

      二進制以 0b 開頭,后面都是 1,0 排列,如果你看到 Python 代碼中出現了這樣的整數,要認識這就是一個普通的數字,只是展示方式不同。

      將整數顯示成八進制格式

      將整數轉換成八進制用到的內置函數是 oct,具體代碼可自行嘗試,八進制顯示的數字以 0o 開頭。

      將整數顯示成十六進制格式

      以 0x 開頭的數字為十六進制格式展示,轉換用函數為 hex。

      截止到這里,你已經對整數與整數的不同形式展示有了初步的認知,并且這些都不重要,重要的是你學習之后,看到 Python 代碼中出現以這些符號開頭的內容,你知道它就是一個普通的整數就好了。

      2.1.3 數據類型強制轉換

      這個地方只是類型強制轉換的冰山一角,為何學習也是因為你已經掌握了整數和浮點數,大概也對它們之前的區別有了那么一絲認識。其實它們之前還可以進行互相的轉換,只不過轉換你要承擔一些風險,為啥呢,往下看。

      x = 10.5 print(int(x))

      上述代碼,我將浮點數進行了類型強制轉換,注意在 x 前面套了一個 int 函數的殼,函數后面咱才會學習,現在你能模仿代碼編寫,能看懂我說的是啥就行。

      在變量 x 外面套了一個 int()函數,然后運行,輸出的結果是 10,風險出現了,浮點數轉換成整數,小數丟掉了…是真正的丟掉了,這種場景在后續編程中你會經常碰到。

      int 其實也是 Python 的一個內置函數,它會嘗試將任何數據類型的變量轉換成整數,注意是任何數據類型的變量。

      同理,你如果能猜到將任何數據類型的變量轉換成浮點數的函數名為 float,證明你已經開始慢慢摸到 python 的精髓了。

      好,到現在,又學習到了兩個內置函數,一個 int,一個 float,請一定要實際的打一下代碼,眼睛會,手不一定會。

      2.1.4 擴展幾個數值數據類型常用的函數

      【滾雪球學 Python】2. 無門檻學會數據類型與輸入、輸出函數,(滾雪球理論)

      雖然學的不多,你現在應該注意到一個詞 – 函數出現的頻率在 Python 中極高,這也是為什么很多其他語言的使用者,會把 Python 藐視成一堆函數湊成的語言了,哼~淺薄者。

      數值數據類型常用的函數,這里簡單舉幾個例子,后面還會詳細學習。

      abs() 計算絕對值

      pow() 次方運算

      round() 四舍五入

      max() 取最大值

      min() 去最小值

      參考代碼如下,臨摹 2 遍知道是在干啥就行,下面的代碼涉及了函數中參數的概念,不做過多的解釋。

      # abs() 計算絕對值 a = -1 print(abs(a)) # pow() 次方運算 x = 2 c = 3 print(pow(x,c)) # round() 四舍五入 d = 34.6 print(round(d)) # max() 取最大值 print(max(1,2,3)) # min() 去最小值 print(min(9,10,6))

      2.1.5 布爾值數據類型

      布爾來自英文 boolean 的音譯,在 Python 中布爾值有兩種,一個是真(True),另外一個就是假(False),使用 type 函數測試數據類型布爾值得到的是 bool。

      注意 bool 在有的地方也會歸為整數,是因為真(True)被強制轉換之后等于 1,假(False)被前置轉換之后等于 0。

      代碼如下:

      x = True print(int(x)) print(int(False))

      布爾值以后會經常用在條件判斷上,屬于必須掌握的知識點,后續咱還會碰到它。

      2.1.6 字符串數據類型

      字符串是 Python 中使用場景最多的數據類型了,也是知識點最多的數據類型,一般情況下,兩個雙引號(")或者兩個單引號(')中間的部分就是字符串,在使用的時候一定要注意嵌套問題。例如下述代碼:

      my_name = "夢想橡皮擦" print(my_name) my_name = '夢想橡皮擦' print(my_name) my_name = '夢想"橡皮擦' print(my_name) print(type(my_name))

      下面這句話要記住,單雙引號都是成對出現的,雙引號里面要嵌套單引號,例如上述第三段代碼,單引號里面要嵌套雙引號。

      字符串的連接

      兩個字符串通過 + 可以進行連接,這里的加號就不是數字之間加法的含義了,測試如下:

      a = "my" b = "name" c = a+b print(c)

      數字與字符串相加,會提示錯誤,如果不想報錯,可以通過 str 函數將數字轉換成字符串,例如:

      a = 123 b = "name" # str(a) 將整數變量a轉換成字符串 c = str(a) + b print(c)

      多行字符串

      在前文已經學習了三引號可用于注釋,其實三引號真正的用途依舊是字符串場景,表示多行字符串。

      my_str = """ 我是字符串的第一行 我是字符串的第二行 我是夢想橡皮擦 我還是曾經那個少年 """ print(my_str)

      轉義(逸出)字符

      在字符串中有一些特殊的字符,需要特別處理,例如,就想在單引號中使用單引號,那需要如下格式編寫:

      a = 'I\'m a girl ' print(a)

      注意,使用\' 之后就可以在單引號字符串中使用單引號了,\' 就是轉義字符。常見的轉義字符如下:

      還有其他轉義字符,初學階段不做展開,以上幾個在代碼中嘗試兩遍,還是知道是干啥的即可。

      當然有些時候,你需要避免轉移字符進行轉義,那需要在整體字符串前增加一個特殊的字母 r,字符串前面增加特殊字符有很多,今天只學習這一個。例如下述代碼。

      a = r"I\nm a girl" print(a)

      此時的\n不會轉義成換行符,輸出內容就是字符串原有的樣子:

      I\nm a girl

      使用pycharm這款工具,你能很清楚的認出轉義字符來,它存在顏色區分:

      字符串快速復制

      Python 中有一個獨特的小技巧,可以快速復制字符串,使用的是數學符號 *,例如下述代碼,將快速復制一堆 # 號。

      print("#"*100)

      2.2 輸入與輸出

      本小節核心學習的兩個函數,一個是 print,另一個是 input,在學習它們兩個之前,在補充一個內置函數 help 該函數可以查看其它函數的使用文檔。比如使用 print 測試:

      help(print)

      輸出內容如下圖所示:

      這其中就包含了 print 函數的完整說明,最重要的部分如下:

      print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

      其中:

      value 表示要輸出的數據,可以多個,用逗號 , 分隔

      sep 輸出多個數據時,分隔符號,默認是空格

      end 輸出一行末尾輸出的符號

      file 輸出位置,默認輸出控制臺,就是黑窗口中,可以設置到具體文件

      flush 是否清除數據流緩沖區,默認為 False(該內容先不做涉及)

      以上這些其實準確的說法是函數參數。

      編寫測試代碼,可臨摹運行:

      # 輸出多個數據 print("hello","dream") # 多個數據輸出的分隔符 print("i","love",sep="#")

      運行結果和其它參數自行測試,上述內容重點為多個數據輸出,即 print(a,b,d,d) 必須掌握。

      2.2.1 格式化 print 輸出

      在很多教材中本部分內容會占用比較多的時間,其實大可不必,因為東西太雜,學過反而忘記了,不如簡單學習在大腦留下一個“恩,有這個東西”的痕跡即可。

      格式化輸出就是這樣一個碎的知識點,格式化輸出 print 的意思就是按照你的意思輸出東西到任何載體上。

      首先要學習的就是 格式化字符,常見的有下面這幾個。

      %d 整數輸出

      %f 浮點數輸出

      %x 十六進制輸出

      %o 八進制

      %s 字符串輸出,其實會這一個就行了

      例如下述代碼就是一個案例:

      name = "橡皮擦" age = 18 score = 100 # 格式化一個變量輸出 print("我是 %s" % name) # 格式化多個變量輸出 print("我是 %s 今年 %d歲了,我考試得了%d分" % (name,age,score))

      注意格式化的時候,前面是一個待格式的字符串,把格式化字符作為一個特殊的符號放在一個字符串里面,相當于占了一個坑位,字符串后面跟著一個 %,該符號固定為 %,在后面是替換的內容,可以是變量名,也可以直接是值,如果前面的占位的是 %d,后面就是數字,如果是 %s,后面就是字符串。一般這里會配上下圖進行說明:

      如果占位的格式化字符和后面給的實際變量的值匹配不上,例如前面是 %d,后面 age 給了一個字符串,就會報錯:

      name = "橡皮擦" age = 18 score = 100 print("我是 %s" % name) print("我是 %s 今年 %d歲了,我考試得了%d分" % (name,"nnn",score))

      但是如果前面是 %s,后面給字符串,就會自動轉換過去。

      name = "橡皮擦" age = 18 score = 100 print("我是 %s" % name) print("我是 %s 今年 %s歲了,我考試得了%d分" % (name,18,score))

      所以一般不嚴格的時候,前面的占位符通通用 %s 就可以了。不嚴謹,但是好用啊~

      精準控制格式化的輸出

      精準化輸出主要用于浮點數,因為浮點數存在小數點,控制小數點顯示的位數就顯得重要了,本文不做過多的涉及,經驗告訴我,很多同學學過去也就忘記了,你只需要記住 Python 也可以精準控制浮點數的顯示就可以了。

      2.2.2 format 函數

      上述 % 在學習階段使用一下還可以,在實際的格式化輸出中,更多的還是使用 format 進行操作,format 在使用的時候,通過 {} 符號進行占位,例如:

      print("我是{},今年{},考試得了{}".format(name,age,score))

      所有需要占位的地方都使用 {} 解決,不用去記住各種類型,也不會出現 % 這個莫名奇妙的符號。

      2.2.3 input 數據輸入

      input 執行的和 print 恰好想法,通過 help 查看一下:

      參數比較簡單只有一個輸入提示語。測試代碼:

      name = input("請輸入你的姓名:") print("輸入的姓名為{}".format(name))

      代碼運行會要求你輸入自己的姓名,回車之后會格式化輸出。默認情況下 input 獲取的輸入數據會存儲到一個變量中,本例為 name,該變量類型為字符串類型,如果你需要獲取用戶輸入數字,記得通過 int 進行一下轉換。

      input 比較簡單,本文先介紹這些。

      2.3 這篇博客的總結

      以上內容核心介紹了整數、浮點數、布爾與字符串數據類型,重點要掌握的是類型之間的轉換與字符串的初步認識,對于格式化輸出部分掌握 format 即可應付接下來的大多數場景,其余內容酌情遺忘吧,畢竟學編程還是蠻費腦力的。

      最后一碗毒雞湯

      好好學下去 每天都有新打擊O(∩_∩)O 哈哈~

      Python 數據結構

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:驚呆了,spring中竟然有12種定義bean的方法(spring定義bean的方式)
      下一篇:PPT中如何設置插入文本框的默認字體?
      相關文章
      久久亚洲精品无码观看不卡| 91亚洲精品麻豆| 久久精品亚洲精品国产色婷| 亚洲人成人无码网www电影首页 | 国产AV无码专区亚洲AVJULIA| 亚洲性在线看高清h片| 亚洲欧美aⅴ在线资源| 亚洲日韩乱码中文字幕| 亚洲国产成人久久精品软件| 亚洲精品无AMM毛片| 亚洲AV无码专区在线电影成人| 亚洲日本成本人观看| 亚洲精品色播一区二区| 亚洲人av高清无码| 337P日本欧洲亚洲大胆艺术图 | 亚洲午夜精品久久久久久app| 亚洲国产日产无码精品| 亚洲国产电影在线观看| 亚洲18在线天美| 亚洲一卡2卡三卡4卡无卡下载 | 亚洲国产精品久久久天堂| 国产精品亚洲一区二区三区在线 | 亚洲精品国产品国语在线| 国产亚洲色婷婷久久99精品| 亚洲av无码无在线观看红杏| 亚洲av日韩av无码| 亚洲综合一区二区| 亚洲首页国产精品丝袜| 亚洲AV综合永久无码精品天堂| 精品久久亚洲一级α| 亚洲日本va午夜中文字幕久久| 亚洲午夜久久久久久噜噜噜| 亚洲欧洲国产日韩精品| 亚洲天堂一区二区三区四区| 亚洲一级在线观看| 亚洲国产精品无码久久九九大片 | 亚洲精品色在线网站| 在线观看亚洲电影| 亚洲人成国产精品无码| 亚洲成a人片在线观看日本| 亚洲网站视频在线观看|