c# 网站开发教程,seo wordpress主题,南阳网站建设费用,站长工具查询小工具实战-Python实现小工具输出字符串大小写转换、字符串统计、编解码、MD5加密 学习建议字符串大小写转换实现思路部分代码 字符串统计实现思路部分代码#xff1a; 字符串编解码实现思路部分代码 字符串MD5加密实现思路部分代码 小工具整体设计设计思路工具完整代码实现输… 小工具实战-Python实现小工具输出字符串大小写转换、字符串统计、编解码、MD5加密 学习建议字符串大小写转换实现思路部分代码 字符串统计实现思路部分代码 字符串编解码实现思路部分代码 字符串MD5加密实现思路部分代码 小工具整体设计设计思路工具完整代码实现输出效果 总结 学习建议
本文主要是使用Python做一些简单小工具打印输出即可本文涉及到的小工具有字符串大小写转换、字符串统计、编解码、MD5加密等等文章内容通俗易懂适合刚入门Python练习基础知识文章中使用到了Python的标准输入输出、字符串基本操作、unittest框架基本使用、方法和类的使用等写作思路是先大概介绍每个小工具的实现思路然后写一点部分代码最后会把所有小工具整合在一起运行。
字符串大小写转换
实现思路
根据用户键盘输入的字符串来按照要求进行大小写转换主要有大写转换成小写、小写转换成小写、大小写转换、首字母大写。
部分代码
详细的代码后续会整合在一起这里看下部分代码 print(‘您选择的是1-字符串大小写转换转换进行中~~~’) print(f大写转换成小写{self.s.lower()}“) print(f小写转换成小写{self.s.upper()}”) print(f大小写转换{self.s.swapcase()}“) print(f首字母大写{self.s.title()}”) 字符串统计
实现思路
根据输入的字符串先判断一个字符是不是在该字符串中然后判断该字符在字符串中出现的次数去掉字符串左右空格去掉字符串左边空格去掉字符串右边空格。
部分代码 def test_case2(self): print(‘您选择的是2-字符串统计或计数转换进行中~~~’) i input(‘请输入要统计的字符’) if i in self.s: print(f字符串统计{self.s.count(i)}“) print(f去掉字符串左右空格{self.s.strip()}”) print(f去掉字符串左边空格{self.s.lstrip()}“) print(f去掉字符串右边空格{self.s.rstrip()}”) else: print(f您输入的字符{i} 没有在字符串{self.s}中) 字符串编解码
实现思路
根据输入字符串将Unicode字符串转换为字节序列将字节序列解码为Unicode字符串。
部分代码 def test_case3(self): print(‘您选择的是3-字符串编码或解码转换进行中~~~’) str_byte self.s.encode(‘utf-8’) print(fUnicode字符串转换为字节序列{str_byte}“) print(f将字节序列解码为Unicode字符串{str_byte.decode(‘utf-8’)}”) 字符串MD5加密
实现思路
根据输入的字符串进行简单的MD5加密。
部分代码 def test_case4(self): print(‘您选择的是4-字符串MD5加密转换进行中~~~’) md hashlib.md5(self.s.encode()) md5_pass md.hexdigest() print(f字符串{self.s}, md5直接加密后为{md5_pass}) 小工具整体设计
设计思路
先创建一个类这个类继承于unittest框架的TestCase目的是组织所有的用例每个用例必须按照unittest框架的规则去写比如函数开头必须为test等每个用例其实就是一个小工具这个用例中主要实现对应的小工具内容unittest框架的前置setUpClass处理小工具的开始信息比如提示信息或者要输入的字符串unittest框架的后置tearDownClass处理小工具的结束信息比如结束语等等除了类中的方法外还定义了一个主函数main()用来组织所有的用例执行主函数main()中的用例执行逻辑按照unittest框架的suite、testcase、addTest、TextTestRunner方式去组织。最后就是调用main()函数即可。
工具完整代码实现
import unittest
import time
import hashlibclass TestToX(unittest.TestCase):classmethoddef setUpClass(cls) - None:# cls.s I like python, And you?cls.s input(请输入要转换的字符串)print(开始进行转换请稍等......)print(# * 50)classmethoddef tearDownClass(cls) - None:print(# * 50)print(转换结束欢迎使用~,工具运行中您也可继续操作-----)def test_case1(self):print(您选择的是1-字符串大小写转换转换进行中~~~)print(f大写转换成小写{self.s.lower()})print(f小写转换成小写{self.s.upper()})print(f大小写转换{self.s.swapcase()})print(f首字母大写{self.s.title()})def test_case2(self):print(您选择的是2-字符串统计或计数转换进行中~~~)i input(请输入要统计的字符)if i in self.s:print(f字符串统计{self.s.count(i)})print(f去掉字符串左右空格{self.s.strip()})print(f去掉字符串左边空格{self.s.lstrip()})print(f去掉字符串右边空格{self.s.rstrip()})else:print(f您输入的字符{i} 没有在字符串{self.s}中)def test_case3(self):print(您选择的是3-字符串编码或解码转换进行中~~~)str_byte self.s.encode(utf-8)print(fUnicode字符串转换为字节序列{str_byte})print(f将字节序列解码为Unicode字符串{str_byte.decode(utf-8)})def test_case4(self):print(您选择的是4-字符串MD5加密转换进行中~~~)md hashlib.md5(self.s.encode())md5_pass md.hexdigest()print(f字符串{self.s}, md5直接加密后为{md5_pass})def main():while True:print( 1字符串大小写转换 \n 2字符串统计或计数 \n 3字符串编码或解码 \n 4字符串MD5加密 \n)num int(input(请根据以上提示按要求输入数字))suite unittest.TestSuite()if num 1:suite.addTest(TestToX(test_case1))runner unittest.TextTestRunner()runner.run(suite)time.sleep(0.8)elif num 2:suite.addTest(TestToX(test_case2))runner unittest.TextTestRunner()runner.run(suite)time.sleep(0.8)elif num 3:suite.addTest(TestToX(test_case3))runner unittest.TextTestRunner()runner.run(suite)time.sleep(0.8)elif num 4:suite.addTest(TestToX(test_case4))runner unittest.TextTestRunner()runner.run(suite)time.sleep(0.8)else:print(输入有误~我们将运行所有的用例请查阅...)unittest.main()if __name__ __main__:main()输出效果
效果1 1字符串大小写转换 2字符串统计或计数 3字符串编码或解码 4字符串MD5加密 请根据以上提示按要求输入数字1 请输入要转换的字符串I like python, And you? 开始进行转换请稍等… ################################################## 您选择的是1-字符串大小写转换转换进行中~~~ 大写转换成小写i like python, and you? 小写转换成小写I LIKE PYTHON, AND YOU? 大小写转换i LIKE PYTHON, aND YOU? 首字母大写I Like Python, And You? ################################################## 转换结束欢迎使用~,工具运行中您也可继续操作----- 效果2 1字符串大小写转换 2字符串统计或计数 3字符串编码或解码 4字符串MD5加密 请根据以上提示按要求输入数字2 请输入要转换的字符串i like python 开始进行转换请稍等… ################################################## 您选择的是2-字符串统计或计数转换进行中~~~ 请输入要统计的字符i 字符串统计2 去掉字符串左右空格i like python 去掉字符串左边空格i like python 去掉字符串右边空格i like python ################################################## 转换结束欢迎使用~,工具运行中您也可继续操作----- 效果3 1字符串大小写转换 2字符串统计或计数 3字符串编码或解码 4字符串MD5加密 请根据以上提示按要求输入数字3 请输入要转换的字符串我有一个亿 开始进行转换请稍等… ################################################## 您选择的是3-字符串编码或解码转换进行中~~~ Unicode字符串转换为字节序列b’\xe6\x88\x91\xe6\x9c\x89\xe4\xb8\x80\xe4\xb8\xaa\xe4\xba\xbf’ 将字节序列解码为Unicode字符串我有一个亿 ################################################## 转换结束欢迎使用~,工具运行中您也可继续操作-----
效果4 1字符串大小写转换 2字符串统计或计数 3字符串编码或解码 4字符串MD5加密 请根据以上提示按要求输入数字4 请输入要转换的字符串123456 开始进行转换请稍等… ################################################## 您选择的是4-字符串MD5加密转换进行中~~~ 字符串123456, md5直接加密后为e10adc3949ba59abbe56e057f20f883e ################################################## 转换结束欢迎使用~,工具运行中您也可继续操作----- 总结
本文是使用Python实现小工具输出字符串大小写转换、字符串统计、编解码、MD5加密简单容易理解适合入门Python基础练习。可能需要对一些基础知识要简单看下。建议学习的时候不局限于上边的示例可以自己新增的一些示例比如MD5加密的时候也可以增加一些用户名和密码组合MD5加密、密码使用MD5盐加密、MD5加盐后将密码整体插入盐中、SHA1加密、SHA256加密、HMAC加密等等。