python全栈开发从入门到放弃之字符串的应用
1、strip
strip 脱去(...的)衣服
去掉左右两边的空白msg=' hellprint(msg)
1 print(msg.strip()) #去掉左右两边的空白
2
3 hello
4 hello
5
6 msg='********hello************'
7 print(msg)
8 print(msg.strip('*')) #指定的去掉左右两边的*
9 ********hello************
10
11 hello
12 (1)lstrip 指定去掉左边的*
13 # print(msg.lstrip('*'))
14 msg='********hello************'
15 print(msg)
16 print(msg.lstrip('*')) #指定去掉左边的*
17 ********hello************
18 hello************
19
20 (2)rstrip 指定去掉右边的连续的*
21 # print(msg.rstrip('*'))
22 msg='********hello************'
23 print(msg)
24 print(msg.rstrip('*')) #指定去掉右边的连续的*
25 ********hello************
26 ********hello
#strip的用处
# while True:
# name=input('user: ').strip()
# password=input('password: ').strip()
#
# if name == 'egon' and password == '123':
# print('login successfull')
2、split 切分
1 info='root:x:0:0::/root:/bin/bash'
2 print(info[0]+info[1]+info[2]+info[3])
3 root info='root:x:0:0::/root:/bin/bash'
print(info[0]+info[1]+info[2]+info[3]) info='root:x:0:0::/root:/bin/bash'
print(info[0]+info[1]+info[2]+info[3])
info='root:x:0:0::/root:/bin/bash'
print(info[0]+info[1]+info[2]+info[3]) user_l=info.split(':') #用内置方法以‘:’能把字符串类型以列表的形式呈现出来,来取值
print(user_l[0]) # msg='hello world egon say hahah'
# print(msg.split()) #默认以空格作为分隔符
msg='hello world egon say hahah'
print(msg.split()) #默认以空格为分隔符
['hello', 'world', 'egon', 'say', 'hahah'] cmd='download|xhp.mov|3000'
# cmd_l=cmd.split('|')
# print(cmd_l[1])
# print(cmd_l[0]) # print(cmd.split('|',1))
用处
# while True:
# cmd=input('>>: ').strip()
# if len(cmd) == 0:continue
# cmd_l=cmd.split()
# print('命令是:%s 命令的参数是:%s' %(cmd_l[0],cmd_l[1]))
3、len 长度
 1 # print(len('hell 123'))
 2 print(len('hell 123')) #查看字符串的长度
 8   #字符串长度为8
