Python基礎(chǔ)
數(shù)據(jù)類型和變量
- 數(shù)據(jù)類型
電子計(jì)算機(jī)也就是我們俗稱的計(jì)算機(jī)(電腦)暂论,其主要功能是完成科學(xué)計(jì)算的任務(wù)逆害,因此往果,計(jì)算機(jī)程序當(dāng)然可以處理各種數(shù)據(jù)信息筑公。但是數(shù)據(jù)源無處不在吓歇,人類無時(shí)無刻不在不生成數(shù)據(jù)孽水,數(shù)據(jù)的格式也就多種多樣,計(jì)算機(jī)除了可以計(jì)算數(shù)值城看,還可以處理文本信息女气、音像信息等各種各樣的數(shù)據(jù),為了可以方便的定義和管理這些數(shù)據(jù)测柠,我們引入了數(shù)據(jù)類型的概念炼鞠。
數(shù)值型
在Python中支持四種不同的數(shù)值類型:
- int(有符號(hào)整型)
- long(長整型,也可以代表八進(jìn)制和十六進(jìn)制)
- float(浮點(diǎn)型)
- complex(復(fù)數(shù))
- Int 有符號(hào)整型
int可以處理整數(shù)轰胁,整數(shù)負(fù)數(shù)都可以谒主,在Python中的表示方式與數(shù)學(xué)上的寫法無二,例如:0
赃阀,-1
霎肯,1024
,等等榛斯。
計(jì)算機(jī)由于使用二進(jìn)制观游,所以,有時(shí)使用十六進(jìn)制表示整數(shù)比較方便驮俗,十六進(jìn)制用
0x
作為前綴和0-9,a-f
表示懂缕。例如:0xff00
,0xffff
王凑,等等提佣。
- Long 長整型(期望)
Long類型代表著無限大小的整數(shù)吮蛹,但是這樣寫實(shí)數(shù)要在數(shù)字的最后加一個(gè)大寫或者小寫的L,但為了避免與數(shù)字1
混淆建議使用大寫的L
來顯示長整型拌屏。 - Float 浮點(diǎn)型
Float數(shù)值由整數(shù)部分和小數(shù)部分組成,之所以成為浮點(diǎn)數(shù)术荤,是因?yàn)榘凑湛茖W(xué)計(jì)數(shù)法表示時(shí)倚喂,一個(gè)浮點(diǎn)數(shù)的小數(shù)點(diǎn)位置是可以改變的。但是對于非常大或者非常小的浮點(diǎn)數(shù)瓣戚,就必須使用科學(xué)計(jì)數(shù)法表示端圈,把10用e代替。例如:1.024e3 = 1.024*10^3 = 1024
子库,等等舱权。
注意:整數(shù)和浮點(diǎn)數(shù)在計(jì)算機(jī)內(nèi)部存儲(chǔ)的方式是不同的,整數(shù)運(yùn)算永遠(yuǎn)是精確的仑嗅,而浮點(diǎn)數(shù)運(yùn)算則可能會(huì)有四舍五入的誤差宴倍。 - Complex
Complex復(fù)數(shù)類型,復(fù)數(shù)由實(shí)數(shù)部分和虛數(shù)部分組成仓技,可以用a+bj
鸵贬,或者complex(a,b)
表示,復(fù)數(shù)的實(shí)數(shù)部分和虛數(shù)部分均為浮點(diǎn)型脖捻。例如:3.14j
阔逼,4.53e-7j
,-6545+0j
地沮。
注意:虛數(shù)部分后的字母J嗜浮,大小寫均可。
字符串(type為str)
字符串是以' '
或" "
括起來的任意文本摩疑。而' '
或" "
本身只是表明其數(shù)據(jù)類型為字符串型危融,' '
或" "
作為定界符不作為字符串的一部分。
例如:'Axios'
未荒,其中的字符就只包括A
专挪,x
,i
片排,o
寨腔,s
這幾個(gè) 字符。如果'
本身也是字符串的一部分的話率寡,那么就可以使用" "
作為定界符迫卢,例如:"I'm OK"
,其中包含字符'
,我們就可以使用不同的定界符進(jìn)行符號(hào)的輸出冶共。
如果字符串中既包含'
又包含"
乾蛤,這樣該怎樣辦每界?在計(jì)算機(jī)中有一種轉(zhuǎn)義字符,我們可以使用其來進(jìn)行表示家卖,比如:
' I\'m \"OK\"! '
其表示真正字符串的內(nèi)容是:
I'm "OK"!
怎樣對變量賦值字符串型的內(nèi)容眨层,內(nèi)容的顯示呢?讓我們來看上荡。
str = "Hello World" #對變量str賦值內(nèi)容為Hello World的字符串
print str #以Python2.X的語法輸出變量str
思考:在其他編程語言中趴樱,可以對字符串進(jìn)行截取。例如:Java語言中的substring
酪捡,Visual FoxPro中的substr
叁征,那么在Python中我們該怎樣對字符串進(jìn)行子串的訪問呢?
在Python中對字符串取其子串非常方便逛薇,可以把字符串當(dāng)做其它編程語言的一維數(shù)組那樣了解捺疼,使用其下標(biāo)對字符串進(jìn)行操作。
Python字符串的下標(biāo)從0開始永罚,若字符串的長度為n啤呼,則字符串的上下限則為[0,n-1]尤蛮。使用str[頭下標(biāo):尾下標(biāo)]媳友,就可以截取相應(yīng)的字符串。
#-*- coding:utf-8 -*-
str="Hello World! " #字符串變量str产捞,內(nèi)容為Hello World
print str #輸入完整字符串
print str[0] #輸入字符串中的一個(gè)字符
print str[:5] #輸出字符串從默認(rèn)起始位置0開始到下標(biāo)為5之間的字符串醇锚,即Hello
print str[6:] #輸出字符串從第7個(gè)字符開始的字符串,即World
print str[::-1] #倒敘輸出字符串的內(nèi)容
print str*2 #輸出字符串兩次
print str+"Test" #輸出連接的字符串
思考:代碼中的
#-*- coding:utf-8 -*-
的含義是什么坯临?
如果要在Python2.X的py文件里面寫中文焊唬,則必須要添加一行聲明文件編碼的注釋,否則Python2.X會(huì)默認(rèn)使用ASCII編碼看靠。
思考:為什么會(huì)使用ASCII編碼而不是使用Unicode編碼呢赶促?
因?yàn)镻ython的誕生比Unicode標(biāo)準(zhǔn)發(fā)布的時(shí)間還要早,所以最早的Python只支持ASCII編碼挟炬,普通的字符串'ABC'在Python內(nèi)部都是ASCII編碼的鸥滨。
Python在后來添加了對Unicode的支持,以Unicode表示的字符串用u'...'表示谤祖。
Unicode字符串除了多了一個(gè) u 之外婿滓,與普通字符串沒啥區(qū)別,轉(zhuǎn)義字符和多行表示法仍然有效粥喜。
思考:若在字符串左右有空格的介入凸主,可是用戶又想刪除空格,這時(shí)該怎么辦额湘?
name=" Gideon Yu " #字符串變量name卿吐,內(nèi)容為 Gideon Yu 旁舰,內(nèi)容左右中均有空格
print name #輸出完整字符串
print name.lstrip() #移除字符串左邊的空格
print name.rstrip() #移除字符串右邊的空格
print name.strip() #移除字符串左右兩邊的空格
print "".join(name.split()) #移除所有的空格
spilt()函數(shù):
函數(shù)格式:str.split(str="", num=string.count(str))
函數(shù)功能:Python split()通過指定分隔符對字符串進(jìn)行切片,如果參數(shù)num 有指定值嗡官,則僅分隔 num 個(gè)子字符串箭窜。
參數(shù):
str -- 分隔符,默認(rèn)為所有的空字符衍腥,包括空格绽快、換行(\n)、制表符(\t)等紧阔。
num -- 分割次數(shù)。
例子:
name=" Gideon Yu " #字符串變量name续担,內(nèi)容為 Gideon Yu 擅耽,內(nèi)容左右中均有空格
print name.split()
結(jié)果:
['Gideon', 'Yu']
join()函數(shù)
函數(shù)格式: 'sep'.join(seq)
函數(shù)功能:以sep作為分隔符,將seq所有的元素合并成一個(gè)新的字符串
參數(shù):
sep:分隔符物遇」猿穑可以為空
seq:要連接的元素序列、字符串询兴、元組乃沙、字典
返回值:返回一個(gè)以分隔符sep連接各個(gè)元素后生成的字符串
例子:
part=['Gideon','Yu']
print " ".join(part)
結(jié)果:
Gideon Yu
轉(zhuǎn)義字符
轉(zhuǎn)義字符 | 描述 | 轉(zhuǎn)義字符 | 描述 |
---|---|---|---|
\(行尾時(shí)) | 續(xù)行符 | \e | 轉(zhuǎn)義 |
\ | 反斜杠符號(hào) | \000 | 空 |
' | 單引號(hào) | \n | 換行 |
" | 雙引號(hào) | \v | 縱向制表符 |
\a | 響鈴 | \t | 橫向制表符 |
\b | 退格(Backspace) | \xyy | 十六進(jìn)制數(shù),yy代表的字符 |
\f | 換頁 | \oyy | 八進(jìn)制數(shù)诗舰,yy代表的字符 |
\r | 回車 | \other | 其他的字符以普通格式輸出 |
例如:\o12
代表換行警儒,\x0a
代表換行。
如果字符串里面有很多字符都需要轉(zhuǎn)義眶根,就需要加入很多\
蜀铲,為了簡化,Python允許使用r' '
表示' '
內(nèi)部的字符串默認(rèn)不需要轉(zhuǎn)義属百。
#-*- coding:utf-8 -*-
print 'Python 基礎(chǔ)教程\nThinking in Python'
print r'Python 基礎(chǔ)教程\nThinking in Python'
如果字符串內(nèi)部有很多換行记劝,用\n寫在一行里不好閱讀,為了簡化族扰,Python允許用'''...'''的格式表示多行內(nèi)容厌丑。
#-*- coding:utf-8 -*-
print '''Python
基礎(chǔ)教程
Thinking in Python'''
注意:在換行輸出中也是可以使用轉(zhuǎn)義字符的,若想使轉(zhuǎn)義字符失效渔呵,則必須使用
r
前綴怒竿。