Python 字符串 - 菜鸟教程
文章推薦指數: 80 %
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 用十六进制数格式化变量的地址
格式化操作符辅助指令:
符号功能
*定义宽度或者小数点精度
-用做左对齐
+在正数前面显示加号(+)
Python三引号
Python中三引号可以将复杂的字符串进行赋值。
Python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。
三引号的语法是一对连续的单引号或者双引号(通常都是成对的用)。
>>>hi='''hi
there'''
>>>hi#repr()
'hi\nthere'
>>>printhi#str()
hi
there
三引号让程序员从引号和特殊字符串的泥潭里面解脱出来,自始至终保持一小块字符串的格式是所谓的WYSIWYG(所见即所得)格式的。
一个典型的用例是,当你需要一块HTML或者SQL时,这时当用三引号标记,使用传统的转义字符体系将十分费神。
errHTML='''
ERROR
%s
如果你想加入一个特殊字符,可以使用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
微信关注
延伸文章資訊
- 1关于python中的unicode字符串的使用_KEL-1的博客
python对unicode的支持. ... 1、 程序中出现字符串的地方加前缀u,表示为unicode类型 ... coding:utf-8 -*- #声明为unicode编码文件,否则会报错.
- 2Day27 Python 基礎- 字符轉編碼操作 - iT 邦幫忙
回顧字符編碼的前世今生. ASCII 只能儲英文或特殊字符,只占一個字節,一個字節8bit,不能儲中文,所以才出現Unicode. Unicode 不管是中文或英文,都是占二個字節, ...
- 3Unicode 模式(Python) - IBM
Python 從IBM SPSS Statistics 收到的字串會從UTF-8 轉換為Python Unicode ,即UTF-16。 ... 下列範例示範部分此行為及 u() 函數的用法。 ...
- 4Unicode 指南— Python 3.10.7 說明文件
Python 的字符串类型采用Unicode 标准来表示字符,使得Python 程序能够正常处理所有这些不同的字符。 ... \U 转义序列用法类似,但要用8 个十六进制数字,而不是4 个:.
- 5python unicodedata用法- 程式人生
UCD是Unicode字元資料庫(Unicode Character DataBase)的縮寫。 UCD由一些描述Unicode字元屬性和內部關係的純文字或html檔案組成。