字符串

  • 作用: 名字,性别,国籍,地址等描述信息
  • 定义: 在单引号、双引号、三引号内,由一串字符组成

优先掌握的操作:

  • 按索引取值(正向取+反向取):只能取
  • 切片(顾头不顾尾,步长)
  • 长度len
  • 成员运算in和not in
  • 移除空白strip
  • 切分split
  • 循环

strip移除空白

name='*egon**'
print(name.strip('*'))
print(name.lstrip('*'))
print(name.rstrip('*'))

判断指定字符是否在结尾或开对,返回True或False

name='alex_SB'
print(name.endswith('SB'))            #判断字给定字符串是否在结尾,如果在则返回True,不在则为False
------
True
print(name.startswith('alex'))           #判断给定字符串是否在开头,如果在则返回True,不在则为False
----
True

字符串替换replace方法

name='alex say :i have one tesla,my name is alex'
print(name.replace('alex','SB',1))                #替换,把alex替换为SB,1表示只替换匹配到的第一个字符串
-----
SB_SB

自定义格式format的三种玩法

  #format,自定义格式,注意中间的空格。把format后面的字符串放入大括号中。
res='{} {} {}'.format('egon',18,'male')
print(res)
--------
egon 18 male

#按照输入的位置,按0,1,2,3指定位置排列。
res='{1} {0} {1}'.format('egon',18,'male')
print(res)
---
18 egon 18

#设置变量,指定变量的位置,format后面的输入顺序就不重要了。
res='{name} {age} {sex}'.format(sex='male',name='egon',age=18)
print(res)
---
egon 18 male

查找字符串中索引位置find,rfind,index,rindex,count方法

name='egon say hello'
print(name.find('0',1,3))  #查找0,顾头不顾尾,找不到则返回-1不会报错,找到了则显示索引
----
-1

#同上,但是找不到会报错
print(name.index('e',2,4))
---
ValueError: substring not found

#顾头不顾尾,如果不指定范围则查找所有
print(name.count('e',1,3))
---
0

指定分隔符-split,把一串字串切为列表。

name='root:x:0:0::/root:/bin/bash'
print(name.split(':')) #指定冒号为默认分隔符 为空格
---
['root', 'x', '0', '', '/root/', '/bin/bash']            

#只想拿到顶级目录
name='C:/a/b/c/d.txt'
print(name.split('/',1))
---
['C:', 'a/b/c/d.txt']

#从右开始切分
name='a|b|c'
print(name.rsplit('|',1))
---
['a|b', 'c']

join

#可迭代对象必须都是字符串,把tag加入到对应的字符串中。
tag='-'
print(tag.join(['egon','say','hello','world']))
---
egon-say-hello-world

字符串居中和填充-center

name='egon'
#30为总字符串,让name在30个字符中居中,不够的用-填充。
print(name.center(30,'-'))
---
#30为总字符串,让name在30个字符中居中,不够的用-填充。

字符串靠左和填充-ljust

#30为总字符串,让name在30个字符中排最左,不够用*填充
name='egon'
print(name.ljust(30,'*'))
---
egon**************************

字符串靠右和填充-rjust

 #30为总字符串,让name在30个字符中排最右,不够用*填充。
name='egon'
print(name.rjust(30,'*'))
---
**************************egon

#用0填充-zfill

name='egon'
print(name.zfill(50))   #50个字符,name在最右。
---
0000000000000000000000000000000000000000000000egon

指定制表符的长度-expandtabs

name='egon\thello'        #\t制表符
print(name)
---
egon    hello

name='egon\thello'
print(name.expandtabs(1))    #1为指定多少个字隔做为分隔符号。
---
egon hello

大小定替换-lower,upper

 #全替换为小写
name='Egon'
print(name.lower())
---
egon

#全替换为大写
print(name.upper())
---
EGON

首字母大写-captalize

name='egon'
print(name.capitalize())
---
Egon

大小写翻转-swapcase

print(name.swapcase())
---
eGoN

每个单词的首字母大写-title

msg='egon say hi'
print(msg.title())
---
Egon Say Hi

is数字系列

在python中

num1=b'4' #bytes

num2=u'4' #unicode,python3中无需加u就是unicode

num3='四' #中文数字

num4='IV' #罗马数字

isdigt:bytes,unicode

#isdigit来判断字符串是否为数字
#0-9数字类型返回True
print(num1.isdigit())   #True
print(num2.isdigit())   #True

#非0-9数字类型返回False
print(num3.isdigit())   #False
print(num4.isdigit())   #False

isnumberic:unicode中文数字,罗马数字

#bytes类型无isnumberic方法
print(num2.isnumeric()) #True
print(num3.isnumeric()) #True
print(num4.isnumeric()) #True

三者不能判断浮点数

num5='4.3'
print(num5.isdigit())
print(num5.isdigit())
print(num5.isdigit())

总结:

最常用的isdigit,可以判断bytes和unicode类型,这也是最常见的数字应用场景

如果要判断中文数字或罗马数字,则需要用到isnumeric

is其他

print('===>')
name='egon123'
print(name.isalnum())   #判断字符串是否由字母或数字组成
print(name.isalpha())   #判断字符串是否只由字母组成

