Python模块学习之字符串方法——Python学习手册笔记

关于字符串模块(来自python学习手册):

    很多地方见到调用string模块的方法,如,string.method(X, arguments)。同时又存在直接使用字符串方法的形式,如X.method(arguments)。一直很困惑,今天再python学习手册找到答案。其实就是个历史遗留问题,之前只有string模块,后面合入到字符串对象的方法集中。Python3.0后已经删除string模块调用形式。


一个简单的统计字符串中各种字符数量的程序,主要涉及到String模块的一些函数和eval的使用,简单的组合就可以解决问题,这里只是为了顺便学习下eval,所以用了比较丑的方式。

#encoding: utf-8

def StringCounter(aString):

    recordDict = {'isalpha': 0, 'isdigit': 0, 'isspace': 0}
    for tempstr in aString:
        for key in recordDict.keys():
            tempfunc = key + "()"
            if eval("'" + tempstr + "'" + "." + tempfunc):
                recordDict[key] += 1
            else:
                continue
    for key, value in recordDict.items():
        print("%s : %i" % (key, value)) 

if __name__ == "__main__":
    test = "ab123 ahd"
    StringCounter(test)

上面用到了三个字符串方法,其他常用的整理如下:

第一类:判断字符串是否属于某种类别,满足条件,返回True,否则,返回False 

isalnum() 所有字符都是0123456789,或者字母A~Z,a~z 

isalpha() 所有字符都是字母A~Z,a~z  

isdigit() 所有都是数字0123456789 

islower() 所有字符都是小写字母a~z  

isupper() 所有字符都是大写字母A~Z 

istitle() 所有单词都是首字母大写

isspace() 所有字符都是空白字符\n,\t,\r,' ' 


第二类:在字符串中查找某个字符串

find(substring,[start,[,end]]) 如果找到,返回索引值。如果找不到,返回-1

rfind(substring,[start,[,end]]) 反向查找

index(substring,[start,[,end]]) 和find差不多,需要注意的是找不到时会抛ValueError异常,要注意处理

rindex(substring,[start,[,end]]) 同上,反向查找

count(substring,[start,[,end]])找到的substring的次数


第三类:格式化字符串

ljust(width, symbol) , 左对齐,需要注意如果str的长度没有width那么长,就在后面补symbol,默认是空格

rjust(width, symbol) ,右对齐,前面补

center(width, symbol),居中对齐,前后补,和源字符串一起凑够width长度,如果补的数是奇数,则优先后面的。如'abc'.center(10, "*")='***abc****'

lstrip(symbol), 去掉左边symbol

rstrip(symbol), 去掉右边symbol

strip(symbol),去掉两边


第四类:字符串大小写转换

capitalize(),只有首字母大写,其他都转成小写。"THIS IS TEST".capitalize()  = 'This is test'

lower()

upper()

swapcase()


第五类:字符串的格式化输出(也可作为格式化)

%d:表示有符号十进制数 

%i:表示有符号十进制数 

%o:表示无符号八进制数 

%u:表示无符号整数 

%x:表示无符号十六进制数,小写 

%X:表示无符号十六进制数,大写 

%e:表示浮点数,科学表达式法,小写 

%E:表示浮点数,科学表达式法,大写 

%f:表示浮点数 

%g:表示浮点数,如果是小于0.0001或者不够精度,就用科学表示法 

%c:表示把ASCII整数表示单个字符 

%r:表示一个字符串,这个字符串使用repr()的返回值 

%s:表示一个字符串,这个字符串使用str()函数的返回值 


第六类: 字符串的拼接和拆分(字符串作为序列,可以直接切边和遍历)

1、直接用'+'拼接

2、str.join(words) , words 是一个只含有字符串的tuple或者list。join用str作为分隔符将words中的字符串连接起来,合并成一个字符串

3、split(word),拆分。注意,os.path中的split可以直接把文件路径拆分为路径和文件名,比较好用。











  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值