1. 程式人生 > >python基礎(5):數字和字符串類型

python基礎(5):數字和字符串類型

digi 數字 身高 isalnum 下標 spl 大小寫 () ljust

今天總結一下數據類型中的數字和字符串型。

預習:

技術分享
# 寫代碼,有如下變量,請按照要求實現每個功能 (共6分,每小題各0.5分)
name = " aleX"
# 1)    移除 name 變量對應的值兩邊的空格,並輸出處理結果
# 2)    判斷 name 變量對應的值是否以 "al" 開頭,並輸出結果?
# 3)    判斷 name 變量對應的值是否以 "X" 結尾,並輸出結果?
# 4)    將 name 變量對應的值中的 “l” 替換為 “p”,並輸出結果
# 5)    將 name 變量對應的值根據 “l” 分割,並輸出結果。
# 6)    將 name 變量對應的值變大寫,並輸出結果
? # 7) 將 name 變量對應的值變小寫,並輸出結果? # 8) 請輸出 name 變量對應的值的第 2 個字符? # 9) 請輸出 name 變量對應的值的前 3 個字符? # 10) 請輸出 name 變量對應的值的後 2 個字符?? # 11) 請輸出 name 變量對應的值中 “e” 所在索引位置?? # 12) 獲取子序列,去掉最後一個字符。如: oldboy 則獲取 oldbo。
View Code

一、數字(int,float)

在python3中數字類型只有整形,浮點型,復數。而復數在平時的編程中幾乎用不到所以我們只要掌握整形和浮點型即可。(長整形在python3中取消了統一用整形,所以在python3中整形長度無限制)

整型int:年級,年紀,等級,身份證號,qq號,手機號等

ps:

level=10

浮點型float:身高,體重,薪資,溫度,價格

ps:

height=1.81

salary=3.3

1 n = 12
2 f = 1.5
3 print(type(n)) # int即為整形
4 print(type(f)) #float即為浮點型
5 
6 #科學計數法在python中的應用:(10用e代替)
7 print(1.3e-3)    #1.3e-3 --> 0.0013
8 print(1.3e3)    #1.3e3 --> 1300.0

數字類型的特點:

1、只能存放一個值

2、一經定義,不可更改

3、直接訪問

二、字符串類型

包含在引號(單,雙,三)裏面,由一串字符組成

用途(描述性的數據):姓名,性別,地址,學歷,密碼等。

ps:

 1 s1 = lln
 2 s2 = "lln"
 3 s3 = ‘‘‘lln‘‘‘
 4 s4 = """lln"""
 5 
 6 print(type(s1))
 7 print(type(s2))
 8 print(type(s3))
 9 print(type(s4))
10 #均為str字符串類型

取值:

首先要明確,字符串整體就是一個值,只不過特殊之處在於:python中沒有字符類型,字符串是由一串字符組成,想取出字符串中的字符,也可以按照下標的方式取得

ps:

name = "lln"

name:取得是字符串整體的那一個值(lln)

name[1]:取得是第二位置的字符(l)

字符串拼接:
msg1=‘hello‘
msg2=‘ world‘
字符串中的+的用法:
msg1 + msg2
‘hello world‘
res=msg1 + msg2
print(res)
hello world
字符串中的*的用法:
msg1*3
‘hellohellohello‘

註意:字符串不能再用其它符號。

字符串常用方法全解:

技術分享
#移除兩邊的空格或字符
name = "   llN***"
print(name)
print(name.strip("*"))

#判斷以什麽結尾和開頭
name = "lln"
print(name.endswith("l"))  #false
print(name.startswith("l"))  #true

#替換
name = "lln"
print(name.replace("n","N"))  #llN
print(name.replace("l","L"))  #LLn
print(name.replace("l","L",1))  #Lln 1指定替換次數

#格式化字符串
str = "name:{},age:{},sex{}"
print(str)  #name:{},age:{},sex{}
print(str.format("lln",22,"man"))  #name:lln,age:22,sex:man
str = "name:{0},age:{1},sex{0}"
print(str.format("lln",22))  #name:lln,age:22,sex:lln
str = "name:{x},age:{y},sex{z}"
print(str.format(y=22,x="lln",z="man"))  #name:lln,age:22,sex:man

