第二天 PYTHON 基本数据类型 - 数字 - 字符串
生活随笔
收集整理的這篇文章主要介紹了
第二天 PYTHON 基本数据类型 - 数字 - 字符串
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
基本數據類型
1、數字(int)
在python3中,所有數字都是int類型
在python2中,有int類型和long類型
2、字符串(str)
3、列表(list)
4、元組(tuple)
5、字典(dict)
6、布爾值(bool)
pycharm 小貼士: 用鼠標指向函數,點住ctrl,點擊鼠標左鍵,可以定位到函數 ******************************************************************** # 數字int類型
- int #轉換為數字類型
a = '123' # 字符串是字符串類型
b = int(a) # 轉換為數字類型
b = b + 1000
print(type(a),a) # 查看a的類型
print(type(b),b) # 查看b的類型
num = '0011'
v = int(num,base = 2) #base轉換2進制為10進制
num = 'a'
v = int(num, base = 16) #將字符串a用16進制轉化為10進制,結果為10
print(v)
- bit_length() #返回2進制長度
age = 10
r = age.bit_length(age) #返回10的2進制長度,結果為7
print(r) ********************************************************************* #字符串類型 str
#首字母大寫
test = 'alex'
test.capitalize() #首字母大寫,結果是Alex
#變為小寫字母
test = 'aLex'
test.casefold() #將字母變為小寫字母,這個更厲害,有很多未知的對應關系
test.lower() #將字母變為小寫字母
#使用字符串填充,字符串居中
test.center(20) #一共20個字符,將文本居中
test.center(20,*) #一共20個字符,將文本居中,空格用*代替,代替字符只能是1個字符
# 使用字符串填充
test = 'alex'
test.ljust(20, "*") # 字符串在左邊
test.rjust(20, "*") # 字符串在右邊
#使用0填充字符串
test.zfill(20) #使用0進行填充,最后寫alex
#尋找字符串中子序列的出現次數,可以指定起始位置和結束位置 test = 'alexalex'
test.count('ex') #計算在字符串中出現的次數,結果是2
test.count('ex',5) #從第五個字符開始尋找,結果是1
test.count('ex',5,6) #從第五個開始到第六個結束,結果是0
encode #后面講
#判斷字符串的起始和結尾字符
test.endswith('a') #判斷字符串是否以a結尾,結果為False
test.startswith('a') #判斷字符串是否以a開始
#字符串根據制表符斷句轉換
test = '12345678\t9'
test.expandtabs(6) #把字符串中的 tab 符號('\t')轉為空格,
#這一句寫法的意思是,從開始按每6個進行轉換,遇到包含/t的時候,看/t在6個字符串中的位置,以最多6個進行填充
test = 'username\temail\tpassword\nlaiying\tying@q.com\t123\nlaiying\tying@q.com\t123\nlaiying\tying@q.com\t123'
test.expandtabs(20)
#可以輸出一個有格式的文本列
#尋找字符串中的內容
test = 'alexalex'
test.find('ex') #從前往后尋找字符串,返回字符串起點位置
test.find('ex',5,7) #設置起點位置和結束位置,現在的結果是-1,是沒找到的意思
#大于等于5,小于7的意思
# 格式化字符,將一個字符串中的占位符號替換為指定的值
test = 'i am {name}'
test.format(name = 'alex') #將大括號內的字符,代替為alex,結果是i am alex
test = 'i am {name},age {a}'
test.format(name='alex',a=19) #結果為i am alex,age 19
test = 'i am {0},age {1}'
test.format('alex',19) #結果也為i am alex,age 19,根據替換的順序進行替換,從0開始
test = 'i am {name},age {a}'
test.format_map({'name':'alex','a':19}) #傳入的值必須采用這種寫法
#字符串尋找
text.index('8') #跟find功能類似,沒有找到的時候程序報錯
#替換字符
test = 'alexalexalex'
test.replace('ex','bbb') #用bbb替換字符串中的ex
test.replace('ex','bbb',2) #用bbb替換字符串中的ex,只替換前兩個
#判斷字符串中只包含數字和字母
test = 'uasf890_+'
test.isalnum() #運行結果為False
test = 'uasf890'
test.isalnum() #運行結果為True
#判斷字符串中只包含字母
test = 'uasf890'
test.isalpha() #運行結果為False
test = 'uasf'
test.isalpha() #運行結果為True
#判斷是否為數字
test = '123'
test = '②' #特殊數字
test.isdecimal() #判斷是否為十進制小數,正常數字輸出的是True,特殊的輸出的是False
test.isdigit() #判斷是否為數字(包含了特殊符號),正常數字輸出的是True,特殊的輸出的也是True
test.isnumeric() #判斷是否為數字(包含了特殊符號和中文),正常數字輸出的是True,特殊的輸出的也是True
# 字母、數字、下劃線:標識符
test = '_123'
test.isidentifier() #判斷是否為正確標識符(函數名),返回布爾值。數字不能作為第一個字符
#判斷是否包含的所有字符都可以輸出,沒有不可顯示的內容,如:/t
test = 'lfjsdak\tljfkla'
test.isprintable() #此時輸出的是False
#是否全部都是空格,如果是空字符串的時候輸出False
test.isspace()
#是否是標題(每一個字符都是標題,首字母全部大寫?)
test.istitle()
#轉換全部字符串中的每一個字符都是標題,首字母全部大寫
test.title()
#將字符串中的每一個元素按照指定的分隔符進行拼接
test = '你是風兒我是沙'
t = ' '
t.join('test') #在每個字符中間增加一個空格
' '.join(test) #這個跟上面的一行是一個結果
#轉換為小寫
test = 'Alex'
test.islower() #判斷是否全部是小寫
test.lower() #將全部字符變為小寫
#轉換為大寫
test.isupper() #判斷是否全部是大寫
test.upper() #將全部字符變為大寫
#刪除空格以及制表符、以及指定的字符,優先匹配最多匹配結果
test = ' alex '
test.lstrip() #將左邊的空格刪除
test.rstrip() #將右邊的空格刪除
test.strip() #將全部的空格刪除
test = 'xalex'
test.lstrip('9lexex') #從左邊刪除字符串中的所有字符,先進行最多匹配,再進行下一次匹配
#按照規則替換相應的字符
m = str.maketrans('aeiou','12345') #首先指定一個字符的對應關系
test = 'fjkasjflasjflasl;fjllkdsajfl;asfj' #設置一串字符
new_test = test.translate(m) #按照規則將字符進行替換
#分割字符串
test = 'testjflsajfdslkjfl'
test.partition('s') #從字符串左邊開始,按照s進行分割,分割成為3個字符串
test.rpartition('s') #從字符串右邊開始,按照s進行分割,分割成為3個字符串
test.split('s') #將字符串中的全部字符,按照s進行分割成為n份,s就沒了
test.split('s',2) #從左開始,按s進行分割2次,s消失
test.rstrip('s') #從右邊開始,按s進行分割
# 正則表達式也可以進行分割,并且可以自己進行設置分割的元素,是否保留
test.splitlines() #根據換行符進行分割,參數True保留換行符,False不保留換行符
#判斷字符串以??開頭??結尾
test = 'backend 1.1.1'
test.startswith('a') #判斷字符串是否以a開頭
test.endswith('a') #判斷字符串是否以a結尾
#大小寫轉換
test = 'AleX'
test.swapcase() #結果為aLEx
以下是必須要掌握的:
join
split
find
strip
upper
lower
replace ******************************************************************** range #創建連續的數字,或帶步長的連續的數字
v = range(100) #v就等于0至99
#python2中立即創建,python3中不創建,直至for循環時創建,并按照循環數依次創建
v = range(0,100,5) #按照5步長進行創建
for item in v:
print(item)
#range練習
test = input('...')
l = len(test)
r = range(l)
for item in r:
print(item,test[item])
#代碼簡寫
test = input('...')
for item in range(0,len(test)):
print(item,test[item])
************************************************************* 下面提到的可以在其他數據類型中也可以使用
# 通過索引方式獲取字符串的某一個字符
test = 'alex'
test[0] #這個是a
test[2] #這個是e
# 通過切片方式獲取字符串的某一段字符
test[0:1] #表示一個索引范圍,這個只能拿到a,這個范圍是大于等于0,小于1
test[0:-1] #表示直接取到最后一個位置
#獲取字符串的長度
len(test) #獲取字符串的長度,如果是中文的話,也返回中文的字符長度。注:在python2中返回的是字節數,一個漢字是3個字節,返回的是漢字數*3的個數
#對于列表的話,len返回的是列表中的逗號的數量
# 下面的代碼會依次取出test字符串中的字符,每一個字符一行
test = '1234567890'
for zjw in test:
print(zjw)
1、數字(int)
在python3中,所有數字都是int類型
在python2中,有int類型和long類型
2、字符串(str)
3、列表(list)
4、元組(tuple)
5、字典(dict)
6、布爾值(bool)
pycharm 小貼士: 用鼠標指向函數,點住ctrl,點擊鼠標左鍵,可以定位到函數 ******************************************************************** # 數字int類型
- int #轉換為數字類型
a = '123' # 字符串是字符串類型
b = int(a) # 轉換為數字類型
b = b + 1000
print(type(a),a) # 查看a的類型
print(type(b),b) # 查看b的類型
num = '0011'
v = int(num,base = 2) #base轉換2進制為10進制
num = 'a'
v = int(num, base = 16) #將字符串a用16進制轉化為10進制,結果為10
print(v)
- bit_length() #返回2進制長度
age = 10
r = age.bit_length(age) #返回10的2進制長度,結果為7
print(r) ********************************************************************* #字符串類型 str
#首字母大寫
test = 'alex'
test.capitalize() #首字母大寫,結果是Alex
#變為小寫字母
test = 'aLex'
test.casefold() #將字母變為小寫字母,這個更厲害,有很多未知的對應關系
test.lower() #將字母變為小寫字母
#使用字符串填充,字符串居中
test.center(20) #一共20個字符,將文本居中
test.center(20,*) #一共20個字符,將文本居中,空格用*代替,代替字符只能是1個字符
# 使用字符串填充
test = 'alex'
test.ljust(20, "*") # 字符串在左邊
test.rjust(20, "*") # 字符串在右邊
#使用0填充字符串
test.zfill(20) #使用0進行填充,最后寫alex
#尋找字符串中子序列的出現次數,可以指定起始位置和結束位置 test = 'alexalex'
test.count('ex') #計算在字符串中出現的次數,結果是2
test.count('ex',5) #從第五個字符開始尋找,結果是1
test.count('ex',5,6) #從第五個開始到第六個結束,結果是0
encode #后面講
#判斷字符串的起始和結尾字符
test.endswith('a') #判斷字符串是否以a結尾,結果為False
test.startswith('a') #判斷字符串是否以a開始
#字符串根據制表符斷句轉換
test = '12345678\t9'
test.expandtabs(6) #把字符串中的 tab 符號('\t')轉為空格,
#這一句寫法的意思是,從開始按每6個進行轉換,遇到包含/t的時候,看/t在6個字符串中的位置,以最多6個進行填充
test = 'username\temail\tpassword\nlaiying\tying@q.com\t123\nlaiying\tying@q.com\t123\nlaiying\tying@q.com\t123'
test.expandtabs(20)
#可以輸出一個有格式的文本列
#尋找字符串中的內容
test = 'alexalex'
test.find('ex') #從前往后尋找字符串,返回字符串起點位置
test.find('ex',5,7) #設置起點位置和結束位置,現在的結果是-1,是沒找到的意思
#大于等于5,小于7的意思
# 格式化字符,將一個字符串中的占位符號替換為指定的值
test = 'i am {name}'
test.format(name = 'alex') #將大括號內的字符,代替為alex,結果是i am alex
test = 'i am {name},age {a}'
test.format(name='alex',a=19) #結果為i am alex,age 19
test = 'i am {0},age {1}'
test.format('alex',19) #結果也為i am alex,age 19,根據替換的順序進行替換,從0開始
test = 'i am {name},age {a}'
test.format_map({'name':'alex','a':19}) #傳入的值必須采用這種寫法
#字符串尋找
text.index('8') #跟find功能類似,沒有找到的時候程序報錯
#替換字符
test = 'alexalexalex'
test.replace('ex','bbb') #用bbb替換字符串中的ex
test.replace('ex','bbb',2) #用bbb替換字符串中的ex,只替換前兩個
#判斷字符串中只包含數字和字母
test = 'uasf890_+'
test.isalnum() #運行結果為False
test = 'uasf890'
test.isalnum() #運行結果為True
#判斷字符串中只包含字母
test = 'uasf890'
test.isalpha() #運行結果為False
test = 'uasf'
test.isalpha() #運行結果為True
#判斷是否為數字
test = '123'
test = '②' #特殊數字
test.isdecimal() #判斷是否為十進制小數,正常數字輸出的是True,特殊的輸出的是False
test.isdigit() #判斷是否為數字(包含了特殊符號),正常數字輸出的是True,特殊的輸出的也是True
test.isnumeric() #判斷是否為數字(包含了特殊符號和中文),正常數字輸出的是True,特殊的輸出的也是True
# 字母、數字、下劃線:標識符
test = '_123'
test.isidentifier() #判斷是否為正確標識符(函數名),返回布爾值。數字不能作為第一個字符
#判斷是否包含的所有字符都可以輸出,沒有不可顯示的內容,如:/t
test = 'lfjsdak\tljfkla'
test.isprintable() #此時輸出的是False
#是否全部都是空格,如果是空字符串的時候輸出False
test.isspace()
#是否是標題(每一個字符都是標題,首字母全部大寫?)
test.istitle()
#轉換全部字符串中的每一個字符都是標題,首字母全部大寫
test.title()
#將字符串中的每一個元素按照指定的分隔符進行拼接
test = '你是風兒我是沙'
t = ' '
t.join('test') #在每個字符中間增加一個空格
' '.join(test) #這個跟上面的一行是一個結果
#轉換為小寫
test = 'Alex'
test.islower() #判斷是否全部是小寫
test.lower() #將全部字符變為小寫
#轉換為大寫
test.isupper() #判斷是否全部是大寫
test.upper() #將全部字符變為大寫
#刪除空格以及制表符、以及指定的字符,優先匹配最多匹配結果
test = ' alex '
test.lstrip() #將左邊的空格刪除
test.rstrip() #將右邊的空格刪除
test.strip() #將全部的空格刪除
test = 'xalex'
test.lstrip('9lexex') #從左邊刪除字符串中的所有字符,先進行最多匹配,再進行下一次匹配
#按照規則替換相應的字符
m = str.maketrans('aeiou','12345') #首先指定一個字符的對應關系
test = 'fjkasjflasjflasl;fjllkdsajfl;asfj' #設置一串字符
new_test = test.translate(m) #按照規則將字符進行替換
#分割字符串
test = 'testjflsajfdslkjfl'
test.partition('s') #從字符串左邊開始,按照s進行分割,分割成為3個字符串
test.rpartition('s') #從字符串右邊開始,按照s進行分割,分割成為3個字符串
test.split('s') #將字符串中的全部字符,按照s進行分割成為n份,s就沒了
test.split('s',2) #從左開始,按s進行分割2次,s消失
test.rstrip('s') #從右邊開始,按s進行分割
# 正則表達式也可以進行分割,并且可以自己進行設置分割的元素,是否保留
test.splitlines() #根據換行符進行分割,參數True保留換行符,False不保留換行符
#判斷字符串以??開頭??結尾
test = 'backend 1.1.1'
test.startswith('a') #判斷字符串是否以a開頭
test.endswith('a') #判斷字符串是否以a結尾
#大小寫轉換
test = 'AleX'
test.swapcase() #結果為aLEx
以下是必須要掌握的:
join
split
find
strip
upper
lower
replace ******************************************************************** range #創建連續的數字,或帶步長的連續的數字
v = range(100) #v就等于0至99
#python2中立即創建,python3中不創建,直至for循環時創建,并按照循環數依次創建
v = range(0,100,5) #按照5步長進行創建
for item in v:
print(item)
#range練習
test = input('...')
l = len(test)
r = range(l)
for item in r:
print(item,test[item])
#代碼簡寫
test = input('...')
for item in range(0,len(test)):
print(item,test[item])
************************************************************* 下面提到的可以在其他數據類型中也可以使用
# 通過索引方式獲取字符串的某一個字符
test = 'alex'
test[0] #這個是a
test[2] #這個是e
# 通過切片方式獲取字符串的某一段字符
test[0:1] #表示一個索引范圍,這個只能拿到a,這個范圍是大于等于0,小于1
test[0:-1] #表示直接取到最后一個位置
#獲取字符串的長度
len(test) #獲取字符串的長度,如果是中文的話,也返回中文的字符長度。注:在python2中返回的是字節數,一個漢字是3個字節,返回的是漢字數*3的個數
#對于列表的話,len返回的是列表中的逗號的數量
# 下面的代碼會依次取出test字符串中的字符,每一個字符一行
test = '1234567890'
for zjw in test:
print(zjw)
轉載于:https://www.cnblogs.com/trunkslisa/p/9184613.html
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的第二天 PYTHON 基本数据类型 - 数字 - 字符串的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CodeChef March Lunch
- 下一篇: 大数据分析的5个方面