封装系统内置功能的函数(字符串)
2019-05-17 00:00:08来源:博客园 阅读 ()
1、封装类似lower()的函数
def myLower(src): src1 = '' for i in src: if 'A' <= i <= 'Z': src1 += chr(ord(i) + 32) else: src1 += i return src1 #print(myLower('AcdEjlG'))
2、封装类似upper()的函数
def myUpper(src): src1 = '' for i in src: if 'a' <= i <= 'z': src1 += chr(ord(i) - 32) else: src1 += i return src1 #print(myUpper('aCdEf'))
3、封装类似find()的函数
第一种思路: def myFind1(src,sub): for i in range(len(src)-len(sub)+1): new_src = src[i:i+len(sub)] #print(new_src) if new_src == sub: return i else: return -1 print(myFind1('abcde123abe','123a')) 第二种思路: def myFind(src,sub): if len(sub) > len(src): return -1 for i in range(len(src)): if src[i] == sub[0]: index = i for j in range(len(sub)): if src[index] != sub[j]: break index += 1 else: return i else: return -1
4、封装类似rfind()的函数
第一种思路: def myRfind(src,sub): #从右往左进行遍历 for i in range(len(src)-1,-1,-1): #先找第一个字符,如果一致,在进行对应切片比较 if sub[0] == src[i]: #如果切片出来的结果与子串一致,返回所在的索引值 if sub == src[i:i+len(sub)]: return i #如果没找到,返回-1 else: return -1 # index = myRfind('abc123','c1') # print(index) 第二种思路: def myRfind(src,sub): if len(sub) > len(src): return -1 for i in range(-1,-len(src)-1,-1): if src[i] == sub[0]: index = i for j in range(len(sub)): if src[index] != sub[j]: break index += 1 else: return len(src) + i else: return -1 #print(myRfind('abcdegabeda','ab'))
5、封装功能类似isdigit()的函数
def myIsdigit(src): for ch in src: if not '0' <= ch <= '9': return False else: return True print(myIsdigit('123')) print(myIsdigit('123a'))
6、封装功能类似partition()的函数
def myPartition(src,sub): if sub in src: #获取子串在目标字符串的索引值 index = myRfind(src,sub) #切片操作划分三个元素: 1.str[0:index] 2.sub 3.[index+len(sub):] return (src[0:index],sub,src[index+len(sub):]) else: return (src,'','') # print(myPartition('abcdef','g')) print(myPartition('abcdef','cd'))
原文链接:https://www.cnblogs.com/ilovepython/p/10864940.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python内置模块介绍(一) 2019-07-24
- Python-16-继承、封装、多态 2019-07-24
- Python-18-类的内置属性 2019-07-24
- 史上最全的python零基础系统学习路线图 2019-07-24
- python学习-31 内置函数 2019-07-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash