python 基礎資料型別 一

2022-08-27 03:12:10 字數 4168 閱讀 5489

在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...