06python 之基本数据类型
數(shù)字
int(整型)
在32位機(jī)器上,整數(shù)的位數(shù)為32位,取值范圍為-2**31~2**31-1,即-2147483648~2147483646
在64位機(jī)器上,整數(shù)的位數(shù)為64位,取值范圍為-2**63~2**63-1,即-9223372036854775808~9223372036854775807
long(長(zhǎng)整型)
跟c語(yǔ)言不通,python的長(zhǎng)整數(shù)沒(méi)有指定位寬,即:python沒(méi)有限制場(chǎng)整數(shù)數(shù)值大小,但實(shí)際上由于機(jī)器內(nèi)存有限,我門(mén)使用的長(zhǎng)整型不可能無(wú)限大。
注意,自python2.2起,如果整數(shù)發(fā)生溢出,python自動(dòng)將整數(shù)數(shù)據(jù)轉(zhuǎn)換為長(zhǎng)整數(shù),所以如今不再長(zhǎng)整型數(shù)據(jù)后面加L也不會(huì)導(dǎo)致嚴(yán)重后果。
float(浮點(diǎn)數(shù))
?
complex(復(fù)數(shù))暫時(shí)用不到
?
2.布爾值
真或假
1或0
3.字符串
字符串的內(nèi)部原理&萬(wàn)惡的‘+’號(hào)
?
s = “hello alex”?
python是c語(yǔ)言開(kāi)發(fā)的。 #c語(yǔ)言,沒(méi)有字符串:字符串使用字符組表現(xiàn) hello —五個(gè)字符 字符數(shù)組 [’h’,’e’,…’o’] 所以python中如果對(duì)一個(gè)字符串進(jìn)行修改,就是在內(nèi)存中開(kāi)辟了一塊內(nèi)存。 比如hello 改成helloaa 并不是將[’h’,’e’,’l’..,o]數(shù)組后面加上[a,a] 而是內(nèi)存中開(kāi)辟一個(gè)空間把前面的hello重寫(xiě)后加上[a,a] 即是:[’h’,’e’,’l’..,’o’,’a’,’a’] 那為什么不是添加,而是重新開(kāi)辟空間呢? 因?yàn)閮?nèi)存的使用地址是連續(xù)的。假設(shè)你的字符串使用了1-n的內(nèi)存地址塊,從n+1是另一個(gè)地址塊被其他字符串使用。你說(shuō)你怎么加[a,a],內(nèi)存地址n后面已經(jīng)被使用了。所以內(nèi)存的處理方法是新開(kāi)辟了一塊地址塊將之前的重寫(xiě)在加上需要的內(nèi)容。 結(jié)論:字符串的修改,其實(shí)是新開(kāi)辟了一塊內(nèi)存。 所以編程中’hello’+’world’+’..’每有一個(gè)+號(hào)就會(huì)開(kāi)辟一塊新內(nèi)存,消耗內(nèi)存。效率低,那么解決方案呢。 字符串的格式化: 字符串的格式化有三種方式。 1,使用+拼接模式 2.使用占為符方式 ?%s 字符串占為符,%d數(shù)字占為符 3.使用字符串類的格式化方法,即 str.format() 優(yōu)缺點(diǎn): 1.此等方式開(kāi)辟內(nèi)存空間較大,不好,棄用 2.此等方式方便,可用 3.字符串格式化方法也挺好,可用。 總結(jié):建議使用第二種,常用 舉例:#!/usr/bin/env?python
#__*__encoding:utf-8__*__
?
name = raw_input('name:’).stirp()
age = raw_input("age:”).stirp()
job = raw_input("job:”).strip()
?
print("Information of []:"?+ name +"\nname?:"+name +"\nage?[]:"?+ age +?"\njob?[]:"?+job)
?
print("Information of []:%s \n name[]:%s \n age []:%s \n job []:%s"?%(name,name,age,job))
?
string =?"Information of []:{0} \n name[]:{1} \n age []:{2} \n job []:{3}"
print?string.format(name,name,age,job)
?
?
第二種可以美化下:
msg =?'''
? ? Information of %s:
? ? ? ? ? ? name : %s
? ? ? ? ? ? age? : %s
? ? ? ? ? ? job? : %s
'''?%(name,name,age,job)
?
?
print(msg)
?
?
第三種方法,可以美化下:
msg2 =?'''
? ? Information of {0}:
? ? ? ? ? ? name : {1}
? ? ? ? ? ? age? : {2}
? ? ? ? ? ? job? : {3}
'''?
print(msg2.format(name,name,age,job))
使用三個(gè)’’’在表達(dá)式中制定好格式。
轉(zhuǎn)載于:https://www.cnblogs.com/zhming26/p/5333216.html
總結(jié)
以上是生活随笔為你收集整理的06python 之基本数据类型的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 图片延时加载
- 下一篇: python入门(七)