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)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才 ...
随机推荐
- 理解Java中字符流与字节流
1. 什么是流 Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列.和水流一样,Java中的流也具有一个"流动的方向",通常可 ...
- 快速排序的c++实现 和 python 实现
最近在学python,其中有个要求实现快速排序的练习,就顺便复习了c++的快速排序实现. 快速排序的基本思想是,通过一轮的排序将序列分割成独立的两部分,其中一部分序列的关键字(这里主要用值来表示)均比 ...
- 常见sql 写法总结
关于如何获取1对多数据中最大条数据的写法 例子: LEFT JOIN ( SELECT * FROM table AS n1 WHERE n1.ID IN ( SELECT MAX(id) FROM ...
- 经典sql 语句大全
一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- ...
- 在项目中用过Spring的哪些方面?及用过哪些Ajax框架?
在项目中用过Spring的哪些方面?及用过哪些Ajax框架? 解答:在项目使用过Spring IOC ,AOP,DAO,ORM,还有上下文环境. 在项目使用过Ext,Juery等Ajax框架.
- JZOJ.5286【NOIP2017模拟8.16】花花的森林
Description
- 【bzoj4518】[Sdoi2016]征途 斜率优化dp
原文地址:http://www.cnblogs.com/GXZlegend/p/6812435.html 题目描述 Pine开始了从S地到T地的征途. 从S地到T地的路可以划分成n段,相邻两段路的分界 ...
- Java String.replaceAll() 与后向引用(backreference)
问题 昨天看到一篇博文,文中谈到一道 Java 面试题: 给定一字符串,若该字符串中间包含 "*",则删除该 "*":若该字符串首字符或尾字符为 "* ...
- net.mvc中并发限制
浏览器限制 会话限制 线程限制 这篇文章讲的很详细: https://weblogs.asp.net/imranbaloch/concurrent-requests-in-asp-net-mvc 明白 ...
- angular.js记录
http://www.runoob.com/angularjs/angularjs-tutorial.html 第一部分:快速上手1.1 angularJS四大核心特性1.2 自己动手搭建开发,调试, ...