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)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才 ...
随机推荐
- C#连接各种数据库的方法(文档)
1.C#连接连接Access程序代码: ------------------------------------------------------------------------------- ...
- JMeter基础之-使用技巧
在这此对新版本jmeter的学习+温习的过程,发现了一些以前不知道的功能,所以,整理出来与大分享.本文内容如下. 如何使用英文界面的jmeter 如何使用镜像服务器 Jmeter分布式测试 启动Deb ...
- 嵌入式驱动开发之dsp fpga通信接口---spi串行外围接口、emif sram接口
-----------------------------------------author:pkf ------------------------------------------------ ...
- html 复选框(checkbox)和单选框(radio)与文字水平垂直居中对齐
对 input与label同时设置CSS input,label{ vertical-align:middle; }
- style标签进行实时编辑及修改css(转)
心得: style也是一个标签,那么也可以使用css对其进行编辑 html5新属性 contenteditable,可以让标签元素处于可编辑状态,对于style标签也适用 为了不影响head标签里的s ...
- 一个Demo展示Storyboard的强大
本文转载至http://www.cocoachina.com/ios/20150330/11440.html 今天我通过完成一个长按cell删除的Demo,向你们展示熟练运用storyboard和Au ...
- null!= xxx 和 xxx!=null有什么区别?
从意义上将没有区别,从编程规范上讲,第一种写法是为了防止写成:null = xxx
- 【BZOJ3875】[Ahoi2014&Jsoi2014]骑士游戏 SPFA优化DP
[BZOJ3875][Ahoi2014&Jsoi2014]骑士游戏 Description [故事背景] 长期的宅男生活中,JYY又挖掘出了一款RPG游戏.在这个游戏中JYY会扮演一个英勇的 ...
- CodeForces 156B Suspects(枚举)
B. Suspects time limit per test 2 seconds memory limit per test 256 megabytes input standard input o ...
- 巨蟒python全栈开发-第9天 初识函数
一.今日主要内容总览(重点) 1.什么是函数? f(x)=x+1 y=x+1 函数是对功能或者动作的封装2.函数的语法和定义 def 函数名(): 函数体 调用:函数名()3.关于函数的返回值 ret ...