Python 字符串 - 菜鸟教程

文章推薦指數: 80 %
投票人數:10人

Python 支持格式化字符串的输出。

尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符% ... 菜鸟教程--学的不仅是技术,更是梦想! 首页 HTML CSS JavaScript Vue Bootstrap NodeJS Python3 Python2 Java C C++ C# Go SQL Linux jQuery 本地书签 首页 HTML CSS JS 本地书签 Search Python3教程 Python2教程 Vue3教程 vue2教程 Bootstrap3教程 Bootstrap4教程 Bootstrap5教程 Bootstrap2教程 Python基础教程 Python基础教程 Python简介 Python环境搭建 Python中文编码 Python基础语法 Python变量类型 Python运算符 Python条件语句 Python循环语句 PythonWhile循环语句 Pythonfor循环语句 Python循环嵌套 Pythonbreak语句 Pythoncontinue语句 Pythonpass语句 PythonNumber(数字) Python字符串 Python列表(List) Python元组 Python字典(Dictionary) Python日期和时间 Python函数 Python模块 Python文件I/O PythonFile方法 Python异常处理 PythonOS文件/目录方法 Python内置函数 Python高级教程 Python面向对象 Python正则表达式 PythonCGI编程 PythonMySQL Python网络编程 PythonSMTP Python多线程 PythonXML解析 PythonGUI编程(Tkinter) Python2.x与3​​.x版本区别 PythonIDE PythonJSON Python100例 Python测验 Pythonradians()函数 Python列表(List) Python字符串 字符串是Python中最常用的数据类型。

