數字int字符串str(深入學習)
數字int字符串str
查看一個對象的類
如:如查看對象變量a是什麽類 用到函數type(),函數值是要查看的對象變量
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = "zjl" 4 b = type(a) 5 print(b)View Code
如上就會輸出:<type ‘str‘> str是字符串類
查看一個對象類的類庫
如上列,查到對象的類後,將類名稱寫在下面,按著ctrl鍵用鼠標點擊這個類名稱,就可以進入這個類的類庫
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = "zjl" 4 b = type(a) 5 print(b) 6 str #按著ctrl鍵用鼠標點擊這個類名稱,就可以進入這個類的類庫
每一個類的類庫裏都有操作對象的各種功能
如:將小寫字母轉換大寫字母
調用功能書寫格式:(對象變量.功能函數)
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = "zjl" 4 b = a.upper() 5 print(b)
如上列a為字符串類的對象變量,upper()為字符串類的類庫功能函數,b=a.upper() 打印b就將字符串轉換成大寫的了,輸出ZJL
查看一個對象功能函數
如:上列
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = "zjl" 4 b = a.upper() #按著ctrl鍵用鼠標點擊這個對象功能函數,就可以進入這個類的類庫,找到對應的函數源碼 5 print(b)
按著ctrl鍵用鼠標點擊這個對象功能函數,就可以進入這個類的類庫,找到對應的函數源碼
查看一個對象的類庫裏具備哪些功能
如:
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = "zjl" 4 b = dir(a) 5 print(b) 6 #運行後打印出對象類庫的所有具備功能
這樣就會得到:[‘__add__‘, ‘__class__‘, ‘__contains__‘, ‘__delattr__‘, ‘__doc__‘, ‘__eq__‘,等等
查看一個對象類庫的所有功能與詳情使用方法等
如:
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = "zjl" 4 b = help(type(a)) 5 print(b) 6 #運行後打印出對象類庫的所有具備功能
基本數據,對象類庫裏的常用功能
註意:對象類庫裏的功能函數,前後帶有下劃線的為特殊函數,是python程序的內置函數
如: _add_
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = 123 4 b = 456 5 print(a + b) 6 #如上列,其實內部計算流程 7 a = 123 8 b = 456 9 print(a.__add__(b)) 10 #所以兩個結果是一樣的
1.整數,int
創建整數對象
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = 123 4 print(a) 5 #或者 6 b = int(123) 7 print(b)
所有以類名稱加()創建的一個類對象都是執行的類庫裏的(__init__ )這個功能,初始化的意思
bit_length() 取二進制的最小表示位數(返回多少位) 格式:a.bit_length()
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = 4 #100 4 b = a.bit_length() 5 print(b)
#輸出 3
2.字符串,str
字符串常用功能:
移除空白
分割
長度
索引
切片
創建字符串
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = "你好" 4 print(a) 5 #或者 6 b = str("你好") 7 print(b)
capitalize() 首字母大寫 格式:a.capitalize()
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = "zjl" 4 b = a.capitalize() 5 print(b) 6 #打印出首字母大寫 ZjlView Code
center(self, width, fillchar=None) 有參
""" (內容居中),width:總長度;fillchar:空白處填充內容,默認無 """
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = "zjl" 4 b = a.center(20,"*") 5 print(b) 6 #打印出 *****zjl******View Code
count(self, sub, start=None, end=None) 有參
""" (查找字符在字符串屬性次數),要查找的字符,查找範圍開始位置,查找範圍結束位置 """ (也就是查找一個或者多個字符,在一個字符串的出現次數)
#!/usr/bin/env python # -*- coding:utf-8 -*- a = "小亮亮上山打虎碰見武二郎武二喝酒" b = a.count("二", 0, 18) print(b) #打印出二字在字符串出現的次數 2View Code
註意一個中文字符,算3個字符,空格也算一個字符
endswith(self, suffix, start=None, end=None): 有參
返回:真或者假
""" (是否以 xxx 結束),要判斷的字符,判斷範圍開始位置,判斷範圍結束位置 """
#!/usr/bin/env python # -*- coding:utf-8 -*- a = "nihzhongguo" b = a.endswith("o") print(b) #判斷字符串是否是o結尾打印出True a = "nihozzzxiaoo" b = a.endswith("o", 0, 5) print(b) #判斷字符串從0到第5個位置是否是以o結尾 打印出False(顧頭不顧尾)View Code
expandtabs(self, tabsize=None)有參
""" (將tab轉換成空格,默認一個tab轉換成8個空格),自定義換成空格數 """
註意:\t表示tab鍵,如果在編輯器直接tab鍵,編輯器會自動轉換成空格
#!/usr/bin/env python # -*- coding:utf-8 -*- a = "xiao\tliangliang" b = a.expandtabs(9) print(b) #將tab鍵轉換成9個空格打印出 xiao liangliang #註意如果不指定,默認是8個View Code
find(self, sub, start=None, end=None) 有參
""" (尋找字符在字符串裏的位置),要查找的字符,查找字符串起始位置,查找字符串結束位置,如果找到返回位置數,如果沒找到,返回 -1 """
#!/usr/bin/env python # -*- coding:utf-8 -*- a = "xiaoliangliang" b = a.find("l") print(b) #打印輸出o在字符串裏的位置 4 #如果沒找到輸出的是 -1View Code
format(*args, **kwargs)有參
""" (替換字符串裏的占位符),動態參數,將函數式編程時細說 """
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = "姓名 {0} 年齡 {1}" 4 #{}站位符裏面一般從0編號 5 b = a.format("小亮亮", "19") 6 print(b) 7 a = "姓名 {name} 年齡 {age}" 8 b1=a.format(name="小亮亮",age=19) 9 print(b1) 10 a="我是:{name};年齡:{age}" 11 c=a.format_map({"name":"小亮亮","age":19}) 12 print(c) 13 #字典形式鍵和值 14 #替換字符串裏的占位符 輸出 姓名 小亮亮 年齡 19View Code
isalnum(self)
""" (判斷字符串是否是純字母和數字,漢子) 是純字母或數字漢子返回真,否則返回假"""
#!/usr/bin/env python # -*- coding:utf-8 -*- a = "小亮亮123aaa" b = a.isalnum() print(b) #輸出True 表示是否是數字、漢子
isalpha(self)
""" (是否是純字母)是字母返回真,否則返回假 """
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = "hsdfujhrt" 4 b=a.isalpha() 5 print(b) 6 #輸出 True 表示是純字母View Code
isdigit(self)
""" (是否是純數字)是純數字返回真,否則返回假 (三中類型數字的判斷)""
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 num = ‘123②‘ 4 v1 = num.isdecimal() # ‘123‘ 5 v2 = num.isdigit() # ‘123‘,‘②‘ 6 v3 = num.isnumeric() # ‘123‘,‘二‘,‘②‘ 7 print(v1,v2,v3) 8 #判斷是否是數字View Code
islower(self)
""" (字符串裏的字母是否是純小寫)是返回真,否則返回假 """
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = "小亮亮add12434346" 4 b = a.islower() 5 print(b) 6 #輸出 True 表示是純小寫View Code
isspace(self)
"""(判斷字符串是否是純空格)是返回真,否則返回假"""
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = " " 4 b = a.isspace() 5 print(b) 6 #輸出 True 表示是純空格View Code
istitle(self)
"""(判斷英文首字母是否大寫)是返回真,否則返回假"""
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = "Nihao" 4 b = a.istitle() 5 print(b) 6 #輸出 True 表示首字母是大寫View Code
isupper(self)
"""(判斷是否全部字母是大寫)是返回真,否則返回假"""
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = "NGGGEAWG" 4 b = a.isupper() 5 print(b) 6 #輸出 True 表示字母全部是大寫View Code
join(self, iterable)有參
""" (連接一個列表成一串字符串)"鏈接符".join(字符串變量)"""
註意:如果鏈接符 " " 為空,鏈接起來就是一串沒有鏈接符的字符串
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = ["小亮亮" , "TT" , "YY"] 4 b = "互相傷害".join(a) 5 print(b) 6 #輸出 小亮亮互相傷害TT互相傷害YY 將列表鏈接成一串字符串View Code
ljust,rjust(self, width, fillchar=None)
""" (內容左對齊,右側填充和內容右對齊,左側填充)寬度,填充符 """
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = "小亮亮" 4 b = a.ljust(20,"#") 5 print(b) 6 #輸出 小亮亮########### 7 #!/usr/bin/env python 8 # -*- coding:utf-8 -*- 9 a = "小亮亮" 10 b = a.rjust(20,"#") 11 print(b) 12 #輸出 小亮亮###########View Code
lower(self)
""" (字符串變小寫 )"""
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = "FDHDFrherheh" 4 b = a.lower() 5 print(b) 6 #輸出字符串變小寫 fdhdfrherhehView Code
lstrip(self, chars=None)
""" (移除左側空白 )"""
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = " 小亮亮 " 4 b = a.lstrip() 5 print(b) 6 #輸出 小亮亮 去除左邊空格View Code
rstrip(self, chars=None)
""" (移除右側空白 )"""
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = " 小亮亮 " 4 b = a.rstrip() 5 print(b) 6 #輸出 林貴秀去除右邊空格View Code
strip(self, chars=None)
""" (移除兩邊空白 )"""
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = " 小亮亮 " 4 b = a.strip() 5 print(b) 6 #輸出 小亮亮 去除兩邊空格View Code
partition(self, sep)有參
""" (分割,前,中,後三部分)分割位置字符 """
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = "abcdefjhi" 4 b = a.partition("de") 5 print(b) 6 #輸出 (‘abc‘, ‘de‘, ‘fjhi‘) 從位置字符那裏分割,返回元組View Code
replace(self, old, new, count=None)
"""( 替換)字符串裏被替換的字符,替換成什麽字符,可選:位置從左向右找幾個 """
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = "小亮亮30歲了" 4 b = a.replace("30", "19") 5 print(b) 6 #輸出 小亮亮19歲了 將字符串裏的字符替換成指定字符View Code
split(self, sep=None, maxsplit=None)
""" (分割字符串),要分割的標示字符,標示字符分割有效位置:也就是從左邊開始最多分割幾次 """
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = "fawweffefwefelfqf" 4 b = a.split("e",4) 5 print(b) 6 #輸出 [‘faww‘, ‘ff‘, ‘fw‘, ‘f‘, ‘lfqf‘]返回分割後的列表View Code
splitlines(self, keepends=False)
""" (根據換行分割) """
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = "fawweffe\nfwefelfqf" 4 b = a.splitlines() 5 print(b) 6 #輸出 [‘fawweffe‘, ‘fwefelfqf‘] 返回分割後的列表View Code
startswith(self, prefix, start=None, end=None)
""" (判斷是否以某一個字符或者字符串起始)要判斷的字符或字符串:返回真或者假 """
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = "中國的城市有北京" 4 b = a.startswith("中國") 5 print(b) 6 #輸出 True 返回真View Code
swapcase(self)
""" (大寫變小寫,小寫變大寫 )"""
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = "abcdABCD" 4 b = a.swapcase() 5 print(b) 6 #輸出 ABCDabcd 返回大寫變小寫,小寫變大寫View Code
索引
索引:把一串字符串分成每個字符為一個新字符串
索引 :註意2.7版本索引中文字符串會亂碼,3.0版本以上沒問題 (2.7是以字節編碼的,3.0是以字符編碼的)
說明:2.7版本中文是以字節編碼的,如utf-8 一個中文是3個字節,所以當索引字符下標是一個漢字是有3個下標的,索引一個下標不是一個完整的漢字,就會出現亂碼
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = "你好" 4 print(a[0])#索引一個下標不是一個完整的漢字,就會出現亂碼
2.7版本中,用切片的方法打印一個漢字
說明:切片可以指定字符下標範圍,如utf-8 一個中文是3個字節,如果0到3的範圍,剛好是一個字
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = "你好" 4 print(a[0:3])#用切片的方式0到3,就能打印出(你)字,因為utf-8字符編碼一個漢字3個字節
判斷索引數用 len() 函數 一般配合循環使用
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 #索引:把一串字符串分成每個字符為一個新字符串 4 #以字符下標位置分開 5 a = "adce" 6 print(a[0]) 7 print(a[1]) 8 print(a[2]) 9 print(a[3]) 10 #如上打印出:a、d、c、e 四個獨立的新字符串 11 12 #判斷一個字符串有多少個下標字符如下 13 a = "adce" 14 b = len(a) 15 print(b) 16 #輸出 4 也就是說這個字符串有4個下標字符
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 #索引:結合循環應用 4 # #for循環 5 #b為循環自定義變量 6 a = "zjl” 7 for b in a: 8 print(b) 9 #循環出索引
切片
切片:把一串字符串分成每幾個字符或者多個字符,為一個新字符串
以字一個字符的下標開始,和一個字符的下標結束,切成一串新的字符串
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 #切片:把一串字符串分成每幾個字符或者多個字符,為一個新字符串 4 #以字一個字符的下標開始,和一個字符的下標結束,切成一串新的字符串 5 a = "adcefhwieufgweufhggh" 6 print(a[0:4]) 7 print(a[4:10]) 8 print(a[10:20]) 9 #如上打印出:adce、fhwieu、fgweufhggh 切成四個獨立的新字符串
將字符串,轉換成16進制,二進制
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 #bytes類,將字符串轉換成16進制表示 4 a = "小亮亮" 5 print(a)#字符串表示 6 #輸出 小亮亮 7 8 #用bytes類,將字符串轉換成16進制 9 print(bytes(a,encoding=‘utf-8‘))#將字符串轉換成16進制表示 10 #輸出 b‘\xe5\xb0\x8f\xe4\xba\xae\xe4\xba\xae‘16進制表示的二進制 11 12 #用for將16進制循環出10進制 13 b = bytes(a,encoding=‘utf-8‘)#將16進制轉換成10進制 14 for i in b:#for循環16進制的時候默認會以10進制方式循環出數據 15 print(i) 16 #輸出 #229 #176 #143 #228 #186 #174 #228 #186 #174View Code
%s字符串格式化拼接,將幾個字符串拼接在一起
%s為占位符,就是占位的作用,主意:占位符與占位符之間還可以加一個分隔符
%()引用數據到占位符
如果有幾個字符串需要拼接
拼接格式:
"占位符要引用幾個字符串就寫幾個占位符" %(要引用的字符串變量)
註意:
%s能接受任何類型
%d只能接受整數類型
%f只能接受浮點數類型
#!/usr/bin/env python # -*- coding:utf8 -*- """ %s字符串格式化拼接,將幾個字符串拼接在一起 %s為占位符,就是占位的作用,主意:占位符與占位符之間還可以加一個分隔符 %()引用數據到占位符 如果有幾個字符串需要拼接 拼接格式: "占位符要引用幾個字符串就寫幾個占位符" %(要引用的字符串變量) """ a = "你好" b = "我好" c = "大家好" d = "%s%s%s" %(a, b, c) print(d) #輸出 #你好我好大家好
數字int字符串str(深入學習)