整型的長度html
py2中有:int/longpython
在32位機器上,整數的位數爲32位,取值範圍爲-231~231-1,即-2147483648~2147483647git
在64位系統上,整數的位數爲64位,取值範圍爲-263~263-1,即-9223372036854775808~9223372036854775807ide
超出長度以後就會變爲long類型。函數
py3中有:int (int/long)ui
整除this
py2和py3中整除是不同。編碼
注意:在python2中使用除法時,只能保留整數位,若是想要保留小數位,能夠先導入一個模塊。spa
from __future__ import division
value = 3/2
print(value)
布爾值就是用於表示真假。True和False。code
其餘類型轉換成布爾值爲False:
0
""
[]
()
{}
set()
None
其餘類型轉換成布爾值爲False:
除了以上其餘轉換都是True
字符串是寫代碼中最多見的,python內存中的字符串是按照:unicode 編碼存儲。對於字符串是不可變。
字符串本身有不少方法,如:
upper() #所有大寫 isupper() #
v = 'ALEX' v1 = v.upper() print(v1) v2 = v.isupper() # 判斷是否所有是大寫 print(v2)
小寫:lower
v = 'alex' v1 = v.lower() print(v1) v2 = v.islower() # 判斷是否所有是小寫 print(v2) ############ 瞭解便可 v = 'ß' # 將字符串變小寫(更牛逼) v1 = v.casefold() print(v1) # ss v2 = v.lower() print(v2)
判斷是不是數字: isdecimal
v = '1' # v = '二' # v = '②' v1 = v.isdigit() # '1'-> True; '二'-> False; '②' --> True v2 = v.isdecimal() # '1'-> True; '二'-> False; '②' --> False v3 = v.isnumeric() # '1'-> True; '二'-> True; '②' --> True print(v1,v2,v3) # 之後推薦用 isdecimal 判斷是不是 10進制的數。 # ############## 應用 ############## v = ['alex','eric','tony'] for i in v: print(i) num = input('請輸入序號:') if num.isdecimal(): num = int(num) print(v[num]) else: print('你輸入的不是數字')
strip() #去除兩邊空格 +\t+\n + 指定字符串
.lstrip() #去除左邊空格
.rstrip()#去除右邊空格
v1 = "alex " print(v1.strip()) v2 = "alex\t" print(v2.strip()) v3 = "alex\n" print(v3.strip()) v1 = "alexa" print(v1.strip('al'))
replace("被替換的字符/子序列","要替換爲的內容") .
replace("被替換的字符/子序列","要替換爲的內容",幾回).
# 示例一 a = "abc23" b = a.replace("ab","12") print(b) # 12c23 # 示例二 a = "abc23abab" b = a.replace("ab","12",2) print(b) # 12c2312ab
split('根據什麼東西進行分割') #從左往右分割
split('根據什麼東西進行分割', 幾回) #從左往右分割
rsplit('根據什麼東西進行分割') #從右往左分割
rsplit('根據什麼東西進行分割', 幾回) #從右往左分割
partition('3') # 將指定字符串分爲三分:前面,本身,後面
# 示例一 a = "abc23abab" b = a.split("b") print(b) #['a', 'c23a', 'a', ''] # 示例二 a = "abc23abab" b = a.split("b",2) print(b) # ['a', 'c23a', 'ab'] # 示例三 a = "abc23abab" b = a.rsplit("b") print(b) # ['a', 'c23a', 'a', ''] # 示例三 a = "abc23abab" b = a.rsplit("b",2) print(b) # ['abc23a', 'a', ''] v1 = v.partition('3') # 將指定字符串分爲三分:前面,本身,後面 print(v1)
startswith() # 判斷是否以什麼開頭
endswith() #判斷是否以什麼結尾
# 示例一 a = "abc23abab" b = a.startswith("a") print(b) # True # 示例二 a = "abc23abab" b = a.endswith("b") print(b) # True
encode() # 指定的編碼格式編碼字符串
name = '李傑' # 解釋器讀取到內存後,按照unicode編碼存儲:8個字節。 v1 = name.encode('utf-8') print(v1) v2 = name.encode('gbk') # b'\xe6\x9d\x8e\xe6\x9d\xb0' b爲字節 print(v2) # b'\xc0\xee\xbd\xdc'
format format_map # 字符串格式化的功能。
基本語法是經過 {} 和 : 來代替之前的 % 。
format 函數能夠接受不限個參數,位置能夠不按順序。
a = "{} {}".format("hello", "world") # 不設置指定位置,按默認順序 print(a) # 'hello world' a = "{0} {1}".format("hello", "world") # 設置指定位置 print(a) # 'hello world' a = "{1} {0} {1}".format("hello", "world") # 設置指定位置 print(a) # 'world hello world' v= '我是{0},謝謝謝 {1}'.format('alex',19) print(v) v= '我是{x1},謝謝謝 {xx}'.format_map({'x1':'alex','xx':19}) print(v) # v1 = "我是{0},年齡{1}".format('alex',19) v1 = "我是{0},年齡{1}".format(*('alex',19,)) print(v1) # v2 = "我是{name},年齡{age}".format(name='alex',age=18) v2 = "我是{name},年齡{age}".format(**{'name':'alex','age':18}) print(v2)
join() # 將序列中的元素以指定的字符鏈接生成一個新的字符串。
name = 'abcd' # a_b_c_d result = "+".join(name) # 循環每一個元素,並在元素和元素之間加入鏈接符。 print(result) # a+b+c+d
center() 該方法返回一個原字符串居中,並使用空格填充至長度 width 的新字符串。
str = 'runoob' str.center(20, '*') '*******runoob*******' str.center(20) ' runoob '
rjust() 返回一個原字符串右對齊,並使用空格填充至長度 width 的新字符串。
str = "this is string example....wow!!!" print (str.rjust(50, '*')) # ******************this is string example....wow!!!
count 計算子序列出現的次數
v = 'aealeax' v1 = v.count('ea') print(v1)
find,找索引位置(從左到右找到第一個),存在則返回索引位置,不存在則返回 -1 index, 找索引位置(從左到右找到第一個),存在則返回索引位置,不存報錯
v = 'alexex' index = v.find('u') print(index