原文链接:http://blog.svenapps.com/post/python-xue-xi-bi-ji/python-xue-xi-bi-ji-wu-zi-fu-chuan-han-shu-er#content

注:本资料是个人学习笔记,仅供参考

1.maketrans和translate

1)string.maketrans设置字符串转换规则表(translation table)

allchars = string.maketrans('', '')#所有的字符串,即不替换字符串
aTob = string.maketrans('a','b')#将字符a转换为字符b
2).translate函数进行字符串的替换和删除,第一个参数是字符串转换规则表(translation table),第二个参数是要删除的字符串。比如,要          将字符串s中的所有e替换为a,同时要删除所有的o
aTob = string.maketrans('e','a')
s = 'hello python'
print s.translate(aTob, 'o')
输出结果:
hall pythn
3).假如我们这样使用
allchars = string.maketrans('', '')
k = allchars.translate(allchars, 'a')
allchars表示所有的字符串,而k表示从所有的字符串中去除掉字符a,就是说所有的字符,除了a,因此,我们再调用如下方法时:
s = 'abc'
print s.translate(allchars, k)
字面意思是,输出“字符串s中除去任何不是字符a的字符",即,只输出字符a,因此输出结果为:
a
4).现在,已经不难理解下面这个函数了
import string
def translator(frm='', to='', delete='', keep=None):
if len(to) == 1:
to = to * len(frm)
trans = string.maketrans(frm, to)
if keep is not None:
allchars = string.maketrans('', '')
delete = allchars.translate(allchars, keep.translate(allchars, delete))
def translate(s):
return s.translate(trans, delete)
return translate
调用:
digits_only = translator(keep=string.digits)
print digits_only('Chris Perkins : 224-7992')
digits_to_hash = translator(frm=string.digits, to='#')
print digits_to_hash('Chris Perkins : 224-7992')
输出结果:
2247992
Chris Perkins : ###-####

2.time, strftime和strptime 转换时间字符串
最常用的time.time()返回的是一个浮点数,单位为秒。但strftime处理的类型是time.struct_time,实际上是一个tuple。strptime和localtime都会返回这个类型
import time;
import datetime;
print time.time()
print time.localtime()
print time.strftime("%Y年%m月%d日 %X",time.localtime())
print time.strptime("2013-05-14","%Y-%m-%d")
#结果
#1368502787.23
#time.struct_time(tm_year=2013, tm_mon=5, tm_mday=14, tm_hour=11, tm_min=39, tm_sec=47, tm_wday=1, tm_yday=134, tm_isdst=0)
#2013年05月14日 11:39:47
#time.struct_time(tm_year=2013, tm_mon=5, tm_mday=14, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=134, tm_isdst=-1) 

转载于:https://www.cnblogs.com/Wendale-Zhang/archive/2013/05/14/3077516.html

python学习笔记(五)字符串函数二相关推荐

  1. Python学习笔记五:控制语句

    Python学习笔记五:控制语句 Pycharm 开发环境的下载安装配置_项目管理 控制语句 Pycharm 开发环境的使用 Pycharm 下载和安装 激活和选择不同UI 风格 创建项目和初始化配置 ...

  2. Python学习笔记11:函数修饰符

    Python学习笔记11:函数修饰符 Python有很多有趣的特性,其中函数修饰符就是一个. 我们在之前的那个web应用示例中用过如下写法: @web.route('/log') @符号后边的,就是一 ...

  3. python学习笔记之自定义函数

    live long and prosper 自定义函数 def greet_user():"""现实简单的问候语"""print(" ...

  4. Python学习笔记(基础知识点二)开更了~

    下午有事忙活了几个小时现在开始开更啦. 首先想说那个一直困惑我的问题得以解决了.是什么呢??? 八进制是以数字0开头,也就是12=015(后面是八进制):十六进制是以数字0加上字母x(大写小写都可以, ...

  5. Python学习笔记 - 探索字符串数据操作

    大家好,我是Mr数据杨,设想一下,我们身处<三国演义>的热血世界,赵云.曹操.孔明都是我们的亲密朋友.在这个世界里可以用Python的字符串 + 运算符来合并孔明的锦囊妙计和赵云的勇武之谋 ...

  6. Python学习笔记:字符串提取和清洗

    文章目录 一.正则表达式 1.规范表示 2.数量表示 3.逻辑运算符 二.Python正则表达式模块 - re 三.字符串清洗 1.清洗字符串中的数字 2.清除网址中的垃圾字符 四.字符串提取 1.提 ...

  7. Python学习笔记五:条件循环

    文章目录 一.再谈print和import 1. 打印多个参数 2. 导入时重命名 二.赋值魔法 1. 序列解包 2. 链式赋值 3. 增强赋值 三.代码块:缩进的乐趣 四.条件和条件语句 1. 这正 ...

  8. Python学习笔记:返回函数

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  9. Python学习笔记:字符串和编码

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  10. Python学习笔记之字典(二)

    遍历字典:一个Python字典可能包含很多个键值对,在需要获取其数据时,就需要对这个进行遍历,Python支持对字典遍历.字典可用于以各种方式存储信息,其中有多种遍历字典的方式:可遍历字典的所有键值对 ...

最新文章

  1. 【文本分类】基于BERT预训练模型的灾害推文分类方法、基于BERT和RNN的新闻文本分类对比
  2. SQLServer DBA 三十问
  3. etcd分布式之负载均衡
  4. ON_NOTIFY消息中的id坑了我一天
  5. 通过wifi 连接 adb 到 手机
  6. 判断list集合不为空
  7. 5分钟从零构建第一个 Apache Flink 应用
  8. 如何使用FinalShell、FileZilla上传网站代码到服务器?这两个都是神器
  9. setTimeout(fn,0)
  10. 前端学习(2020)vue之电商管理系统电商系统之完成商品添加操作
  11. windows 小技巧
  12. 企业架构规划及服务器优化参数
  13. 串口接收数据转换成double型
  14. XMLHttpRequest.responseType
  15. 「大数据知识体系总结(2021版)」开放下载了!
  16. IP变更导致fdfs文件上传服务不可用解决流程
  17. word如何让单页变横向
  18. 关于程序的入口函数(main _start...)
  19. 机器人遛机器狗,估计不久能看到了
  20. 【简单的密码生成器】

热门文章

  1. 类型的权限已失败 SqlClientPermission
  2. mysql怎么设置主键增长序列_mysql 如何设置自动增长序列 sequence(一)
  3. Spark Streaming之容错机制以及事务语义
  4. server安装 sql 发生mof语法错误_WIN7系统无法安装server2008R2,提示语法MOF错误
  5. (5)vivado不能生成bit文件(学无止境)
  6. (99)利用任务task实现单字节乘法功能,面试必问(二十三)(第20天)
  7. (50)Xilinx Multiplier IP核配置(十一)(第10天)
  8. (22)FPGA面试技能提升篇(MicroBlaze、PowerPC)
  9. STM32F103:二.(5)控制HC-SR04超声波
  10. efcore 批量_EFcore使用EFCore.BulkExtensions 批量增加、删除、修改