python之Character string的實例講解
下面小編就為大家帶來一篇python之Character string(實例講解)。小編覺得蠻不錯的,現在就分享給大家,也給大家做個參考。一起跟著小編過來看看吧
1、python字串
字串是 Python 中最常用的資料型別。我們可以使用引號('或")來建立字串,l
Python不支援單字元類型,單字元也在Python也是作為一個字串使用。
>>> var1 = 'hello python' #定义字符串 >>> print(var1[0]) #切片截取,从0开始,不包括截取尾数 h >>> print(var1[0:5]) hello >>> print(var1[-6:]) python >>> var2 = var1[0:6]+'world' #截取字符并拼接赋值给新变量 >>> print(var2) hello world
2、python轉義字元
#\ :在行尾時,為續行符號
#\\ :反斜線轉義,輸出'\'
\' :單引號轉義
\" :雙引號轉義
#\b :退格(backspace)
\n :換行
\v :縱向製表符
\t :橫向製表符
\r :回車
#\f :換頁
3、python字串運算子
(+)拼接,(*)重複,( [])索引,([:])切片,(in)成員判斷,(not in)非成員判斷,(r/R)元素輸出字串
>>> var1 = 'hello' >>> var2 = 'python' >>> print(var1+var2) #拼接字符串 hellopython >>> print(var1*3) #重复输出字符串 hellohellohello >>> print(var1[0]) #索引字符串 h >>> print(var1[3:]) #索引切片 lo >>> 'e' in var1 #判断字符串是否在变量中 True >>> 'p' not in var1 #判断字符串是否不在变量中 True >>> print("he\tllo \n") he llo >>> print(r"he\tllo \n") #原始输出字符串,也就是原始输出转义字符 he\tllo \n
4、格式化字串
Python 支援格式化字串的輸出。儘管這樣可能會用到非常複雜的表達式,但最基本的用法是將一個值插入到一個有字串格式符 %s 的字串中。
在 Python 中,字串格式化使用與 C 中 sprintf 函數一樣的語法。
python字串格式化符號:
#%c | 格式化字元及其ASCII碼 |
%s | 格式化字串 |
#%d | 格式化整數 |
#%u | 格式化無符號整數 |
%o | 格式化無符號八進位數 |
格式化無符號十六進位數 | |
格式化無符號十六進制數(大寫) | |
格式化浮點數數字,可指定小數點後的精確度 | ##%e |
%E | |
%g | |
#%G |
%p
#格式化運算子輔助指令: | |
* | |
##- | |
+ | |
#0 | |
% | |
(var) |
m.n.
#m 是顯示的最小總寬度,n 是小數點後的位數(如果可用的話)
>>> print("ascii:%c"%'s') #格式化输出字符 ascii:s >>> print("ascii:%c"%'1') #格式化输出数字 ascii:1 >>> print("str:%s"%'character string') #格式化字符串 str:character string >>> print("str:%d"%888) #格式化整数 str:888 >>> print("str:%f"%888) #格式浮点数 str:888.000000 >>> print("str:%e"%888) #格式化科学计数浮点数 str:8.880000e+02 >>> print("str:%E"%888) #同上 str:8.880000E+02 >>> print("str:%G"%888) #%f和%E的简写 str:888 >>> print("str:%20f"%888.089) #定义20宽度输出 str: 888.089000 >>> print("str:%-20f"%888.089) #用左对齐 str:888.089000 >>> print("str:%+20f"%888.089) #在正数前显示加号 str: +888.089000 >>> print("str:%+-20f"%888.089) #左对齐显示加号 str:+888.089000 >>> print("str:%020f"%888.089) #以0填充默认的空格 str:0000000000888.089000 >>> print("str:%%%20f"%888.089) #在数字前输入%号 str:% 888.089000 >>> print("str:%%%-20f"%888.089) #左对齐输出%号 str:%888.089000 >>> print("str:%20.3f"%888.089) #显示最小总宽度20,小数点后位数为3位 str: 888.089
用法:它透過{}和:來代替%位置參數不受順序約束,且可以為{}空,只要format裡有相對應的參數值即可,如參數值不夠就會報錯,參數索引從0開,傳入位置參數清單可用*列表
In [27]: '{}+{}={}'.format(1,2,3) #格式化按顺序应用参数值 Out[27]: '1+2=3' In [28]: '{2}-{1}={0}'.format(1,2,3) #指定顺序应用参数值 Out[28]: '3-2=1' In [29]: '{0}+{0}={1}'.format(2,3) #指定参数可以重复使用 Out[29]: '2+2=3' In [30]: '{}+{}={}'.format(2,3) #如不指定顺序,format参数不够就会报错 --------------------------------------------------------------------------- IndexError Traceback (most recent call last) <ipython-input-30-29f40e412920> in <module>() ----> 1 '{}+{}={}'.format(2,3) IndexError: tuple index out of range In [31]: l1 = [2,4,8] In [32]: '{}*{}={}'.format(*l1) #使用列表引用参数值 Out[32]: '2*4=8' In [33]: dct = {'name':'python','age':20} #定义字典 In [35]: 'welcom to {name},age is {age}'.format(name='qi',age=28) #变量引用 Out[35]: 'welcom to qi,age is 28' In [36]: 'welcom to {name},age is {age}'.format(**dct) #使用**引用字典参数必须填写key值 Out[36]: 'welcom to python,age is 20' 填充与格式化: In [53]: "{0: >20}".format("string") #从0位开始已空格填充20宽度左对齐 Out[53]: ' string' In [54]: "{0:&>20}".format("string") Out[54]: '&&&&&&&&&&&&&&string' In [55]: "{0:#>20}".format("string") #使用#号会有个小bug ....: Out[55]: '##############string' In [60]: '{0:+<20}'.format("string") #向右对齐填充+ Out[60]: 'string++++++++++++++' In [61]: '{0:+^20}'.format("string") #剧中对齐填充+ Out[61]: '+++++++string+++++++' 精度与进制: >>> '{0:.3f}'.format(10/3) #小数位进度格式化 '3.333' >>> '{0:b}'.format(8) #格式化二进制 '1000' >>> '{0:o}'.format(9) #格式化八进制 '11' >>> '{0:x}'.format(26) #格式化十六进制 '1a' >>> '{0:,}'.format(123456789) #千分位格式化 '123,456,789' 使用索引: >>> l2 = ['AA',{'bb':'cc'},('d','e')] #列表索引引用 >>> 'outing:{0[0]}'.format(l2) 'outing:AA' >>> 'outing:{0[0]},{0[1]}'.format(l2) #将列表当成一个元素,在其中索引值 "outing:AA,{'bb': 'cc'}"
>>> s = 'i mi to' #将字符串的第一个字符改为大写 >>> s.capitalize() 'I mi to' >>> s = 'I MI TO' #将字符串所有字符改为小写 >>> s.casefold() 'i mi to' >>> s.center(15) #将字符串剧中,并用空格将字符串填充长度,如指定长度小于实际长度则没有效果 ' I MI TO ' >>> s = 'abcabcabcabc' #返回sub在字符串里出现的次数,start,end为可选参数,决定范围 >>> s.count('a',0,12) 4 >>> s.encode(encoding='utf-8',errors='strict') #以encoding指定的编码格式对字符串进行编码 b'abcabcabcabc' >>> s.endswith('abc',1,12) #检查字符串是否以sub结尾,是返回True,否返回False,start,end为可选参数,决定范围 True >>> s = 'a\tb\tc' >>> s.expandtabs(4) #把字符串的tab字符(\t)转化为空格,如不指定tabsize,默认为8个空格 'a b c' >>> s.find('b') #检测字符串是否在字符串中,如在则返回索引,否则返回-1,可指定起始值。 2 >>> s='hello python' >>> s.index('hello') # 类似find(),不同在于如果sub不在字符串中,返回异常 0 >>> s.isalnum() #有空格返回false False >>> s='hellopython' >>> s.isalnum() #如果字符串至少有一个字符,并且所有字符都是字母或数字则返回True,否则False True >>> s.isalpha() #如果字符串至少有一个字符,并且所有字符都是字母则返回True,否则False True >>> s = '123' >>> s.isdigit() #如果字符串只包含数字则返回True,否则返回False True >>> s = '123' >>> s.isdecimal() #如果字符串只包含十进制数字则返回True,否则返回False True >>> s= 'ox123' >>> s.isdecimal() False >>> s = '0.33' >>> s.isdecimal() False >>> s = 'abc' >>> s.islower() #如果字符中至少包含一个能区分大小写的字符,并且这些字符都是小写则返回True,否则返回Flase True >>> s = 'Abc' >>> s.islower() False >>> s = 'ABC' >>> s.isupper() #果字符中至少包含一个能区分大小写的字符,并且这些字符都是大写则返回True,否则返回Flase True >>> s = 'ABc' >>> s.isupper() False >>> >>> s = '123' >>> s.isnumeric() #如果字符串只包含数字字符,则返回True,否则返回False True >>> s = '123a' >>> s.isnumeric() False >>> 'def'.isidentifier() #判断字符串是否包含该语言的保留字 True >>> 'aaa'.isprintable() #判断是否可以打印 True >>> ''.isspace() False >>> ' '.isspace() #判断字符串中至少有一个字符且所有都是空格,否则返回false True >>> ' a'.isspace() False >>> 'Abc'.istitle() #判断是否是标题 格式,可以理解为首字母大写。 True >>> 'aBC'.istitle() False >>> s = '123' >>> '_'.join(s) #返回一个用指定字符串分隔的字,或者是将指定字符加入到另一个字符中。 '1_2_3' >>> s.join('abc') 'a123b123c' >>> s = 'ABC' >>> s.lower() #返回的是指定字符串的拷贝,并转化成小写 'abc' >>> s.ljust(10,'+') #可以指定宽度,以及填充字符串,返回的是按宽度,填充字符串格式化后的左对齐的字符串。 'ABC+++++++' >>> 'aaabccc'.partition('b') #在字符串中查找指定的字符,如找到则返回字符前部分,字符本身和后部分,如没找到则返回字符串和两个空字符串。 ('aaa', 'b', 'ccc') >>> 'aaabccc'.partition('e') ('aaabccc', '', '') >>> 'aaabccc'.rpartition('b') #与partition一样,但是是从右边开始 ('aaa', 'b', 'ccc') >>> 'aaabccc'.rpartition('c') ('aaabcc', 'c', '') >>> 'aaaaabbcc'.replace('a','A') #用指定字符串替换指定字符串,如果不指定替换次数,则替换所有 'AAAAAbbcc' >>> 'aaaaabbcc'.replace('a','A',2) 'AAaaabbcc' >>> 'aabbcc'.rfind('a') #返回指定子串的最高索引,如果没找到则返回-1,可以指定要开始替换的起始,结束位置。 1 >>> 'aabbcc'.rfind('e') -1 >>> 'aabbcc'.rindex('a') #与上面的rfind一样,只是如果没找到不是返回-1,而是触发错误 1 >>> 'aabbcc'.rindex('e') Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: substring not found >>> 'aa'.rjust(10,'+') #与ljust()相对应,右对齐 '++++++++aa' >>> 'aa'.ljust(10,'+') 'aa++++++++' >>> 'aabccbddbee'.split('b') ##按指定字符串对目标字符串进行切割,可以指定切割次数 ['aa', 'cc', 'dd', 'ee'] >>> 'aabccbddbee'.split('b',2) ['aa', 'cc', 'ddbee'] >>> 'aabccbddbee'.rsplit('b',2) #与split作用相同,但是从右侧开始 ['aabcc', 'dd', 'ee'] >>> ' aabb '.strip() #移除字符串两侧的指定字符串,默认移除空格,需要注意的是可以指定多个字符 'aabb' >>> ' aabb'.strip('b') ' aa' >>> ' aabb'.strip('ab') ' ' >>> 'beaacebb'.rstrip('eb') #与strip一样,从右侧删除指定字符,可以为多个 'beaac' >>> 'aa\nbb\ncc\ndd'.splitlines() #按换行符切割显示,如没指定keepends=True则将换行符移除。 ['aa', 'bb', 'cc', 'dd'] >>> 'aa\nbb\ncc\ndd'.splitlines(keepends=True) ['aa\n', 'bb\n', 'cc\n', 'dd'] >>> 'aabbc'.startswith('a') #判断字符串是否以某个字符开头,可以是多字符 True >>> 'aabbc'.startswith('b') False >>> 'aabbc'.startswith('aab') True >>> 'aaBBcc'.swapcase() #转换大小写 'AAbbCC' >>> 'wend is ok'.title() #标题格式,首字母大写,其它字符小写 'Wend Is Ok' >>> 'wend is ok'.upper() #将字符全部转换成大写 'WEND IS OK' >>> 'wend is ok'.zfill(20) #这里的z指zero,用0将字符填充到指定长度 '0000000000wend is ok'
以上是python之Character string的實例講解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

VS Code可以在Windows 8上運行,但體驗可能不佳。首先確保系統已更新到最新補丁,然後下載與系統架構匹配的VS Code安裝包,按照提示安裝。安裝後,注意某些擴展程序可能與Windows 8不兼容,需要尋找替代擴展或在虛擬機中使用更新的Windows系統。安裝必要的擴展,檢查是否正常工作。儘管VS Code在Windows 8上可行,但建議升級到更新的Windows系統以獲得更好的開發體驗和安全保障。

VS Code 可用於編寫 Python,並提供許多功能,使其成為開發 Python 應用程序的理想工具。它允許用戶:安裝 Python 擴展,以獲得代碼補全、語法高亮和調試等功能。使用調試器逐步跟踪代碼,查找和修復錯誤。集成 Git,進行版本控制。使用代碼格式化工具,保持代碼一致性。使用 Linting 工具,提前發現潛在問題。

在 Notepad 中運行 Python 代碼需要安裝 Python 可執行文件和 NppExec 插件。安裝 Python 並為其添加 PATH 後,在 NppExec 插件中配置命令為“python”、參數為“{CURRENT_DIRECTORY}{FILE_NAME}”,即可在 Notepad 中通過快捷鍵“F6”運行 Python 代碼。

VS Code 擴展存在惡意風險,例如隱藏惡意代碼、利用漏洞、偽裝成合法擴展。識別惡意擴展的方法包括:檢查發布者、閱讀評論、檢查代碼、謹慎安裝。安全措施還包括:安全意識、良好習慣、定期更新和殺毒軟件。
