整型以及布林值的轉換 字串詳解

2022-08-11 16:54:23 字數 4816 閱讀 5702

整型(數字)用於比較和運算

計算機支援的數字範圍

32位 ---2 ** 31 -1 ~ 2 ** 31 -1

64位 ---2 ** 63 -1 ~ 2 ** 63 -1

python2和python3在整型中的區別

python2 整型 int -- long(長整型) /獲取的是整數

python3 整型 int / 獲取的是浮點數(小數)

二進位制和十進位制

456  ----- 十進位制數

0101 ----- 二進位制數

除此之外還有:

十六進製制 八進位制 二進位制

二進位制和十進位制的計算
十進位制轉2進製:

例:將15轉換成2進製

15 1

7 1

3 1

1 1

除以2取餘,自下而上依次取餘數,所以15的二進位制數為1111

24 0

12 0

6 0

3 1

1 1

24的二進位制數為11000

186 0

93 1

46 0

23 1

11 1

5 1

2 0

1 1

186的二進位制數為10111010

print(bin(186)) # 十進位制 -- 二進位制

二進位制轉十進位制:

10111010

自右向左計算

0*2**0 + 1*2**1 + 0*2**2 + 1*2**3 + 1*2**4 + 1*2**5 + 0*2**6 + 1*2**7=0+2+0+8+16+32+64=186

print(int("10111010",2)) # 將二進位制轉換成十進位制

bool() 布林值
print(bool(1))  # 數字非零的就是true 零就是false

print(bool("")) # 字串不為空就是true(有空格也是不為空) ,字串中沒有任何內容就是false

在python中引號引起來就是字串

字串是用來儲存少量資料

name = "m e a t" # meat 每乙個字母叫做乙個元素      

# 0 1 2 3 從左向右

#-4-3-2-1 從右向左

# 索引(下標) 通過索引可以精確的定位到某個元素

print(name[-1]) # t

name = " 今天是個 好日子"

# 0 1 2 3 4 5 6

#-7-6-5-4-3-2-1

a = name[0] #今

b = name[1] #天

print(a+b) #今天

print(name[0:2]) # 顧頭不顧尾 name[起始位置:終止位置]

print(name[:]) # 某個位置不指定的時候預設取最後或最前

print(name[2:5]) # 是個好

print(name[-4:-1]) # 個好日

print(name[-2:-5]) # 輸出為空

print(name[-2:-5:-1]) # [起始位置:終止位置:步長] 步長預設為1

例:

name = "大黑哥吃大煎餅"

print(name[1:5]) #黑哥吃大

print(name[-2:-6:-1]) #哥吃大煎

print(name[-6:6]) #黑哥吃大

取第1.3.5.7位置的字

a = name[0]

b = name[2]

c = name[4]

d = name[6]

print(a+b+c+d)

運用步長:

print(name[::2]) #步長為2,所以每兩個取乙個

print(name[100:105]) #切片的時候起始位置和終止位置都超出的時候不會進行報錯

print(name[100]) #索引的時候索引值超出範圍的時候會報錯

練習:

s = 'python最nb'

獲取s字串中前3個內容

print(s[:3])

獲取s字串中第3個內容

print(s[2])

獲取s字串中後3個內容

print(s[-3:])

獲取s字串中第3個到第8個

print(s[2:-1])

獲取s字串中第2個到最後乙個

print(s[1:])

獲取s字串中第1,3,5個內容

print(s[:5:2])

獲取s字串中第2,4,6個內容

print(s[1:6:2])

獲取s字串中所有內容

print(s)

獲取s字串中第4個到最後乙個,每2個取乙個

print(s[3::2])

獲取s字串中倒數第5個到最開始,每3個取乙個   print(s[-5::-3])

s系列
s = "alex"

s1 = s.upper() #全部大寫

print(s1)

s1 = s.lower() # 全部小寫

print(s1)

應用場景

s = input("驗證碼(abc5)")

if s.upper() == "abc5".upper():

print("驗證碼正確")

else:

print("驗證碼錯誤!")

以....開頭:

s = "alex"

s1 = s.startswith("a")

print(s1) #true

s1 = s.startswith("e",2,6)

print(s1) #true

以....結尾:

s = "alex"

s1 = s.endswith("x")

print(s1) #true

統計s = "alexdxjbx"

s1 = s.count("x")

print(s1) # 3

脫: 字串頭尾兩端的空格和換行符以及製表符

n = input(">>>")

if n.strip() == "alex":

print("1")

else:

print("2") #輸入" alex " 輸出"1"

s = "alexdsba"

s1 = s.strip("a") # 可以指定內容取脫

print(s1) # lexdsb

分割:以空格和換行符以及製表符進行分割

s = "aelxlaaa"

s1 = s.split("l") # 可以通過指定方式進行切割

print(s1) # "ael","laaa"

s = "aelxlaxaa"

s1 = s.split("l",maxsplit=1) # 存在多個可切割目標時,可用maxsplit來指定切割次數,maxsplit=1即切割次數為1

print(s1) # "ael","laxaa"

s = "aelxlaxaa"

s1 = s.rsplit("l",maxsplit=1) # 存在多個可切割目標時,用maxsplit指定切割次數後,可在split前加"r"來更改切割優先方向

print(s1) # "aelx","laaa"

替換:s = "大黑哥吃肉夾饃"

s1 = s.replace("肉夾饃","大煎餅")

print(s1) # 大黑哥吃大煎餅

s = "大黑哥吃肉夾饃,肉夾饃"

s1 = s.replace("肉夾饃","大煎餅",1) # 指定替換的次數

print(s1) #大黑哥吃大煎餅,肉夾饃

is系列
s = "12.3"

print(s.isalnum()) # 判斷是不是字母,數字,中文print(s.isalpha()) # 判斷是不是字母,中文print(s.isdigit()) # 判斷字串是不是全都是阿拉伯數字print(s.isdecimal()) # 判斷是否是十進位制

print(len(name))     # 計算字串的字元數量

name = "你好啊"

count = 0

while count < len(name):

print(name[count])

count += 1# 你

好啊name = 你好啊

for x in name: # for迴圈

print(x)#你

好啊for 關鍵字

i 是變數名

in 關鍵字

name 可迭代物件

錯誤的示範:

name = true

for i in name:

print(i) # 資料型別中只有整型和布林值不能夠進行for迴圈

python 將布林字串轉換成布林值

場景 比如說乙個字典中的值對其進行判斷為字串,但是想其成為布林值。對布林值進行操作如何做呢。for example subnet if isinstance subnet enable dhcp str subnet enable dhcp subnet enable dhcp strip lowe...

python 空字串的布林值 python布林值

python布林值 布林值表示兩個值之一 true 或 false 在程式設計中,您通常需要知道表示式是否為 true 或 false 您可以在python中求值任何表示式,並獲得兩個答案之一,true 或 false 比較兩個值時,將對表示式求值,python返回布林值答案 print 10 9 ...

jsoncpp封裝和解析字串 數字 布林值和陣列

使用jsoncpp進行字串 數字 布林值和陣列的封裝與解析。2 解壓縮檔案 jsoncpp.rar unzip jsoncpp.rar3 修改jsoncpp src main.cpp檔案 vim src main.cpp 1 include 2 include 3 include stdio.h 4...