2. 無門檻學(xué)會數(shù)據(jù)類型與輸入、輸出函數(shù),滾雪球?qū)W Python(2.7版本復(fù)刻角色)

      網(wǎng)友投稿 742 2025-03-31

      學(xué)習(xí)一門語言應(yīng)該是一件充滿樂趣的事情,為什么要把它變難呢?

      本系列文章將在2021年春節(jié)前完成,歡迎關(guān)注,,評論 --- 夢想橡皮擦

      二、Python 基本數(shù)據(jù)類型與輸入、輸出函數(shù)

      2.1 基本數(shù)據(jù)類型

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

      數(shù)值數(shù)據(jù)類型,常見的是整數(shù)和浮點數(shù)

      布爾值數(shù)據(jù)類型,就是常說的真和假

      字符串數(shù)據(jù)類型

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

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

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

      x = 10 print(type(x))

      運行結(jié)果為

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

      x = 10.1 print(type(x))

      運行結(jié)果顯示為:

      沒錯,這個是浮點數(shù)。

      2.1.1 數(shù)值數(shù)據(jù)類型

      上文你已經(jīng)接觸到了 Python 中的兩種數(shù)值數(shù)據(jù)類型,一個叫做整數(shù),一個叫做浮點數(shù),對應(yīng)到數(shù)學(xué)上的區(qū)別就是一個帶小數(shù)點,一個不帶,其實這就是最根本的區(qū)別。

      如果整數(shù)和浮點數(shù)相加,最終的結(jié)果是浮點數(shù),Python 會自動給轉(zhuǎn)換過去,代碼如下:

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

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

      2.1.2 整數(shù)的不同形式表示

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

      將整數(shù)顯示成二進制格式

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

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

      x = 10 print(bin(x))

      輸出結(jié)果為:

      0b1010

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

      將整數(shù)顯示成八進制格式

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

      將整數(shù)顯示成十六進制格式

      以 0x 開頭的數(shù)字為十六進制格式展示,轉(zhuǎn)換用函數(shù)為 hex。

      截止到這里,你已經(jīng)對整數(shù)與整數(shù)的不同形式展示有了初步的認知,并且這些都不重要,重要的是你學(xué)習(xí)之后,看到 Python 代碼中出現(xiàn)以這些符號開頭的內(nèi)容,你知道它就是一個普通的整數(shù)就好了。

      2.1.3 數(shù)據(jù)類型強制轉(zhuǎn)換

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

      x = 10.5 print(int(x))

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

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

      int 其實也是 Python 的一個內(nèi)置函數(shù),它會嘗試將任何數(shù)據(jù)類型的變量轉(zhuǎn)換成整數(shù),注意是任何數(shù)據(jù)類型的變量。

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

      好,到現(xiàn)在,又學(xué)習(xí)到了兩個內(nèi)置函數(shù),一個 int,一個 float,請一定要實際的打一下代碼,眼睛會,手不一定會。

      2.1.4 擴展幾個數(shù)值數(shù)據(jù)類型常用的函數(shù)

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

      數(shù)值數(shù)據(jù)類型常用的函數(shù),這里簡單舉幾個例子,后面還會詳細學(xué)習(xí)。

      abs() 計算絕對值

      pow() 次方運算

      round() 四舍五入

      max() 取最大值

      min() 去最小值

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

      # 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 布爾值數(shù)據(jù)類型

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

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

      代碼如下:

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

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

      2.1.6 字符串數(shù)據(jù)類型

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

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

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

      字符串的連接

      2. 無門檻學(xué)會數(shù)據(jù)類型與輸入、輸出函數(shù),滾雪球?qū)W Python(2.7版本復(fù)刻角色)

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

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

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

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

      多行字符串

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

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

      轉(zhuǎn)義(逸出)字符

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

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

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

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

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

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

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

      I\nm a girl

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

      字符串快速復(fù)制

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

      print("#"*100)

      2.2 輸入與輸出

      本小節(jié)核心學(xué)習(xí)的兩個函數(shù),一個是 print,另一個是 input,在學(xué)習(xí)它們兩個之前,在補充一個內(nèi)置函數(shù) help 該函數(shù)可以查看其它函數(shù)的使用文檔。比如使用 print 測試:

      help(print)

      輸出內(nèi)容如下圖所示:

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

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

      其中:

      value 表示要輸出的數(shù)據(jù),可以多個,用逗號 , 分隔

      sep 輸出多個數(shù)據(jù)時,分隔符號,默認是空格

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

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

      flush 是否清除數(shù)據(jù)流緩沖區(qū),默認為 False(該內(nèi)容先不做涉及)

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

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

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

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

      2.2.1 格式化 print 輸出

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

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

      首先要學(xué)習(xí)的就是 格式化字符,常見的有下面這幾個。

      %d 整數(shù)輸出

      %f 浮點數(shù)輸出

      %x 十六進制輸出

      %o 八進制

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

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

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

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

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

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

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

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

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

      精準控制格式化的輸出

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

      2.2.2 format 函數(shù)

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

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

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

      2.2.3 input 數(shù)據(jù)輸入

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

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

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

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

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

      2.3 這篇博客的總結(jié)

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

      最后一碗毒雞湯

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

      Python 應(yīng)用與數(shù)據(jù)集成平臺 ROMA Connect 數(shù)據(jù)結(jié)構(gòu)

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

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

      上一篇:怎樣不用手動放映(幻燈片放映怎么手動放映)
      下一篇:怎樣不用手動放映(怎么設(shè)置不自動放映)
      相關(guān)文章
      亚洲一级Av无码毛片久久精品| 亚洲欧美国产精品专区久久| 亚洲妓女综合网99| 亚洲一区二区三区在线播放| 亚洲欧洲精品成人久久曰| 亚洲中文字幕无码av| 亚洲а∨天堂久久精品9966| 亚洲AV成人一区二区三区在线看| 亚洲男人天堂2022| 亚洲免费中文字幕| 亚洲一卡2卡3卡4卡乱码 在线| 亚洲免费黄色网址| 亚洲综合校园春色| 中文字幕乱码亚洲精品一区| 亚洲人AV在线无码影院观看| 亚洲精品无码成人| 色欲aⅴ亚洲情无码AV| 亚洲А∨精品天堂在线| 亚洲爽爽一区二区三区| 久久亚洲欧洲国产综合| 国产亚洲成AV人片在线观黄桃| 亚洲VA中文字幕无码一二三区| 久久精品国产亚洲av麻豆| 蜜芽亚洲av无码精品色午夜| 亚洲精品福利网站| 中文字幕亚洲精品无码| 精品韩国亚洲av无码不卡区| 亚洲国产成人久久综合一区77| 国产国拍亚洲精品福利| 狠狠色伊人亚洲综合成人| 亚洲va在线va天堂va888www| 亚洲沟沟美女亚洲沟沟| 国产成人精品亚洲日本在线 | 亚洲日韩精品无码专区加勒比☆| 亚洲色少妇熟女11p| 国产精品亚洲а∨无码播放麻豆| 精品国产人成亚洲区| 亚洲AV无码乱码在线观看裸奔 | 亚洲高清免费在线观看| 日本亚洲精品色婷婷在线影院| 亚洲大尺度无码无码专线一区|