精华内容
下载资源
问答
  • Python字符串总结大全

    万次阅读 多人点赞 2021-05-03 21:42:59
    普通字符串转化为Unicode字符串 重复操作符(*) 只适用于字符串的操作符 格式化操作符(%) 字符串模板:更简单的替代品 原始字符串操作符(r/R) Unicode字符串操作符(u/U) 常见的转义字符 字符串索引 编解码 ...

    目录

    操作符

    标准类型操作符

    对象值的比较

    布尔类型

    序列操作符切片([]和[:])

    成员操作符(in,not in)

    连接符(+) 运行时刻字符串连接

    编译时字符串连接

    普通字符串转化为Unicode字符串

    重复操作符(*)

    只适用于字符串的操作符

    格式化操作符(%)

    字符串模板:更简单的替代品

    原始字符串操作符(r/R)

    Unicode字符串操作符(u/U)

    常见的转义字符

    字符串索引

    编解码

    内建函数

    序列类型函数

    len()

    max()和min()

    enumerate()

    zip()

    字符串类型函数

    input()

    str()和unicode()

    chr()和ord()

    字符串内建函数

    字符串中字符大小写的变换:

    去空格和特殊符号

    字符串对齐,填充

    字符串搜索、统计功能

    字符串检测函数

    字符串替换、分割

    字符串连接

    字符串的独特特性

    特殊字符串和控制字符(转义字符)

    三引号

    字符串不变性


    字符串类型是 Python里面最常见的类型。我们可以简单地通过在引号间包含字符的方式创建它。Python里面单引号和双引号的作用是相同的。字符串是一种直接量或者说是一种标量,这意味着 Python解释器在处理字符串时是把它作为单一值并且不会包含其他 Python类型的。字符串是不可变类型,就是说改变一个字符串的元素需要新建一个新的字符串。字符串是由独立的字符组成的,并且这些字符可以通过切片操作顺序地访问。

    操作符

    标准类型操作符

    对象值的比较

    所有的内建类型均支持比较运算,比较运算返回布尔值True或False。

    布尔类型

    在做比较的时候,字符串按照ASCII码的大小来进行比较。

    序列操作符切片([]和[:])

    除了索引,字符串还支持切片。索引可以得到单个字符,而切片可以获取子字符串:

    print(word[0:2])
    print(word[2:5])

    注意切片的开始总是被包括在结果中,而结束不被包括(半开半闭)。这使得 s[:i] + s[i:] 总是等于s

    print(word[:2]+word[2:])
    
    print(word[:3]+word[3:])

    切片的索引有默认值;省略开始索引时默认为0,省略结束索引时默认为到字符串的结束:

    print(word[:2])
    print(word[3:])
    print(word[-2:])

    也可以这么理解切片:将索引视作指向字符之间,第一个字符的左侧标为0,最后一个字符的右侧标为 n ,其中 n 是字符串长度。例如:

    +---+---+---+---+---+---+
     | P | y | t | h | o | n |
     +---+---+---+---+---+---+
     0   1   2   3   4   5   6
    -6  -5  -4  -3  -2  -1

    第一行数标注了字符串0...6的索引的位置,第二行标注了对应的负的索引。那么从i到j的切片就包括了标有i和j的位置之间的所有字符。

    对于使用非负索引的切片,如果索引不越界,那么得到的切片长度就是起止索引之差。例如,word[1:3]的长度为2。

    试图使用过大的索引会产生一个错误:

    但是,切片中的越界索引会被自动处理:

    print(word[4:52])
    
    print(word[45:])

    成员操作符(in,not in)

    成员操作符用于判断一个字符或者一个子串(中的字符)是否出现在另一个字符串中。出现则返回True,否则返回False注意,成员操作符不是用来判断一个字符串是否包含另一个字符串的,这样的功能由find()或者 index(还有它们的兄弟:rfind()和 rindex()函数)来完成。

    print('bc' in 'abcd')
    print('n'in 'abcd')
    print('fdf' not in 'abcd' )
    print('a'not in 'abcd')

    连接符(+) 运行时刻字符串连接

    print('abc'+'de')
    print('abc'+' '+'de')

    类似于join()方法

    str.join(sequence)

    sequence -- 要连接的元素序列。返回通过指定字符连接序列中元素后生成的新字符串。

    s1 = "-"
    s2 = ""
    seq = ("r", "u", "n", "o", "o", "b") # 字符串序列
    print (s1.join( seq ))
    print (s2.join( seq ))

    编译时字符串连接

    在源码中把几个字符串连在一起写,以此来构建新的字符串。

    foo='hello'"world"

    通过这种方法,你可以把长的字符串分成几部分来写,而不用加反斜杠。

    普通字符串转化为Unicode字符串

    如果把一个普通字符串和一个 Unicode字符串做连接处理, Python会在连接操作前先把普通字符串化为 Unicode字符串:

    str='hello'+u' '+'world'+u'!'
    print(str)

    重复操作符(*)

    print( 3 * 'un' + 'ium')

    只适用于字符串的操作符

    格式化操作符(%)

    例:

    十六进制输出

    print('%x'%108)
    print('%X'%108)
    print('%#x'%108)
    print('%#X'%108)

    浮点型和科学计数法形式输出

    print('%f'%1234.4567890)
    print('%.2f'%1234.4567890)
    print('%E'%1234.4567890)
    print('%e'%1234.4567890)
    print('%g'%1234.4567890)
    print('%G'%1234.4567890)

    整型和字符串输出

    print('%+d'%4)
    print('%+d'%-4)
    print('we are at %d%%'%100)
    print('Your host is:%s'%'earth')
    print('Host:%s\tPort:%d'%('mars',80))
    num=123
    print('dec:%d/oct:%#o/hex:%#X'%(num,num,num))
    print('MM/DD/YY:%02d/%02d/%d'%(2,15,67))

    字符串模板:更简单的替代品

    暂时先不学

    原始字符串操作符(r/R)

    在原始字符串中,所有的字符都是直接按照字面意思来使用,没有转义特殊或不能打印的字符。能够比较方便创建正则表达式。

    print(r'%d可以显示啦')

    Unicode字符串操作符(u/U)

    Unicode字符串操作符,大写的(U)和小写的(u)是在 Python16中和 Unicode字符串一起被引入的,它用来把标准字符串或者是包含 Unicode字符的字符串转换成完全的 Unicode字符串对象。

    常见的转义字符

    • \’ 转义,单引号
    • \ 在行末时,表示续行符
    • \b 退格
    • \n 换行
    • \r 回车
    • \t 横向制表符
    • \xyy 十六进制,假设yy为0a,\x0a表示换行

    字符串索引

    字符串是可以被索引(下标访问)的,第一个字符索引是0。单个字符并没有特殊的类型,只是一个长度为一的字符串:

    word = 'Python'
    print(word[0])
    print(word[5])

    索引也可以用负数,这种会从右边开始数:

    print(word[-5])
    print(word[-4])
    print(word[-3])

    注意-0和0是一样的,所以负数索引从-1开始。

    编解码

    在python3中,字符串是用Unicode编码的,在内存中,一个字符对应多个字节,当字符串用来存储和传输时,就需要将字符串转化为字节为单位的bytes

    python中的bytes类型用b’xxx’表示

    用Unicode编码的字符串可以使用encode()方法转化为bytes

    反过来,从存储介质和传输流中获取的bytes类型需要使用decode()方法转化为字符串

    内建函数

    序列类型函数

    len()

    返回对象长度

    s='jfkhferhgergerugsjfbjha'
    print(len(s))
    
    
    

    max()和min()

    返回字符串中ASCII最大或最小的字符

    enumerate()

    用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

    enumerate(sequence, [start=0])

    sequence -- 一个序列、迭代器或其他支持迭代对象。

    start -- 下标起始位置。

    返回 enumerate(枚举) 对象。

    season=['Spring','Summer','Fall','Winter']
    print(list(enumerate(season)))
    print(list(enumerate(season,start=1))) #下标从1开始

    普通for循环和使用enumerate的比较:

    season = ['Spring', 'Summer', 'Fall', 'Winter']
    i=0
    for _ in season:
        print(i,season[i])
        i+=1
    print()
    for i,element in enumerate(season):
        print(i,element)

    zip()

    用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。

    如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。

    zip([iterable, ...])

    iterabl -- 一个或多个迭代器; 返回元组列表。 在 Python 3.x 中为了减少内存,zip() 返回的是一个对象。如需展示列表,需手动 list() 转换。

    a=[1,2,3]
    b=[4,5,6]
    c=[4,5,6,7,8]
    print(list(zip(a,b)))
    print(list(zip(a,c)))
    print(list(zip(a,b,c)))
    zipped=zip(a,c)
    print(list(zip(*zipped))) #与zip相反,*zipped可理解为解压,返回二维矩阵式

    s,t='fos','jhjh'
    print(list(zip(s,t)))

    字符串类型函数

    input()

    Python3.x 中 input() 函数接受一个标准输入数据,返回为 string 类型

    input([prompt]) prompt: 提示信息

    str()和unicode()

    str()和unicode()函数都是工厂函数,就是说产生所对应的类型的对象。它们接受一个任意类型的对象,然后创建该对象的可打印的或者Unicode的字符串表示。

    chr()和ord()

    chr():将整数转换成该编码对应的字符串(一个字符)。

    ord():将字符串(一个字符)转换成对应的编码(整数)。

    字符串内建函数

    字符串中字符大小写的变换:

    1 str.lower() :转换str中所有大写字符为小写

    2 str.upper() :转换str中所有小写字符为大写

    3 str.swapcase() :翻转str中的大小写

    4 str.title() :返回标题化的字符串。所有单词首字母大写,其余小写

    5 str.capitalize() :把字符串的第一个字母大写,其余小写

    去空格和特殊符号

    1 str.strip() :去掉字符串左边和右边的空格和换行符

    2 str.strip(str1) :去掉字符串左边和右边的str1

    3 str.lstrip() :去掉字符串左边的空格和换行符

    4 str.rstrip() :去掉字符串右边的空格和换行符

    字符串对齐,填充

    1 str.ljust(width) : 返回width长度的字符串,左对齐,不足的用空格补充

    2 str.rjust(width) : 返回width长度的字符串,右对齐,不足的用空格补充

    3 str.center(width) : 返回width长度的字符串,居中对齐,不足的用空格补充

    4 str.zfill(width) :返回长度为width长度的字符串,原字符串str右对齐,前面补充0

    字符串搜索、统计功能

    str.find(string,beg=0,end=len(str)) : 检测string是否包含在str中,beg和end指定检测范围,如果找到则返回开始的索引,否则返回-1

    str.rfind(string,beg=0,end=len(str)) : 检测string是否包含在str中,beg和end指定检测范围,如果找到则返回开始的索引,否则返回-1,类似find只不过是从右边往左边开始找。

    str.count(string,beg=0,end=len(str)) : 返回string在str中出现的次数,在beg-end检测范围内出现则返回出现的次数。

    str.index(string,beg=0,end=len(str)) : 和find方法一样,只不过如果string不在str中会报异常。

    str.rindex(string,beg=0,end=len(str)):和index方法一样,不过是从右边开始。

    字符串检测函数

    str.isalnum() :如果str至少有一个字符,并且所有字符都是字母或者数字,则返回true,否则返回false

    str.isalpha() : 如果str至少有一个字符,并且所有字符都是字母,则返回true,否则返回false

    str.isdigit() :如果str至少有一个字符,并且所有字符都是数字,则返回true,否则返回false

    str.isspace() :如果str至少有一个字符,并且所有字符都是空格,则返回true,否则返回false

    str.islower() :如果str至少有一个字符,并且所有字符都是小写字母,则返回true,否则返回false

    str.isupper() :如果str至少有一个字符,并且所有字符都是大写字母,则返回true,否则返回false

    str.istitle(): 如果str每个单词首字母大写其它小写,则返回true,否则返回false

    str.startswith(prefix[,start[,end]]) :如果str是以prefix开头,则返回true,否则返回false

    str.endswith(suffix[,start[,end]]) :如果str是以prefix结尾,则返回true,否则返回false

    字符串替换、分割

    str.replace(str1,str2,num=str.count(str1)) //替换指定次数的str1为str2,替换次数不超过num次。

    str.split(str1=”“,num=str.count(str1)) :以str1为分隔符,把str分成一个list。num表示分割的次数。默认的分割符为空白字符

    str.rsplit(str1=”“,num=str.count(str1)) :和split相似,只是从右边开始分割

    str.splitlines(num=str.count(“\n”’)) :把str按行分割符分为一个list,num如果指定则是分割成多少行

    字符串连接

    str.join(seq) :把seq代表的序列(字符串序列),用str连接起来

    字符串的独特特性

    特殊字符串和控制字符(转义字符)

    三引号

    字符串字面值可以跨行连续输入。一种方式是用三重引号:"""..."""或'''...'''。字符串中的回车换行会自动包含到字符串中,如果不想包含,在行尾添加一个\即可。如下例:

    print('''Usage: thingy [OPTIONS]
    
         -h                        Display this usage message
    
         -H hostname               Hostname to connect to
    
    """)

    将产生如下输出(注意最开始print("""\的换行没有包括进来):

    字符串不变性

    字符串不能被修改,是 immutable 的。

    向字符串的某个索引位置赋值会产生一个错误:

    word[0]='J'
    
    
    
    word[2:]='py'
    
    
    
    如果需要一个不同的字符串,应当新建一个:
    print('J'+word[2:])
    
    
    
    print(word[2:]+'py')
    
    
    

    更多Python框架梳理,请参考: 【Python学习】Python最全总结

     有问题请下方评论,转载请注明出处,并附有原文链接,谢谢!如有侵权,请及时联系。

    展开全文
  • Python字符串: 什么是字符串? 字符串就是一系列的字符。例如“you are a good man.” 在python中,用单引号或双引号括起来的都是字符串,例如: "this is a str" 'this is a str, too' python...

    Python字符串:

    什么是字符串?

    字符串就是一系列的字符。例如“you are a good man.”

    在python中,用单引号或双引号括起来的都是字符串,例如:

    "this is a str"
    'this is a str, too'

    python字符串常用函数:

    修改大小写:

     

    str.title(); 首字母大写
    str.upper(); 全转换为大写
    str.lower(); 全转换为小写

     

    合并字符串:

    str_a+str_b; 合并两个字符串

    制表符与换行符:

    与C语言一样,可直接使用:

    \t 制表符
    \n 换行符

    删除空白:

    str.lstrip(): 删除首端空白
    str.rstrip(): 删除末端空白
    str.strip(): 删除两端空白

    双引号与单引号:

    相同点:都可以引用字符串

    print("I am Li Hua");
    
    输出:I am Li Hua
    
    print('I am Li Hua');
    
    输出:I am Li Hua

    不同点:

    print("I'm Li Hua");
    
    输出:I'm Li Hua
    
    print('I'm Li Hua');
    
    报错!

    可见Python可以识别双引号中的撇号,而单引号则会报错。

     

    print语句在Python2与Python3的区别:

    #Python3中:
    
    print("I'm Li Hua");
    
    #python2中:
    
    print "I'm Li Hua";

    可见,在Python3中print必须包含括号,被当做一个函数,而在Python2中则print语句是一条语句,不包含括号。

     

    更多Python2与Python3的区别请移步到博客:Python2与Python3常见区别 通俗易懂 拒绝长篇大论

    展开全文
  • python 字符串

    2016-11-19 16:09:39
    Python 字符串字符串python 中最常用的数据类型,我们可以使用引号(’ 或 ”)来创建字符串。...var2 = "i love python"Python 访问字符串中的值python 支持单字符类型,单字符也在python中作为一个字符串使用。

    Python 字符串

    字符串是python 中最常用的数据类型,我们可以使用引号(’ 或 ”)来创建字符串。
    创建字符串很简单,只要为变量分配一个值即可,例如:

    # -*- coding: UTF-8 -*- 
    var1 = 'hello world'
    var2 = "i love python"

    Python 访问字符串中的值

    python 不支持单字符类型,单字符也在python中作为一个字符串使用。
    python 访问子字符串,可以使用方括号来截取字符串,如下:

    # -*- coding: UTF-8 -*- 
    
    var1 = 'hello world'
    var2 = "i love python"
    
    print "var1[0]:",var1[0]
    print "var2[1:5]:",var2[1:5]

    以上实例输出结果:

    var1[0]: h
    var2[1:6]:  love
    

    Python 字符串更新

    你可以对已存在的字符串进行修改,并赋值给另一个变量,如下:

    # -*- coding: UTF-8 -*- 
    
    var1 = 'hello world'
    
    print "更新字符串:",var1[1:6]+'mtbaby'

    以上实例执行结果:

    更新字符串: ello mtbaby

    Python 转义字符

    当需要在字符中使用特殊字符时,python用反斜杠()转义字符,如下表:

    转义字符 描述
    \(在行尾时) 续行符
    \\ 反斜杠符号
    \’ 单引号
    \” 双引号
    \a 响铃
    \b 退格(Backspace)
    \e 转义
    \000
    \n 换行
    \v 纵向制表符
    \t 横向制表符
    \r 回车
    \f 换页
    \oyy 八进制数,yy代表的字符,例如:\o12代表换行
    \xyy 十六进制数,yy代表的字符,例如:\x0a代表换行
    \other 其它的字符以普通格式输出

    Python 字符串运算

    下表实例变量 a 值为字符串“Hello”,b 变量值为 “Python”:

    操作符 描述 实例
    + 字符串连接 >>>a + b
    ’HelloPython’
    * 重复输出字符串 >>>a * 2
    ’HelloHello’
    [] 通过索引获取字符串中字符 >>>a[1]
    ’e’
    [ : ] 截取字符串中的一部分 >>>a[1:4]
    ’ell’
    in 成员运算符 - 如果字符串中包含给定的字符返回 True >>>”H” in a
    True
    not in 成员运算符 - 如果字符串中不包含给定的字符返回 True >>>”M” not in a
    True
    r/R 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,
    没有转义特殊或不能打印的字符。
    原始字符串除在字符串的第一个引号前加上字母”r”(可以大小写)以外,
    与普通字符串有着几乎完全相同的语法。
    >>>print r’\n’
    \n
    >>>print R’\n’
    \n
    % 格式字符串 请看下一章节

    实例如下:

    # -*- 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" in a) :
        print "H 在变量 a 中" 
    else :
        print "H 不在变量 a 中" 
    
    if( "M" not in a) :
        print "M 不在变量 a 中" 
    else :
        print "M 在变量 a 中"
    
    print r'\n'
    print R'\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中printf 函数一样的语法。
    如下实例:

    # -*- coding: UTF-8 -*-
    
    print "My name is %s and i am %d years old"%(mt,23)

    执行结果:

    My name is mt and i am 23 years old

    python字符串格式化符号:

    符 号 描述
    %c 格式化字符及其ASCII码
    %s 格式化字符串
    %d 格式化整数
    %u 格式化无符号整型
    %o 格式化无符号八进制数
    %x 格式化无符号十六进制数
    %X 格式化无符号十六进制数(大写)
    %f 格式化浮点数字,可指定小数点后的精度
    %e 用科学计数法格式化浮点数
    %E 作用同%e,用科学计数法格式化浮点数
    %g %f和%e的简写
    %G %f 和 %E 的简写
    %p 用十六进制数格式化变量的地址

    格式化操作符辅助指令:

    符号 功能
    * 定义宽度或者小数点精度
    - 用做左对齐
    + 在正数前面显示加号( + )
    <sp> 在正数前面显示空格
    # 在八进制数前面显示零(‘0’),在十六进制前面显示’0x’或者’0X’(取决于用的是’x’还是’X’)
    0 显示的数字前面填充’0’而不是默认的空格
    % ‘%%’输出一个单一的’%’
    (var) 映射变量(字典参数)
    m.n. m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

    Python三引号(triple quotes)

    python 中三引号可以将复杂的字符串进行复制;
    python 三引号允许一个字符串跨多行,字符串可以包含换行符、制表符以及其他特殊字符。
    三引号的语法是一对连续的单引号或者双引号(通常都是成对的用)。

     >>> hi = '''hi 
    there'''
    >>> hi   # repr()
    'hi\nthere'
    >>> print hi  # str()
    hi 
    there 

    三引号让程序员从引号和特殊字符串的泥潭里面解脱出来,自始至终保持一小块字符串的格式是所谓的WYSIWYG(所见即所得)格式的。
    一个典型的用例是,当你需要一块HTML或者SQL时,这时用字符串组合,特殊字符串转义将会非常的繁琐。

     errHTML = '''
    <HTML><HEAD><TITLE>
    Friends CGI Demo</TITLE></HEAD>
    <BODY><H3>ERROR</H3>
    <B>%s</B><P>
    <FORM><INPUT TYPE=button VALUE=Back
    ONCLICK="window.history.back()"></FORM>
    </BODY></HTML>
    '''
    cursor.execute('''
    CREATE TABLE users (  
    login VARCHAR(8), 
    uid INTEGER,
    prid INTEGER)
    ''')

    Unicode 字符串

    Python 中定义一个 Unicode 字符串和定义一个普通字符串一样简单:

    >>> u'Hello World !'
    u'Hello World !'

    引号前小写的”u”表示这里创建的是一个 Unicode 字符串。如果你想加入一个特殊字符,可以使用 Python 的 Unicode-Escape 编码。如下例所示:

    >>> u'Hello\u0020World !'
    u'Hello World !'

    被替换的 \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.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()函数,不过是从右边开始查找.
    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 个子字符串
    string.splitlines(num=string.count(‘\n’)) 按照行分隔,返回一个包含各行作为元素的列表,如果 num 指定则仅切片 num 个行.
    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
    string.isdecimal() isdecimal()方法检查字符串是否只包含十进制字符。这种方法只存在于unicode对象。
    展开全文
  • Python字符串

    2015-07-26 15:04:43
    Python 字符串字符串Python 中最常用的数据类型。我们可以使用引号来创建字符串。...Python不支持单字符类型,单字符也在Python也是作为一个字符串使用。Python访问子字符串,可以使用方括号来截取字

    Python 字符串

    字符串是 Python 中最常用的数据类型。我们可以使用引号来创建字符串。
    创建字符串很简单,只要为变量分配一个值即可。例如:

    var1 = 'Hello World!'
    var2 = "Python Programming"

    Python访问字符串中的值
    Python不支持单字符类型,单字符也在Python也是作为一个字符串使用。

    Python访问子字符串,可以使用方括号来截取字符串,如下实例:

    #coding=gbk
    
    var1 = 'Hello World!'
    var2 = "Python Programming"
    
    print "var1[0]: ", var1[0]
    print "var2[1:5]: ", var2[1:5]
    以上实例执行结果:
    
    var1[0]:  H
    var2[1:5]:  ytho

    Python字符串更新
    你可以对已存在的字符串进行修改,并赋值给另一个变量,如下实例:

    #coding=gbk
    
    var1 = 'Hello World!'
    var2 = var1[:6] + 'Python'
    print "Updated String :- ", var2 
    
    以上实例执行结果
    
    Updated String :-  Hello Python

    Python转义字符
    在需要在字符中使用特殊字符时,python用反斜杠()转义字符。如下表:

    \ (在行尾时) 续行符
    \ 反斜杠符号
    \’ 单引号
    \” 双引号
    \a 响铃
    \b 退格(Backspace)
    \e 转义
    \000 空
    \n 换行
    \v 纵向制表符
    \t 横向制表符
    \r 回车
    \f 换页
    \oyy 八进制数,yy代表的字符,例如:\o12代表换行
    \xyy 十六进制数,yy代表的字符,例如:\x0a代表换行
    \other 其它的字符以普通格式输出

    Python字符串运算符
    下面操作嘉定变量a值为字符串”Hello”,b变量值为”Python”:

    a = 'Hello'
    b = 'Python'
    
    +   字符串连接   a + b 输出结果: HelloPython
    *   重复输出字符串 a*2 输出结果:HelloHello
    []  通过索引获取字符串中字符    a[1] 输出结果 e
    [ : ]   截取字符串中的一部分  a[1:4] 输出结果 ell
    in  成员运算符 - 如果字符串中包含给定的字符返回 True    H in a 输出结果 1
    not in  成员运算符 - 如果字符串中不包含给定的字符返回 True   M not in a 输出结果 1
    r/R 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。 
    print r'\n' prints \n 和 print R'\n' prints \n

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

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

    如下实例:

    #coding=gbk
    
    print "My name is %s and weight is %d kg!" % ('Zara', 21) 

    以上实例输出结果:

    My name is Zara and weight is 21 kg!

    python字符串格式化符号:

    符   号   描述
      %c     格式化字符及其ASCII码
      %s     格式化字符串
      %d     格式化整数
      %u     格式化无符号整型
      %o     格式化无符号八进制数
      %x     格式化无符号十六进制数
      %X     格式化无符号十六进制数(大写)
      %f     格式化浮点数字,可指定小数点后的精度
      %e     用科学计数法格式化浮点数
      %E     作用同%e,用科学计数法格式化浮点数
      %g     %f和%e的简写
      %G     %f 和 %E 的简写
      %p     用十六进制数格式化变量的地址
    

    格式化操作符辅助指令:

    *   定义宽度或者小数点精度
    -   用做左对齐
    +   在正数前面显示加号( + )
    <sp>    在正数前面显示空格
    #   在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')
    0   显示的数字前面填充'0'而不是默认的空格
    %   '%%'输出一个单一的'%'
    (var)   映射变量(字典参数)
    m.n.    m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

    Python三引号(triple quotes)
    python中三引号可以将复杂的字符串进行复制:

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

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

     >>> hi = '''hi 
    there'''
    >>> hi   # repr()
    'hi\nthere'
    >>> print hi  # str()
    hi 
    there  

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

    一个典型的用例是,当你需要一块HTML或者SQL时,这时用字符串组合,特殊字符串转义将会非常的繁琐。

     errHTML = '''
    <HTML><HEAD><TITLE>
    Friends CGI Demo</TITLE></HEAD>
    <BODY><H3>ERROR</H3>
    <B>%s</B><P>
    <FORM><INPUT TYPE=button VALUE=Back
    ONCLICK="window.history.back()"></FORM>
    </BODY></HTML>
    '''
    cursor.execute('''
    CREATE TABLE users (  
    login VARCHAR(8), 
    uid INTEGER,
    prid INTEGER)
    ''')

    Unicode 字符串
    Python 中定义一个 Unicode 字符串和定义一个普通字符串一样简单:

    >>> u'Hello World !'
    u'Hello World !'
    引号前小写的"u"表示这里创建的是一个 Unicode 字符串。如果你想加入一个特殊字符,可以使用 Python 的 Unicode-Escape 编码。如下例所示:
    
    >>> u'Hello\u0020World !'
    u'Hello World !'
    被替换的 \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 符号转为空格,默认的空格数 tabsize 是 8.

    string.find(str, beg=0, end=len(string))

    检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1

    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)

    Merges (concatenates)以 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()函数,不过是从右边开始查找.

    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 个子字符串

    string.splitlines(num=string.count(‘\n’))

    按照行分隔,返回一个包含各行作为元素的列表,如果 num 指定则仅切片 num 个行.

    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

    string.isdecimal()

    isdecimal()方法检查字符串是否只包含十进制字符。这种方法只存在于unicode对象。

    本文经过适当整理,源自http://www.runoob.com/python/python-strings.html

    展开全文
  • python字符串类型

    2018-12-26 19:06:22
    python字符串类型 python字符串的索引(index) python 字符串切片 python字符串类型 字符串是一个有序的,不可修改的,元素以引号包围的序列。 python字符串的定义:双引号或者单引号中的数据,就是字符串 字符...
  • python字符串常见操作:补充链接 python字符串格式化:补充链接 python字符串常用方法:补充链接 正文: python2中,字符串在内存中是str类型。展现形式是unicode编码。unicode字符串需要加上u标记。 字符串...
  • Python中的字符串对象是不能更改的,也即直接修改字符串中的某一位或几位字符是实现不了的,即python字符串对象不可更改,但字符串对象的引用可更改,可重新指向新的字符串对象。+ 直接字符串外+元素(推荐学习:...
  • python字符串创建

    千次阅读 2018-11-04 14:40:22
    python字符串不可变的。我们无法对原字符串进行 任何修改,只能将字符串的一部分复制到新建的字符串。 pyhton不支持单字符类型,单字符也是作为一个字符串使用 字符串的编码 python3直接支持Unicode,可以表示...
  • python字符串去掉空行There are various ways to remove spaces from a string in Python. This tutorial is aimed to provide a short example of various functions we can use to remove whitespaces from a ...
  • python 字符串函数

    2018-11-11 11:19:44
    python 字符串函数 转:https://fishc.com.cn/thread-38992-1-1.html capitalize() 把字符串的第一个字符为大写 casefold() 把整个字符串的所有字符为小写 center(width) 将字符串居中,并使用...
  • Python 字符串

    千次阅读 2017-05-10 18:12:12
    字符串(String),是由零个或多个字符组成的有限序列,在 Python 中表示文本的数据类型。 字符只是一个符号,例如:字母(A-Z)、数字(0-9)、特殊符号(~!@#¥%...)等。
  • Python字符串对象

    千次阅读 2013-12-09 08:44:31
    Python字符串被划分为不可变序列的类别,意味着这些字符串所包含的字符存在从左至右的位置顺序,并且它们不可以在本地进行修改。 基本操作 字符串可以通过+操作符进行合并,可以使用*运算符进行重复。 >>>len(...
  • python字符串类型概述 Input:是输入 Print:是输出 案例: 注释: 字符串是一个有序的,不可修改的,元素以引号包围的序列。 python字符串的定义:双引号或者单引号中的数据,就是字符串 字符串存储的...
  • Python字符串底层原理

    2020-04-07 23:13:37
    内存分布字符串不可变数据类型 --> 内存分布字符串的拼接 --> 内存分布字符串与整数的差异? 什么是字符串 字符串是编程语言中用于描述信息的一段字符。 Python 中通过双引号,单引号,三对引号包含起来的一...
  • Python字符串比较

    千次阅读 2020-09-15 23:43:13
    In this tutorial we are going to see different methods by which we can compare strings in Python. We will also see some tricky cases when the python string comparison can fail and golden rules to get ...
  • python 字符串“修改”的几种方法

    千次阅读 2019-06-24 15:57:21
    大家都知道,python字符串属于不可修改的数据类型,但是我们可以通过其他方法将它进行变相的修改。 方法一:将字符串转换成列表,修改成功后再将利用join方法将列表转换回字符串。 str1 = "我是字符串数据类型" # ...
  • Python中,字符串属于不可变对象,不支持原地修改,如果需要修改其中的值,智能创建新的字符串对象。我们经常需要原地修改字符串,可以使用io.StringIO对象或arrar模块 >>> import io >>...
  • python字符串的不变性

    2016-05-10 09:01:19
    序列分为两种:可变的(mutable)和不可变得(immutable)。可变就是可修改,不可变就是不能修改。字符串是不可变序列,是不能被修改的。...注:字符串不支持成员项赋值(即不能为字符串中的字符赋新值)
  • python字符串总结

    千次阅读 2016-02-21 21:05:52
    字符串可以通过切片的方式访问,但是不能对分片进行赋值,字符串不可变的! 格式化字符串: 格式 描述 格式 描述 %% 百分号%标记(多出来的%是转义作用)     %c ...
  • python字符串操作

    千次阅读 2013-07-22 21:17:32
    字符串序列用于表示和存储文本,python字符串不可变的,一旦声明,不能改变 通常由单引号(' ),双引号(" ),三引号(''' """)包围 其中三引号可以由多行组成,编写多行文本的快捷语法,常用语文档字符串,在文件...
  • Python字符串的用法

    千次阅读 2019-05-30 21:17:44
    python中,用引号括起来的都是字符串,其中的引号可以是单引号也可以是双引号,如下表示:"This is a string."或者'This is a string.'这种灵活性能够让你在字符串中包含引号和撇号。比如: 'I told to Bob,...
  • python字符串

    千次阅读 2019-04-20 22:58:43
    python中引号包括的都是字符串包含“”或‘’ “this is a string” ‘this is also a string'’ 这种灵活性可以让我们可以在引号中包含t双引号或单引号 str() 这里还有一个前面遗忘的就是str()方法 去除...
  • 字符串官方定义:元素以引号包围不可修改的有序序列。 1.不可修改:字符串中的内容一旦定义后就不能修改。 2.有序序列:即成员(字符)有序排列,可通过下标访问。 字符串索引 字符串中每一个个体我们称之为字符或者...
  • Python 字符串详解

    2016-06-07 13:27:38
    Python 字符串 字符串Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。 创建字符串很简单,只要为变量分配一个...Python不支持单字符类型,单字符也在Python也是作为一个字符串使用。 Py
  • python字符串高效拼接

    千次阅读 2019-12-14 11:48:56
    众所周知,为了使字符串的使用如整形等基本类型一样安全,无副作用,字符被限定为不可变对象,也就是说绝大部分对字符串的修改操作将会创建新的字符串对象,而不是返回原字符串,这就容易造成不断创建对象,申请内存...
  • Python字符串中添加、插入特定字符

    万次阅读 2019-09-09 20:54:49
    Python中,字符串不可变的。所以无法直接删除、插入字符串之间的特定字符。 所以想对字符串中字符进行操作的时候,需要将字符串转变为列表,列表是可变的,这样就可以实现对字符串中特定字符的操作。 1、添加...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 204,039
精华内容 81,615
关键字:

python字符串不可更改

python 订阅