#索引
name = "lln love"
print(name.find("o"))  #返回位置
print(name.find("a"))  #搜索不到返回-1
#查索引
print(name.index("o")) #索引o位置
print(name[4])
print(name[name.index("o")])
#字符統計
print(name.count("l"))  #字母l出現的次數
print(name.count("l",0,4))  #統計0-3位中l出現的次數

#切分
name = "hello world"
print(name.split())  #[‘hello‘, ‘world‘]默認以空格分隔
name = "he:llo wor:ld"
print(name.split(":"))  #[‘he‘, ‘llo wor‘, ‘ld‘]可以指定分隔符
print(name.split(":", 1))  #分兩部分

# join 連接字符串數組。
name = " "
print(name.join(["lln", "say", "hello", "world"]))  # 可叠代對象必須都是字符串

#center,ljust,rjust,rfill 對其格式
name = "lln"
print(name.center(30,"-"))
print(name.ljust(30,"*"))
print(name.rjust(30,"*"))
print(name.zfill(50))  #用0填充

#expandtabs 替換制表符“\t‘ 的字符數
name = "lln\thello"
print(name)
print(name.expandtabs(1))

#所有字母大寫(小寫)
name = "lln"
print(name.upper())
name = "LLN"
print(name.lower())
#判斷是否大寫(小寫)必須全部大寫或小寫
name = "lln"
print(name.isupper())
print(name.islower())

# captalize,swepcase,title
name = "lln"
print(name.capitalize())  #首字母大寫
name = "LlN"
print(name.swapcase())  # 大小寫反轉
msg = "lln say hi"
print(msg.title())  # 每個單詞的首字母大寫
# 判斷首字母大寫
name = "Lln"
print(name.istitle())

#取值及切片
name = "hello world"
print(name[0])  #h
print(name[6])  #w
#print(name[20])  報錯
print(name[-1])  #d
print(name[-3])  #r
print(name[1:3])  #el 切片
print(name[1:5])  #ello 切片
print(name[1:5:3])  #eo 切片 3為步長

#判斷字符串能否轉換成數字
# age=input(‘age: ‘)
# if age.isdigit():  #如果用戶輸入12返回true如果abc則返回false
#     new_age=int(age)
#     print(new_age,type(new_age))

#判斷是否是空格(必須全是空格)
name = ""
print(name.isspace())
name = "   "
print(name.isspace())

print("===>")
name = "egon123"
print(name.isalnum())  # 字符串由字母和數字組成
print(name.isalpha())  # 字符串只由字母組成
View Code

預習解答:

技術分享
# 寫代碼,有如下變量,請按照要求實現每個功能
name = " aleX"
# 1)    移除 name 變量對應的值兩邊的空格,並輸出處理結果
print(name.strip())
# 2)    判斷 name 變量對應的值是否以 "al" 開頭,並輸出結果?
print(name.startswith("al"))
# 3)    判斷 name 變量對應的值是否以 "X" 結尾,並輸出結果?
print(name.endswith("X"))
# 4)    將 name 變量對應的值中的 “l” 替換為 “p”,並輸出結果
print(name.replace("l","p"))
# 5)    將 name 變量對應的值根據 “l” 分割,並輸出結果。
print(name.split("l"))
# 6)    將 name 變量對應的值變大寫,並輸出結果?
print(name.upper())
# 7)    將 name 變量對應的值變小寫,並輸出結果?
print(name.lower())
# 8)    請輸出 name 變量對應的值的第 2 個字符?
print(name[1])
# 9)    請輸出 name 變量對應的值的前 3 個字符?
print(name[0:3])
# 10)    請輸出 name 變量對應的值的後 2 個字符??
print(name[-2:])
# 11)    請輸出 name 變量對應的值中 “e” 所在索引位置??
print(name.index("e"))
# 12)    獲取子序列,去掉最後一個字符。如: oldboy 則獲取 oldbo。
print(name[0:-1])
View Code

python基礎(5):數字和字符串類型