4、索引
根据索引来取出子字符串
msg='hello world
print(msg[1:3]) #1 2
print(msg[1:4]) #1 2 3
msg='hello world'
print(msg[1:3]) #切出字符串子集但顾头不顾尾
el
5、混合应用
oldboy_age=84
while True:
age=input('>>: ').strip()
if len(age) == 0:continue
if age.isdigit():
age=int(age)
else:
print('must be int')
6、endswith
#startswith,endswith
# name='alex_SB'
# print(name.endswith('SB')) #查找字符串结尾里是否有输入的参数,有着返回True,没有返回False
# print(name.startswith('alex')) #查找开头是否有输入的参数,有着返回True,没有返回False
7、replace
#replace
# name='alex say :i have one tesla,my name is alex'
# print(name.replace('alex','SB',1))
name = 'alex say :i have one tesla,my name is alex'
print(name.replace('alex','SB',1)) #在开头和结尾添加指定字符
SB say :i have one tesla,my name is alex
8、占位符
# %s对应所有字符 一一对应后面的元素
print('my name is %s my age is %s my sex is %s' %('egon',18,'male'))
#把{}当作一个占位符,.format调用对应每一个后面输入的字符
print('my name is {} my age is {} my sex is {}'.format('egon',18,'male'))
my name is egon my age is 18 my sex is male
#根据{}里的索引来对应值,当{}没有值时默认为一一对应。
print('my name is {0} my age is {1} my sex is {0}:{2}'.format('egon',18,'male'))
my name is egon my age is 18 my sex is egon:male
#根据{}里的输入的key来准确调用key对应的元素
print('my name is {name} my age is {age} my sex is {sex}'.format(
sex='male',
age=18,
name='egon'))
my name is egon my age is 18 my sex is male
9、find、index、count查找
#可以指定范围查找但顾头不顾尾,找到则返回该值的索引号,没有则返回-1不报错,
# find 查找
name='goee say hello'
print(name.find('e',1,3))
#index 查找
可以指定范围查找但顾头不顾尾,找到则返回该字符串的索引号,没有则报错
name='goee say hello'
print(name.index('s')) #count
指定参数,查找字符串里的元素,有则返回这个查找的值里有多少数,有1个就返回1,2个就返回2 等等,没有则返回0
name='aaaaaaaa aaaaa aaa'
print(name.count('a'))
16
10、join
#join
# info='root:x:0:0::/root:/bin/bash'
# print(info.split(':')) # l=['root', 'x', '0', '0', '', '/root', '/bin/bash']
# print(':'.join(l)) #join 两个物体连接处
指定分隔符默认,用:连接起来
l=['root', 'x', '', '', '', '/root', '/bin/bash']
print(':'.join(l))
root:x:0:0::/root:/bin/bash
11、lower,upper大小写转换
#lower,upper
# name='eGon'
# print(name.lower())
# print(name.upper())
将大写字母全转为小写字母
name = 'Egon'
print(name.lower())
egon 将小写字母全转为大写
name = 'Egon'
print(name.upper())
了解部分
1、expandtabs 指定参数多少个空格符
name='egon\thello'
print(name)
print(name.expandtabs(3))
egon hello
egon hello
2、center,ljust,rjust,zfill
以原有的变量的字符为中心两边添加指定数量的符号
name='egon'
print(name.center(30,'_'))
_____________egon_____________ ljust
原有元素左对齐后面添加指定数量的符号
name='egon'
print(name.ljust(30,'*'))
egon**************************
rjust
原有元素右对齐,往左边添加指定数量的符号
name='egon'
print(name.rjust(30,'*'))
3、captalize,swapcase,title
captalize
首字母大写,其余部分小写
name='eGOn'
print(name.capitalize())
Egon title
每个单词的首字母大写
msg='egon say hi'
print(msg.title()) swapcase
小写互相对调大写变小写,小写变大写
name='eGOn'
print(name.swapcase())
EgoN
#在python3中
4、元素判断
1 isdigit 是否为数字
2 判断字符串里是否为数字,是则返回True,不是则返回False
3
4 num0=''
5 num1=b'' #bytes
6 num2=u'' #unicode,python3中无需加u就是unicode
7 num3='四' #中文数字
8 num4='Ⅳ' #罗马数字
9
10 print(num0.isdigit())
11 print(num1.isdigit())
12 print(num2.isdigit())
13 print(num3.isdigit())
14 print(num4.isdigit())
#isdecimal:str,unicode
# num0='4'
# num1=b'4' #bytes
# num2=u'4' #unicode,python3中无需加u就是unicode
# num3='四' #中文数字
# num4='Ⅳ' #罗马数字
# print(num0.isdecimal())
# # print(num1.)
# print(num2.isdecimal())
# print(num3.isdecimal())
# print(num4.isdecimal()) isdecimal
判断一个数是否为十进制数,是则返回True,不是则返回False
num0=''
num1=b''
num2=u''
num3='四'
num4='Ⅳ'
print(num0.isdecimal())
print(type(num1))
print(num2.isdecimal())
print(num3.isdecimal())
print(num4.isdecimal())
True
<class 'bytes'>
True
False
False #isnumeric:str,unicode,中文,罗马
# num0='4'
# num1=b'4' #bytes
# num2=u'4' #unicode,python3中无需加u就是unicode
# num3='四' #中文数字
# num4='Ⅳ' #罗马数字
#
# print(num0.isnumeric())
# # print(num1)
# print(num2.isnumeric())
# print(num3.isnumeric())
# print(num4.isnumeric()) isnumeric 同质异构的
只针对与unicode字符的判断是否为数字,是则为真不是则为假
num0=''
num1=b''
num2=u''
num3='四'
num4='Ⅳ'
print(num0.isnumeric())
print(type(num1))
print(num2.isnumeric())
print(num3.isnumeric())
print(num4.isnumeric())
True
<class 'bytes'>
True
True
True
5、is其他 isalnum、isalpha
# name='egon123'
# print(name.isalnum()) #字符串由字母和数字组成
# name='asdfasdfa sdf'
# print(name.isalpha()) #字符串只由字母组成
#
isalnum 字符测试
测试变量里的元素是否为字母和数字组成
name = 'egon123'
print(name.isalnum())
True
python全栈开发从入门到放弃之字符串的应用的更多相关文章
- python全栈开发从入门到放弃之迭代器生成器
		
