亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python入門(mén) Python變量和數(shù)據(jù)類型

系統(tǒng) 2199 0

一、 整數(shù):

? ? Python可以處理任意大小的整數(shù),當(dāng)然包括負(fù)整數(shù)

二、 浮點(diǎn)數(shù)

? ?? 浮點(diǎn)數(shù)也就是小數(shù),之所以稱為浮點(diǎn)數(shù)

? ? ? 整數(shù)和浮點(diǎn)數(shù)在計(jì)算機(jī)內(nèi)部存儲(chǔ)的方式是不同的,整數(shù)運(yùn)算永遠(yuǎn)是精確的(除法難道也是精確的?是的!),而浮點(diǎn)數(shù)運(yùn)算則可能會(huì)有四舍五入的誤差。

三: 字符串

? ? 字符串是以 '' "" 括起來(lái)的任意文本,比如 'abc' "xyz" 等等。

四: 布爾值

? ? 一個(gè)布爾值只有 True False 兩種值

? ? 布爾值可以用 and or not 運(yùn)算。

五: 空值

? ?? 空值是Python里一個(gè)特殊的值,用 None 表示。None不能理解為0,因?yàn)?是有意義的,而None是一個(gè)特殊的空值。

?

變量:

在Python程序中,變量是用一個(gè)變量名表示,變量名必須是 大小寫(xiě) 英文、數(shù)字和_的 組合,且不能用數(shù)字開(kāi)頭

在Python中,等號(hào) = 是賦值語(yǔ)句,可以把任意數(shù)據(jù)類型賦值給變量,同一個(gè)變量可以反復(fù)賦值,而且可以是不同類型的變量,例如:

      a = 123    # a是整數(shù)
print a
a = 'imooc'   # a變?yōu)樽址?print a
    

這種變量本身類型不固定的語(yǔ)言稱之為 動(dòng)態(tài)語(yǔ)言 ,與之對(duì)應(yīng)的是 靜態(tài)語(yǔ)言。

靜態(tài)語(yǔ)言在定義變量時(shí)必須指定變量類型,如果賦值的時(shí)候類型不匹配,就會(huì)報(bào)錯(cuò)。例如Java是靜態(tài)語(yǔ)言,

?

當(dāng)我們寫(xiě): a = 'ABC' 時(shí),Python解釋器干了兩件事情:

1. 在內(nèi)存中創(chuàng)建了一個(gè) 'ABC' 的字符串;

2. 在內(nèi)存中創(chuàng)建了一個(gè)名為 a 的變量,并把它指向 'ABC'

?

也可以把一個(gè)變量a賦值給另一個(gè)變量b,這個(gè)操作實(shí)際上是把變量b指向變量a所指向的數(shù)據(jù),例如下面的代碼:

      a = 'ABC'
b = a
a = 'XYZ'
print b
    

最后一行打印出變量b的內(nèi)容到底是'ABC'呢還是'XYZ'?如果從數(shù)學(xué)意義上理解,就會(huì)錯(cuò)誤地得出b和a相同,也應(yīng)該是'XYZ',但實(shí)際上b的值是'ABC',讓我們一行一行地執(zhí)行代碼,就可以看到到底發(fā)生了什么事:

執(zhí)行 a = 'ABC' ,解釋器創(chuàng)建了字符串 ?'ABC'和變量 a,并把a(bǔ)指向 'ABC':

執(zhí)行 b = a ,解釋器創(chuàng)建了變量 b,并把b指向 a 指向的字符串'ABC':

執(zhí)行 a = 'XYZ' ,解釋器創(chuàng)建了字符串'XYZ',并把a(bǔ)的指向改為'XYZ',但b并沒(méi)有更改:

所以,最后打印變量 b 的結(jié)果自然是 'ABC' 了。

?

,Python字符串用 \ 進(jìn)行轉(zhuǎn)義。

      \n 表示換行
\t 表示一個(gè)制表符
\\ 表示 \ 字符本身
    

?

如果一個(gè)字符串包含很多需要轉(zhuǎn)義的字符,對(duì)每一個(gè)字符都進(jìn)行轉(zhuǎn)義會(huì)很麻煩。為了避免這種情況,我們可以在字符串前面加個(gè)前綴 ?r? ,表示這是一個(gè)?raw?字符串,里面的字符就不需要轉(zhuǎn)義了。例如:

        r'\(~_~)/ \(~_~)/'
      

但是 r'...' 表示法不能表示多行字符串,也不能表示包含 ' 和? " 的字符串(為什么?)

如果要表示多行字符串,可以用 '''...''' 表示:

        '''Line 1
Line 2
Line 3'''
      

上面這個(gè)字符串的表示方法和下面的是完全一樣的:

'Line 1\nLine 2\nLine 3'

還可以在多行字符串前面添加 ?r? ,把這個(gè)多行字符串也變成一個(gè) raw字符串

        r'''Python is created by "Guido".
It is free and easy to learn.
Let's start learn Python in imooc!'''
      
?

?

