06python 之基本数据类型
數字
int(整型)
在32位機器上,整數的位數為32位,取值范圍為-2**31~2**31-1,即-2147483648~2147483646
在64位機器上,整數的位數為64位,取值范圍為-2**63~2**63-1,即-9223372036854775808~9223372036854775807
long(長整型)
跟c語言不通,python的長整數沒有指定位寬,即:python沒有限制場整數數值大小,但實際上由于機器內存有限,我門使用的長整型不可能無限大。
注意,自python2.2起,如果整數發生溢出,python自動將整數數據轉換為長整數,所以如今不再長整型數據后面加L也不會導致嚴重后果。
float(浮點數)
?
complex(復數)暫時用不到
?
2.布爾值
真或假
1或0
3.字符串
字符串的內部原理&萬惡的‘+’號
?
s = “hello alex”?
python是c語言開發的。 #c語言,沒有字符串:字符串使用字符組表現 hello —五個字符 字符數組 [’h’,’e’,…’o’] 所以python中如果對一個字符串進行修改,就是在內存中開辟了一塊內存。 比如hello 改成helloaa 并不是將[’h’,’e’,’l’..,o]數組后面加上[a,a] 而是內存中開辟一個空間把前面的hello重寫后加上[a,a] 即是:[’h’,’e’,’l’..,’o’,’a’,’a’] 那為什么不是添加,而是重新開辟空間呢? 因為內存的使用地址是連續的。假設你的字符串使用了1-n的內存地址塊,從n+1是另一個地址塊被其他字符串使用。你說你怎么加[a,a],內存地址n后面已經被使用了。所以內存的處理方法是新開辟了一塊地址塊將之前的重寫在加上需要的內容。 結論:字符串的修改,其實是新開辟了一塊內存。 所以編程中’hello’+’world’+’..’每有一個+號就會開辟一塊新內存,消耗內存。效率低,那么解決方案呢。 字符串的格式化: 字符串的格式化有三種方式。 1,使用+拼接模式 2.使用占為符方式 ?%s 字符串占為符,%d數字占為符 3.使用字符串類的格式化方法,即 str.format() 優缺點: 1.此等方式開辟內存空間較大,不好,棄用 2.此等方式方便,可用 3.字符串格式化方法也挺好,可用。 總結:建議使用第二種,常用 舉例:#!/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))
使用三個’’’在表達式中制定好格式。
轉載于:https://www.cnblogs.com/zhming26/p/5333216.html
總結
以上是生活随笔為你收集整理的06python 之基本数据类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图片延时加载
- 下一篇: Android LayoutInflat