1.python中的for循环 l = [1,2,3,4,5,6] for i in l: #根据索引取值 print(i) 输出结果: 1 2 3 4 5 6 2.iterable 可迭代的 可迭 ...
 - python全栈开发从入门到放弃之socket网络编程基础
		
网络编程基础 一 客户端/服务器架构 1.硬件C/S架构(打印机) 2.软件C/S架构 互联网中处处是C/S架构 如黄色网站是服务端,你的浏览器是客户端(B/S架构也是C/S架构的一种) 腾讯作为服务 ...
 - python全栈开发从入门到放弃之递归函数的调用
		
1.递归效率低,需要在进入下一次递归时保留当前的状态,见51cto博客 解决方法是尾递归,即在函数的最后一步(而非最后一行)调用自动但是python又没有尾递归,且对递归层级做了限制 必须有一个明确的 ...
 - python全栈开发从入门到放弃之初识面向对象
		
面向过程 VS 面向对象 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优点是:极大的降低了写程序的复 ...
 - python全栈开发从入门到放弃之面向对象的三大特性
		
组合 class Course: def __init__(self,name,period,price): self.name = name self.period = period self.pr ...
 - python全栈开发从入门到放弃之socket并发编程多进程
		
1.1 multiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在python中大部分情况需要使用多进程 ...
 - python全栈开发从入门到放弃之socket并发编程多线程
		
一 threading模块介绍 multiprocess模块的完全模仿了threading模块的接口,二者在使用层面,有很大的相似性,因而不再详细介绍 二 开启线程的两种方式 from threadi ...
 - python全栈开发从入门到放弃之socket并发编程之协程
		
一.为什么会有协程 本节的主题是基于单线程来实现并发,即只用一个主线程(很明显可利用的cpu只有一个)情况下实现并发,为此我们需要先回顾下并发的本质:切换+保存状态 cpu正在运行一个任务,会在两种情 ...
 - python全栈开发从入门到放弃之网络基础
		
一.操作系统基础 操作系统:(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才 ...
 
随机推荐
- Chrome开发者工具之Network面板
			
Chrome开发者工具面板 面板上包含了Elements面板.Console面板.Sources面板.Network面板. Timeline面板.Profiles面板.Application面板.Se ...
 - [Buzz Today]2013.08.18
			
# Go 语言实现memcached:groupcache memcached作者Brad Fitzpatrick用Go语言重新实现了memcached. groupcache继承了memcached ...
 - Django - 安装Ckeditor
			
1. Ckedior.js CKEDITOR.editorConfig = function( config ) { // config.filebrowserUploadUrl="/blo ...
 - Linux设备驱动程序学习之分配内存
			
内核为设备驱动提供了一个统一的内存管理接口,所以模块无需涉及分段和分页等问题. 我已经在第一个scull模块中使用了 kmalloc 和 kfree 来分配和释放内存空间. kmalloc 函数内幕 ...
 - 2017 ACM区域赛(西安)  参赛流水账
			
day 0: 周五, 鸽了概统课,早上和紫金港的几位小伙伴一起打车去萧山机场,从咸阳机场到西北工业大学坐了五十多个站的公交车,感觉身体被掏空.晚上在宾馆本来打算补之前训练的一个题,想想还是先花个十来分 ...
 - Spring框架中的AOP技术----配置文件方式
			
1.AOP概述 AOP技术即Aspect Oriented Programming的缩写,译为面向切面编程.AOP是OOP的一种延续,利用AOP技术可以对业务逻辑的各个部分进行隔离,从使得业务逻辑各部 ...
 - 【BZOJ2836】魔法树 树链剖分
			
[BZOJ2836]魔法树 Description Input Output Sample Input 4 0 1 1 2 2 3 4 Add 1 3 1 Query 0 Query 1 Query ...
 - Blue Bird
			
Blue Bird 哈巴他一 他拉 毛套拉那 一套一太(他)卖咋西他 闹哇 啊哦一 啊哦一 啊闹扫啦 卡那西米哇马达 哦包爱 啦来字赛次那撒哇姨妈 次卡米哈几卖他阿娜塔爱套一大 靠闹看叫毛姨妈靠逃吧你 ...
 - 初识yeoman
			
最近开始新项目,在项目构建上面寻找合适的东西,grunt,bower到发现yeoman;学习了下,把一些东西记录下来然留着以后用. 1.什么是Yeoman Yeoman是Google的团队和外部贡献者 ...
 - java如何计算两个经纬度之间的距离?
			
/*计算两个经纬度之间的距离 结果单位:米 */public static double getDistance(String lat1Str, String lng1Str, String lat2 ...