在32位機器上int的範圍是:-2**31 2**31-1,即-2147483648~2147483647
在64位機器上int的範圍是:-2**63~2**63-1,即-9223372036854775808~9223372036854775807
在python3中所有的整數都是int型別. 但在python2中如果資料量比較大. 會使用long型別.
在python3中不存在long型別 整數可以進行的操作+ - * / % // **
二進位制轉換為十進位制:要從右到左用二進位制的每個數去乘以2的相應次方,小數點後則是從左往右
通用公式為:
abcd.efg(2)=d*2^0+c*2^1+b*2^2+a*2^3+e*2^-1+f*2^-2+g*2^-3(10)
例1101.01轉換為十進位制
1101.01(2)=1*2^0+0*2^1+1*2^2+1*2^3 +0*2^-1+1*2^-2=1+0+4+8+0+0.25=13.25(10)
十進位制轉換為二進位制:十進位制整數轉換為二進位制整數採用"除2取餘,逆序排列"法。具體做法是:用2整除十進位制整數,可以得到乙個商和餘數;再用2去除商,又會得到乙個商和餘數,如此進行,直到商為小於1時為止,然後把先得到的餘數作為二進位制數的低位有效位,後得到的餘數作為二進位制數的高位有效位,依次排列起來。
18/2=9 餘 0
9/2=4 餘 1
4/2=2 餘0
2/2=1 餘0
1/2=0 餘1
18用二進位制表示為 10010
求十進位制數轉換成二進位制時所占用的位數可用: print(num.bit_length())
num = 18
print(num.bit_length())
用於條件使用 true(真) false(假)
數字轉換為布林值:
print(bool(-10)) #結果 true 規律:非0即true
字串轉換為布林值:
print(bool('')) #結果為 false 規律:非空即true(字串裡全空,空格也沒有)
布林值轉換為字串:
print(str(true)) #true type 為字串
布林值轉換為數字:
print(int(true)) #結果為1 false轉換結果為0
用於儲存資料 但量比較小
裡邊都是字串
字串的索引和切片
name = "張三,zain01,imm_ky"
#索引 從左往右數 01234... 相當於從0開始從左往右給元素編號,也可從右往左:-1-2-3-4.. 查詢時超出範圍會錯.
#字串,列表,元組 -- 都是有索引(下標)
print(name[1])
print(name[1:10:3]) # 切片:[起始位置:終止位置:步長] 顧頭不顧尾 查詢的時候超出範圍沒事
#步長:正負決定查詢的方向 大小決定查詢的間隔 預設時1 預設方向為從左到右 如-1是從左至右
#先定義乙個範圍 再確定方向
print(name[::-1] #倒序輸出
print(name[:4]) #開始到3號索引即第四個元素
#[a:b:c] 前兩位是去乙個範圍 a b 可正可負 c的符號決定了輸出方向
字串的常用處理方法
1.全部大寫 upper
name = "absjdfg"
print(name.upper())
全部小寫 lower
name = "sadfwsss"
print(name.lower())
2.檢視開頭 startswith
name = "alex"
print(name.startswith('a')) #結果為 true
檢視結尾 endswith
name = "alex"
print(name.endswith('a')) #結果為false
3.count 統計某元素或內容出現次數
name = "sdsdsdsdaadwfqs"
print(name.count('sd'))
4.替換 replace
name = "sdsdsdsdaadwfqs"
print(name.replace('d','a',5)) #括號內前面為要被替換的內容,中間為新內容,數字為替換次數,不填預設全換
5.除去頭尾兩邊的空格 strip
name = ' imm_ky/ '
print(name.strip()) #預設去掉空格和換行符,可以寫自己想換的內容.
6.分割 split 分割後得到乙個列表
name = "a l e x"
print(name.split()) #預設以空格分隔,也可自定義分割
7.字串格式化之 format
name = 'alex{}wusir{}'
name1 = name.format('去玩了','在上班') #按順序對應填充
name = 'alexwusir'
name1 = name.format('去玩了','在上班') #按索引位置填充
name = 'alexwusir'
name1 = name.format(a='去玩了',b='在上班') #指名填充
8.is系列 判斷
name = '2343②'
print(name.isdigit()) # isdigit 判斷是不是阿拉伯數字
name = '385'
print(name.isdecimal()) # isdicimal 判斷是不是十進位制 一般用它判斷是不是數字
name = 'inmm漢字'
print(name.isalpha()) # isalpha 判斷是不是由字母和漢字組成
name = 'inmm漢字985'
print(name.isalnum()) #isalnum 判斷是不是右字母、數字、漢字組成.
str.join() str為要插入的符號,括號內為操作物件,列表,元組,字典都可以 操作結果為以插入的str隔開的字串
li = ['a','b','c','d']
s = ':'.join(li) # 用冒號分開各元素
>>> 'a:b:c:d' #得到結果為乙個字串
可以用於統計字串元素個數
s = '今晚打老虎'
print(len(s)) # 結果為5
for i in s:
print(i)
for 關鍵字, i變數 ,s 可迭代物件(除int.bool 外都是)
s = 'alex'
for i in s:
pass # 過 佔位符
``` #同pass
print(i)
#注意和上邊的區別,最終結果為'x',因為對於for迴圈會根據索引給i賦值為s內的元素,直到最後乙個變數(正常完成迴圈情況下),因此最終print(i)會輸出最後乙個元素.
python3列印是它自己本身
python2列印是列表
for i in range(1,10,2): # (起始位置,終止位置,步長)(顧頭不顧尾)
#range(10) 指定了終止位置,起始位置預設是0
print(i)
Python基礎 資料型別
1 數字 2 是乙個整數的例子。長整數 不過是大一些的整數。3.23和52.3e 4是浮點數的例子。e標記表示10的冪。在這裡,52.3e 4表示52.3 10 4。5 4j 和 2.3 4.6j 是複數的例子,其中 5,4為實數,j為虛數,數學中表示複數是什麼?int 整型 在32位機器上,整數的...
Python 基礎資料型別
數字 整數 int,long 整數在python3 沒有大小長度分別,記憶體決定整數最大長度 浮點數 float 具有小數點的數 無窮小數會做精度處理 布林 bool 非空非0為真,0或空為假 複數 complex 複數的標誌為虛部以大寫j 或小寫j結尾 字串 str 表示方式 使用單引號 abc ...
python基礎 資料型別
增 name name.insert index,element 元素刪 name.pop index default last name.remove element del name index names.clear 清空列表 del names 刪除列表改 name index newval...