因?yàn)镻ython的誕生比Unicode標(biāo)準(zhǔn)發(fā)布的時(shí)間還要早,所以最早的Python只支持ASCII編碼,普通的字符串 'ABC' 在Python內(nèi)部都是 ASCII編碼 的。

Python在后來(lái)添加了對(duì)Unicode的支持,以Unicode表示的字符串用u'...'表示,比如:

      print u'中文'
中文
    

注意: ? 不加 u ,中文就不能正常顯示。

?

轉(zhuǎn)義:

      u'中文\n日文\n韓文'
    

多行:

      u'''第一行
第二行'''
    

raw+多行:

      ur'''Python的Unicode字符串支持"中文",
"日文",
"韓文"等多種語(yǔ)言'''
    

如果中文字符串在Python環(huán)境下遇到 UnicodeDecodeError,這是因?yàn)?py文件保存的格式有問(wèn)題。可以在第一行添加注釋

      
        # -*- coding: utf-8 -*-
      
    

目的是告訴Python解釋器,用UTF-8編碼讀取源代碼。然后用Notepad++ 另存為... 并選擇UTF-8格式保存。

?

Python的 整數(shù)運(yùn)算結(jié)果仍然是整數(shù),浮點(diǎn)數(shù)運(yùn)算結(jié)果仍然是浮點(diǎn)數(shù)

      1 + 2    # ==> 整數(shù) 3
1.0 + 2.0    # ==> 浮點(diǎn)數(shù) 3.0
    

但是 整數(shù)和浮點(diǎn)數(shù)混合運(yùn)算的結(jié)果就變成浮點(diǎn)數(shù)了:

      1 + 2.0    # ==> 浮點(diǎn)數(shù) 3.0
    

?

為什么要區(qū)分整數(shù)運(yùn)算和浮點(diǎn)數(shù)運(yùn)算呢 ?這是因 為整數(shù)運(yùn)算的結(jié)果永遠(yuǎn)是精確的, 而浮 點(diǎn)數(shù)運(yùn)算的結(jié)果不一定精確 ,因?yàn)橛?jì)算機(jī)內(nèi)存再大,也無(wú)法精確表示出無(wú)限循環(huán)小數(shù),比如 ?0.1 換成二進(jìn)制表示就是無(wú)限循環(huán)小數(shù)。

?

Python的除法運(yùn)算和java一樣。/ 是整除。%是取余。

?

在Python中,布爾類型還可以與其他數(shù)據(jù)類型做 and、or和not運(yùn)算,請(qǐng)看下面的代碼:

      a = True
print a and 'a=T' or 'a=F'
    

計(jì)算結(jié)果不是布爾類型,而是字符串 'a=T',這是為什么呢?

因?yàn)镻ython把 0 空字符串'' None 看成? False 其他數(shù)值 非空字符串 都看成 ?True ,所以:

      True and 'a=T' 計(jì)算結(jié)果是 'a=T'
繼續(xù)計(jì)算 'a=T' or 'a=F' 計(jì)算結(jié)果還是 'a=T'
    

要解釋上述結(jié)果,又涉及到 and 和 or 運(yùn)算的一條重要法則: 短路計(jì)算

?

1.?在計(jì)算 ?a and b? 時(shí),如果 a 是 False,則根據(jù)與運(yùn)算法則,整個(gè)結(jié)果必定為 False,因此返回 a;如果 a 是 True,則整個(gè)計(jì)算結(jié)果必定取決與 b,因此返回 b。

2. 在計(jì)算 ?a or b? 時(shí),如果 a 是 True,則根據(jù)或運(yùn)算法則,整個(gè)計(jì)算結(jié)果必定為 True,因此返回 a;如果 a 是 False,則整個(gè)計(jì)算結(jié)果必定取決于 b,因此返回 b。

?

  

Python入門(mén) Python變量和數(shù)據(jù)類型


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 国产品精人成福利视频 | 中文字幕日韩精品亚洲七区 | 99在线观看| 亚洲国产精品线观看不卡 | 四虎永久在线观看视频精品 | 亚洲精品久久九九热 | 免费香蕉一区二区在线观看 | 欧美xxxxx九色视频免费观看 | 图片亚洲va欧美va国产综合 | 久热官网 | 欧美综合色区 | a级做爰片毛片视频 | 久久精品欧美一区二区 | 天天插夜夜操 | 国产精品成人观看视频网站 | 免费一级大片儿 | 91色国产在线| 欧美成人香蕉网在线观看 | www.欧美com| 欧美5o老妇性xxx | 久久久久久毛片免费播放 | 一本久道久久综合中文字幕 | 国产在线自在拍91精品黑人 | 天天襙 | 网曝门精品国产事件在线观看 | 九九影院 影片 | 午夜国产福利在线观看 | 久久婷婷午色综合夜啪 | 五月婷婷视频在线 | 国产一区二区免费在线 | 日韩精品欧美成人 | 亚洲午夜片子大全精品 | 99热热| 久热精品香蕉在线视频 | 99视频在线观看免费 | 午夜欧美激情 | 成人xxx免费视频播放 | 成年女人18级毛片毛片免费观看 | 在线看一区二区 | 亚洲国产高清人在线 | 亚洲第一红杏精品久久 |