我们可以使用引号('或")来创建字符串。

创建字符串很简单,只要为变量分配一个值即可。

例如: var1='HelloWorld!' var2="PythonRunoob" Python访问字符串中的值 Python不支持单字符类型,单字符在Python中也是作为一个字符串使用。

Python访问子字符串,可以使用方括号来截取字符串,如下实例: 实例(Python2.0+) #!/usr/bin/python var1='HelloWorld!' var2="PythonRunoob" print"var1[0]:",var1[0] print"var2[1:5]:",var2[1:5] 以上实例执行结果: var1[0]:H var2[1:5]:ytho Python字符串连接 我们可以对字符串进行截取并与其他字符串进行连接,如下实例: 实例(Python2.0+) #!/usr/bin/python #-*-coding:UTF-8-*- var1='HelloWorld!' print"输出:-",var1[:6]+'Runoob!' 以上实例执行结果 输出:-HelloRunoob! Python转义字符 在需要在字符中使用特殊字符时,python用反斜杠\转义字符。

如下表: 转义字符描述 \(在行尾时) 续行符 \\ 反斜杠符号 \' 单引号 \" 双引号 \a 响铃 \b 退格(Backspace) \e 转义 \000 空 \n 换行 \v 纵向制表符 \t 横向制表符 \r 回车 \f 换页 \oyy 八进制数,y代表0~7的字符,例如:\012代表换行。

\xyy 十六进制数,以\x开头,yy代表的字符,例如:\x0a代表换行 \other 其它的字符以普通格式输出 Python字符串运算符 下表实例变量a值为字符串"Hello",b变量值为"Python": 操作符描述实例 +字符串连接 >>>a+b 'HelloPython' *重复输出字符串 >>>a*2 'HelloHello' []通过索引获取字符串中字符 >>>a[1] 'e' [:]截取字符串中的一部分 >>>a[1:4] 'ell' in成员运算符-如果字符串中包含给定的字符返回True >>>"H"ina True notin成员运算符-如果字符串中不包含给定的字符返回True >>>"M"notina True r/R原始字符串-原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。

原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。

>>>printr'\n' \n >>>printR'\n' \n %格式字符串请看下一章节 实例(Python2.0+) #!/usr/bin/python #-*-coding:UTF-8-*- a="Hello" b="Python" print"a+b输出结果:",a+b print"a*2输出结果:",a*2 print"a[1]输出结果:",a[1] print"a[1:4]输出结果:",a[1:4] if("H"ina): print"H在变量a中" else: print"H不在变量a中" if("M"notina): print"M不在变量a中" else: print"M在变量a中" printr'\n' printR'\n' 以上程序执行结果为: a+b输出结果:HelloPython a*2输出结果:HelloHello a[1]输出结果:e a[1:4]输出结果:ell H在变量a中 M不在变量a中 \n \n Python字符串格式化 Python支持格式化字符串的输出。

尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符%s的字符串中。

在Python中,字符串格式化使用与C中sprintf函数一样的语法。

如下实例: #!/usr/bin/python print"Mynameis%sandweightis%dkg!"%('Zara',21) 以上实例输出结果: MynameisZaraandweightis21kg! python字符串格式化符号:    符  号 描述     %c 格式化字符及其ASCII码     %s 格式化字符串     %d 格式化整数     %u 格式化无符号整型     %o 格式化无符号八进制数     %x 格式化无符号十六进制数     %X 格式化无符号十六进制数(大写)     %f 格式化浮点数字,可指定小数点后的精度     %e 用科学计数法格式化浮点数     %E 作用同%e,用科学计数法格式化浮点数     %g %f和%e的简写     %G %F和%E的简写     %p 用十六进制数格式化变量的地址 格式化操作符辅助指令: 符号功能 *定义宽度或者小数点精度 -用做左对齐 +在正数前面显示加号(+) 在正数前面显示空格 #在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X') 0显示的数字前面填充'0'而不是默认的空格 %'%%'输出一个单一的'%' (var)映射变量(字典参数) m.n.m是显示的最小总宽度,n是小数点后的位数(如果可用的话) Python2.6开始,新增了一种格式化字符串的函数str.format(),它增强了字符串格式化的功能。

Python三引号 Python中三引号可以将复杂的字符串进行赋值。

Python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。

三引号的语法是一对连续的单引号或者双引号(通常都是成对的用)。

>>>hi='''hi there''' >>>hi#repr() 'hi\nthere' >>>printhi#str() hi there 三引号让程序员从引号和特殊字符串的泥潭里面解脱出来,自始至终保持一小块字符串的格式是所谓的WYSIWYG(所见即所得)格式的。

一个典型的用例是,当你需要一块HTML或者SQL时,这时当用三引号标记,使用传统的转义字符体系将十分费神。

errHTML=''' FriendsCGIDemo

ERROR

%s

''' cursor.execute(''' CREATETABLEusers( loginVARCHAR(8), uidINTEGER, pridINTEGER) ''') Unicode字符串 Python中定义一个Unicode字符串和定义一个普通字符串一样简单: >>>u'HelloWorld!' u'HelloWorld!' 引号前小写的"u"表示这里创建的是一个Unicode字符串。

如果你想加入一个特殊字符,可以使用Python的Unicode-Escape编码。

如下例所示: >>>u'Hello\u0020World!' u'HelloWorld!' 被替换的\u0020标识表示在给定位置插入编码值为0x0020的Unicode字符(空格符)。

python的字符串内建函数 字符串方法是从python1.6到2.0慢慢加进来的——它们也被加到了Jython中。

这些方法实现了string模块的大部分方法,如下表所示列出了目前字符串内建支持的方法,所有的方法都包含了对Unicode的支持,有一些甚至是专门用于Unicode的。

方法 描述 string.capitalize() 把字符串的第一个字符大写 string.center(width) 返回一个原字符串居中,并使用空格填充至长度width的新字符串 string.count(str,beg=0,end=len(string)) 返回str在string里面出现的次数,如果beg或者end指定则返回指定范围内str出现的次数 string.decode(encoding='UTF-8',errors='strict') 以encoding指定的编码格式解码string,如果出错默认报一个ValueError的异常,除非errors指定的是'ignore'或者'replace' string.encode(encoding='UTF-8',errors='strict') 以encoding指定的编码格式编码string,如果出错默认报一个ValueError的异常,除非errors指定的是'ignore'或者'replace' string.endswith(obj,beg=0,end=len(string)) 检查字符串是否以obj结束,如果beg或者end指定则检查指定的范围内是否以obj结束,如果是,返回True,否则返回False. string.expandtabs(tabsize=8) 把字符串string中的tab符号转为空格,tab符号默认的空格数是8。

string.find(str,beg=0,end=len(string)) 检测str是否包含在string中,如果beg和end指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1 string.format() 格式化字符串 string.index(str,beg=0,end=len(string)) 跟find()方法一样,只不过如果str不在string中会报一个异常. string.isalnum() 如果string至少有一个字符并且所有字符都是字母或数字则返 回True,否则返回False string.isalpha() 如果string至少有一个字符并且所有字符都是字母则返回True, 否则返回False string.isdecimal() 如果string只包含十进制数字则返回True否则返回False. string.isdigit() 如果string只包含数字则返回True否则返回False. string.islower() 如果string中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回True,否则返回False string.isnumeric() 如果string中只包含数字字符,则返回True,否则返回False string.isspace() 如果string中只包含空格,则返回True,否则返回False. string.istitle() 如果string是标题化的(见title())则返回True,否则返回False string.isupper() 如果string中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回True,否则返回False string.join(seq) 以string作为分隔符,将seq中所有的元素(的字符串表示)合并为一个新的字符串 string.ljust(width) 返回一个原字符串左对齐,并使用空格填充至长度width的新字符串 string.lower() 转换string中所有大写字符为小写. string.lstrip() 截掉string左边的空格 string.maketrans(intab,outtab) maketrans()方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。

max(str) 返回字符串str中最大的字母。

min(str) 返回字符串str中最小的字母。

string.partition(str) 有点像find()和split()的结合体,从str出现的第一个位置起,把字符串string分成一个3元素的元组(string_pre_str,str,string_post_str),如果string中不包含str则string_pre_str==string. string.replace(str1,str2, num=string.count(str1)) 把string中的str1替换成str2,如果num指定,则替换不超过num次. string.rfind(str,beg=0,end=len(string)) 类似于find()函数,返回字符串最后一次出现的位置,如果没有匹配项则返回-1。

string.rindex(str,beg=0,end=len(string)) 类似于index(),不过是返回最后一个匹配到的子字符串的索引号。

string.rjust(width) 返回一个原字符串右对齐,并使用空格填充至长度width的新字符串 string.rpartition(str) 类似于partition()函数,不过是从右边开始查找 string.rstrip() 删除string字符串末尾的空格. string.split(str="",num=string.count(str)) 以str为分隔符切片string,如果num有指定值,则仅分隔num+1个子字符串 string.splitlines([keepends]) 按照行('\r','\r\n','\n')分隔,返回一个包含各行作为元素的列表,如果参数keepends为False,不包含换行符,如果为True,则保留换行符。

string.startswith(obj,beg=0,end=len(string)) 检查字符串是否是以obj开头,是则返回True,否则返回False。

如果beg和end指定值,则在指定范围内检查. string.strip([obj]) 在string上执行lstrip()和rstrip() string.swapcase() 翻转string中的大小写 string.title() 返回"标题化"的string,就是说所有单词都是以大写开始,其余字母均为小写(见istitle()) string.translate(str,del="") 根据str给出的表(包含256个字符)转换string的字符, 要过滤掉的字符放到del参数中 string.upper() 转换string中的小写字母为大写 string.zfill(width) 返回长度为width的字符串,原字符串string右对齐,前面填充0 Pythonradians()函数 Python列表(List) 3篇笔记 写笔记 #0   qing  282***[email protected]  参考地址52计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。

Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。

Unicode标准也在不断发展,但最常用的是用两个字节表示一个字符(如果要用到非常偏僻的字符,就需要4个字节)。

现代操作系统和大多数编程语言都直接支持Unicode。

ASCII编码和Unicode编码的区别:ASCII编码是1个字节,而Unicode编码通常是2个字节,举例如下。

  字母 A 用ASCII编码是十进制的65,二进制的01000001;  字符 0 用ASCII编码是十进制的48,二进制的00110000,注意字符 '0' 和整数  0 是不同的;  汉字 中 已经超出了ASCII编码的范围,用Unicode编码是十进制的20013,二进制的0100111000101101。

  如果把ASCII编码的 A 用Unicode编码,只需要在前面补0就可以,因此, A 的Unicode编码是0000000001000001。

qing   qing  282***[email protected]  参考地址5年前(2017-08-22) #0   niubaty  niu***[email protected]对decode/encode的补充说明 windowspython2.7的环境,中文编码默认使用gbk: 许多模块返回的、或使用的字符串是unicode,故而需要转码。

例如,xxx模块tmp_fun()返回的字符串是unicode字符,而另一个模块yyy模块fun_tmp()返回的字符串是gbk字符,我们现在需要判断两个返回值是否相等。

可以使用如下两种方式进行判断。

importxxx importyyy iftmp_fun()==fun_tmp().decode("gbk"): print"eq" ''' decode("gbk")作用为将gbk编码转为unicode编码 ''' 或者 importxxx importyyy iftmp_fun().encode("gbk")==fun_tmp() print"eq" ''' encode("gbk")作用为将unicode编码转为gbk编码 '''niubaty   niubaty  niu***[email protected]年前(2018-04-28) #0   嘻嘻嘻  269***[email protected]如果你不理解s[1:]s[0:-1]的请看这里: >>>seq[:]#[seq[0],seq[1],...,seq[-1]] >>>seq[low:]#[seq[low],seq[low+1],...,seq[-1]] >>>seq[:high]#[seq[0],seq[1],...,seq[high-1]] >>>seq[low:high]#[seq[low],seq[low+1],...,seq[high-1]] >>>seq[::stride]#[seq[0],seq[stride],...,seq[-1]] >>>seq[low::stride]#[seq[low],seq[low+stride],...,seq[-1]] >>>seq[:high:stride]#[seq[0],seq[stride],...,seq[high-1]] >>>seq[low:high:stride]#[seq[low],seq[low+stride],...,seq[high-1]] 嘻嘻嘻   嘻嘻嘻  269***[email protected]年前(2018-06-18) 点我分享笔记 取消 分享笔记 昵称昵称(必填) 邮箱邮箱(必填) 引用地址引用地址 分类导航 HTML/CSSHTML教程HTML5教程CSS教程CSS3教程Bootstrap3教程Bootstrap4教程Bootstrap5教程FontAwesome教程Foundation教程JavaScriptJavaScript教程HTMLDOM教程jQuery教程AngularJS教程AngularJS2教程Vue.js教程Vue3教程React教程TypeScript教程jQueryUI教程jQueryEasyUI教程Node.js教程AJAX教程JSON教程Echarts教程Highcharts教程Google地图教程服务端Python教程Python2.x教程Linux教程Docker教程Ruby教程Java教程C教程C++教程Perl教程Servlet教程JSP教程Lua教程Rust教程Scala教程Go教程PHP教程数据结构与算法Django教程Zookeeper教程设计模式正则表达式Maven教程Verilog教程ASP教程AppML教程VBScript教程数据库SQL教程MySQL教程PostgreSQL教程SQLite教程MongoDB教程Redis教程Memcached教程数据分析Python教程NumPy教程Pandas教程Matplotlib教程Scipy教程R教程Julia教程移动端Android教程Swift教程jQueryMobile教程ionic教程Kotlin教程XML教程XML教程DTD教程XMLDOM教程XSLT教程XPath教程XQuery教程XLink教程XPointer教程XMLSchema教程XSL-FO教程SVG教程ASP.NETASP.NET教程C#教程WebPages教程Razor教程MVC教程WebForms教程WebServiceWebService教程WSDL教程SOAP教程RSS教程RDF教程开发工具Eclipse教程Git教程Svn教程Markdown教程网站建设HTTP教程网站建设指南浏览器信息网站主机教程TCP/IP教程W3C教程网站品质 Advertisement 反馈/建议 在线实例 ·HTML实例 ·CSS实例 ·JavaScript实例 ·Ajax实例 ·jQuery实例 ·XML实例 ·Java实例 字符集&工具 ·HTML字符集设置 ·HTMLASCII字符集 ·JS混淆/加密 ·PNG/JPEG图片压缩 ·HTML拾色器 ·JSON格式化工具 ·随机数生成器 最新更新 · JavaScript获取... · JavaScript实现... · HTMLDOMstyle... · HTMLDOMscroll... · HTMLDOMscroll... · HTMLDOMscroll... · Dockerstats命令 站点信息 · 意见反馈 · 免责声明 · 关于我们 · 文章归档 关注微信 Copyright©2013-2022菜鸟教程  runoob.comAllRightsReserved.备案号:闽ICP备15012807号-1 微信关注



請為這篇文章評分?