print(name.isidentifier())
print(name.islower())
print(name.isupper())
print(name.isspace())
print(name.istitle())

Python字符串详解的更多相关文章

  1. 13.Python字符串详解(包含长字符串和原始字符串)

    简单地理解,字符串就是“一串字符”,也就是用引号包裹的任何数据,比如“Hello,Charlie”是一个字符串,“12345”也是一个字符串. Python 要求,字符串必须使用引号括起来,可以使用单 ...

  2. Python变量和字符串详解

    Python变量和字符串详解 几个月前,我开始学习个人形象管理,从发型.妆容.服饰到仪表仪态,都开始做全新改造,在塑造个人风格时,最基础的是先了解自己属于哪种风格,然后找到参考对象去模仿,可以是自己欣 ...

  3. [转] Python Traceback详解

    追莫名其妙的bugs利器-mark- 转自:https://www.jianshu.com/p/a8cb5375171a   Python Traceback详解   刚接触Python的时候,简单的 ...

  4. python 数据类型详解

    python数据类型详解 参考网址:http://www.cnblogs.com/linjiqin/p/3608541.html 目录1.字符串2.布尔类型3.整数4.浮点数5.数字6.列表7.元组8 ...

  5. python数据类型详解(全面)

    python数据类型详解 目录1.字符串2.布尔类型3.整数4.浮点数5.数字6.列表7.元组8.字典9.日期 1.字符串1.1.如何在Python中使用字符串a.使用单引号(')用单引号括起来表示字 ...

  6. Python Collections详解

    Python Collections详解 collections模块在内置数据结构(list.tuple.dict.set)的基础上,提供了几个额外的数据结构:ChainMap.Counter.deq ...

  7. 转 python数据类型详解

    python数据类型详解 目录 1.字符串 2.布尔类型 3.整数 4.浮点数 5.数字 6.列表 7.元组 8.字典 9.日期 1.字符串 1.1.如何在Python中使用字符串 a.使用单引号(' ...

  8. python爬虫---详解爬虫分类,HTTP和HTTPS的区别,证书加密,反爬机制和反反爬策略,requests模块的使用,常见的问题

    python爬虫---详解爬虫分类,HTTP和HTTPS的区别,证书加密,反爬机制和反反爬策略,requests模块的使用,常见的问题 一丶爬虫概述       通过编写程序'模拟浏览器'上网,然后通 ...

  9. SQL Server日期时间格式转换字符串详解

    本文我们主要介绍了SQL Server日期时间格式转换字符串的相关知识,并给出了大量实例对其各个参数进行对比说明,希望能够对您有所帮助. 在SQL Server数据库中,SQL Server日期时间格 ...

随机推荐

  1. window下mySql数据库设置密码

    方法一:用setpassword命令 首先登陆MySQL:mysql -u root 格式:mysql> set password for 用户名@localhost = password('新 ...

  2. 关于JS中变量提升的规则和原理的一点理解

        关于变量提升,以前在一些教程和书籍上都听到过,平时开发中也知道有这个规律,但是今天突然在一个公开课中听到时,第一反应时一脸懵逼,然后一百度,瞬间觉得好熟悉啊,差点被这个概念给唬住了,不信我给你 ...

  3. JavaScript基础知识(if、if else、else if、while、switch...case语句)

    13.语句 概念:就是分号(:) 代表一条语句的结束 习惯:一行只编写一条语句:一行编写多条语句(代码可读性较差) 语句块:可以包含多条语句     "{ }"将多条语句包裹 u ...

  4. web中的简单全选反选

    <html> <body> <table> <tr> <th><input type="checkbox" onc ...

  5. kafka Topic 与 Partition

    Topic在逻辑上可以被认为是一个queue队列,每条消息都必须指定它的topic,可以简单理解为必须指明把这条消息放进哪个queue里.为 了使得Kafka的吞吐率可以水平扩展,物理上把topic分 ...

  6. canvas图像处理汇总

    一.canvas的情况 canvas自从出来了之后,在前端的图像处理上面提供了各种各样的遍历,虽然很多的操作其实都是要应用到算法的,但是这个也给前端提供了很多的可能性,其中最终要的一个canvas函数 ...

  7. 学习web前端技术的笔记,仅供自己查阅备忘,图片上传预览

    <!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8" ...

  8. bzoj:1666: [Usaco2006 Oct]Another Cow Number Game 奶牛的数字游戏

    Description 奶牛们又在玩一种无聊的数字游戏.输得很郁闷的贝茜想请你写个程序来帮她在开局时预测结果.在游戏的开始,每头牛都会得到一个数N(1<=N<=1,000,000).此时奶 ...

  9. COGS 144. [USACO Dec07] 魅力手镯【01背包复习】

    144. [USACO Dec07] 魅力手镯 ★   输入文件:charm.in   输出文件:charm.out   简单对比 时间限制:1 s   内存限制:8 MB 译 by CmYkRgB1 ...

  10. hdu_1754I Hate It(线段树)

    hdu_1754I Hate It(线段树) 标签: 线段树 题目链接 题意: 中文题意...不多说了,线段树基础题 直接上代码: #include<cstdio> #include< ...