Python中你不知道的strip()函数的妙用
【开胃小菜】
当提到python中strip方法,想必凡接触过python的同行都知道它主要用来切除空格。有以下两种方法来实现。
方法一:用内置函数
if name == 'main' : str = ' Hello world ' print '[%s]' %str.strip()
方法二:调用string模块中方法
import string if name == 'main' : str = ' Hello world ' print '[%s]' %string.strip(str)
不知道大家是否知道这两种调用有什么区别?以下是个人一些看法
Ø str.strip()是调用python的内置函数,string.strip(str)是调用string模块中的方法
Ø string.strip(str)是在string模块定义的。而str.strip()是在builtins模块中定义的
问题一: 如何查看一个模块中方法是否在内置模块有定义?
用dir(模块名)看是否有'builtins'属性。
例如:查看string模块
print dir(string)
问题二、 如何查看python中所有的内置函数
print dir(sys.modules[ 'builtin' ])
问题三 、如何查看内置模块中内置函数定义
print help(builtins)
以上一些都是大家平时都知道的,接下来就进入本文的主题:
【饭中硬菜】
首先请大家看一下下列程序的运行结果:
if name == 'main' : str = 'hello world' print str.strip( 'hello' ) print str.strip( 'hello' ).strip() print str.strip( ' heldo ' ).strip() #sentence 1 stt = 'h1h1h2h3h4h' print stt.strip( 'h1' ) #sentence 2 s = '123459947855aaaadgat134f8sfewewrf7787789879879' print s.strip( '0123456789' ) #sentence 3
结果见下页:
运行结果:
world world wor 2h3h4 aaaadgat134f8sfewewrf
你答对了吗?O(∩_∩)O~
如果你都答对了,在此处我奉上32个赞 …
结果分析:
首先我们查看一下string模块中的strip源码:
# Strip leading and trailing tabs and spaces def strip (s, chars= None ): """strip(s [,chars]) -> string Return a copy of the string swith leading and trailing whitespace removed. If chars is given and not None,remove characters in chars instead. If chars is unicode, S will beconverted to unicode before stripping. """ return s.strip(chars)
冒昧的翻译一下: 该方法用来去掉首尾的空格和tab。返回一个去掉空格的S字符串的拷贝。如果参数chars不为None有值,那就去掉在chars中出现的所有字符。如果chars是unicode,S在操作之前先转化为unicode.
下面就上面里子中的sentence1 \2 \3做个说明:
str = 'hello world' print str.strip( ' heldo ' ).strip()
result:wor 执行步骤: elloworld lloworld oworld oworl worl wor wor
具体代码执行流程:
print str.strip( 'h' ) print str.strip( 'h' ).strip( 'e' ) print str.strip( 'h' ).strip( 'e' ).strip( 'l' ) print str.strip( 'h' ).strip( 'e' ).strip( 'l' ).strip( 'd' ) print str.strip( 'h' ).strip( 'e' ).strip( 'l' ).strip( 'd' ).strip( 'o' ) print str.strip( 'h' ).strip( 'e' ).strip( 'l' ).strip( 'd' ).strip( 'o' ).strip( 'l' ) print str.strip( 'h' ).strip( 'e' ).strip( 'l' ).strip( 'd' ).strip( 'o' ).strip( 'l' ).strip()
不知道你是否看懂其中的奥妙,我是在项目经理陕奋勇帮助下,一起才发现这个规律。
现在稍微总结一下:
s.strip(chars)使用规则:
首先遍历chars中的首个字符,看看在S中是否处于首尾位置,如果是就去掉。把去掉后的新字符串设置为s,继续循环,从chars中的首个字符开始。如果不在,直接从chars第二个字符开始。一直循环到,s中首尾字符都不在chars中,则循环终止。
关键点:查看 chars 中字符是否在 S 中首尾
看完这个方法发现python源码开发人员太牛X了,这么经典算法都想的出。
【饭后糕点】
这个方法主要应用于按照特定规则去除两端的制定字符。如果sentence3就是个很好的应用。
例如: 截取字符串中两端数字,或者获取特性字符第一次和最后一次出现之间的字符串等等。
【相关推荐】
1. Python免费视频教程
3. python基础入门之教你如何用strip()函数 去空格\n\r\t
4. 详解python中strip()和split()的使用方法
以上是Python中你不知道的strip()函数的妙用的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

PHP和Python各有优势,选择依据项目需求。1.PHP适合web开发,尤其快速开发和维护网站。2.Python适用于数据科学、机器学习和人工智能,语法简洁,适合初学者。

Debian系统中的readdir函数是用于读取目录内容的系统调用,常用于C语言编程。本文将介绍如何将readdir与其他工具集成,以增强其功能。方法一:C语言程序与管道结合首先,编写一个C程序调用readdir函数并输出结果:#include#include#includeintmain(intargc,char*argv[]){DIR*dir;structdirent*entry;if(argc!=2){

在Debian系统上配置HTTPS服务器涉及几个步骤,包括安装必要的软件、生成SSL证书、配置Web服务器(如Apache或Nginx)以使用SSL证书。以下是一个基本的指南,假设你使用的是ApacheWeb服务器。1.安装必要的软件首先,确保你的系统是最新的,并安装Apache和OpenSSL:sudoaptupdatesudoaptupgradesudoaptinsta

要在有限的时间内最大化学习Python的效率,可以使用Python的datetime、time和schedule模块。1.datetime模块用于记录和规划学习时间。2.time模块帮助设置学习和休息时间。3.schedule模块自动化安排每周学习任务。

在Debian上开发GitLab插件需要一些特定的步骤和知识。以下是一个基本的指南,帮助你开始这个过程。安装GitLab首先,你需要在Debian系统上安装GitLab。可以参考GitLab的官方安装手册。获取API访问令牌在进行API集成之前,首先需要获取GitLab的API访问令牌。打开GitLab仪表盘,在用户设置中找到“AccessTokens”选项,生成一个新的访问令牌。将生成的

Apache是互联网幕后的英雄,不仅是Web服务器,更是一个支持巨大流量、提供动态内容的强大平台。它通过模块化设计提供极高的灵活性,可根据需要扩展各种功能。然而,模块化也带来配置和性能方面的挑战,需要谨慎管理。Apache适合需要高度可定制、满足复杂需求的服务器场景。

PHP和Python各有优劣,选择取决于项目需求和个人偏好。1.PHP适合快速开发和维护大型Web应用。2.Python在数据科学和机器学习领域占据主导地位。
