python之str (字符型)
用途:
- 存储少量的数据,+ *int 切片, 其他操作方法
- 切片还是对其进行任何操作,获取的内容全部是strl类型
- 存储数据单一
格式: 在python中用引号引起来的就是字符串
'今天吃了没?'
1. 索引切片
索引顺序如下图:

name = "meet,alex,wusir,wangsir,Eva_j"
01234567 (索引) #从左向右数数
-4-3-2-1 (索引) #从右向左数数
格式:
区间[起始位置:终止位置]
原则:
顾头不顾腚
例题:
name = 'hello'
name1 = name[:3]
print(name1) #输出结果:hel 根据顾头不顾尾原则后面的l被丢弃
切片字符的拼接:
name = "meet,alex,wusir,wangsir,Eva_j"
a = name[0]
b = name[1]
print(a + b)
# 输出结果
# me
2. 步长:
格式:
默认是1 [起始位置:终止位置:步长]
步长就是你走路迈的步子
例题:
name = "meet,alex,wusir,wangsir,Eva_j"
print(name[0:10:2])
# 输出结果
# me,lx
# 个人见解
# 这里的2为步长,从0(m)开始到10(,)结束,m一定要取,然后开始数0(m)取走、1(e)、2(e)取走、1(t)、2(,)取走、1(a)、2(l)取走、1(e)、2(x)取走、1(,)
识记点:
- 切片如果终止位置超出了不报错
print(name[0:100])不报错 - 索引取值的时候超出了索引的范围会报错
print(name[100])报错原因:取不到100索引的值 - 字符串,列表,元组 -- 都是有索引(下标)
- 索引是准确的定位某个元素
- 从左向右 0,1,2,3
- 从右向左 -1,-2,-3,-4
- 支持索引的都支持切片 [索引]
3. 反转
格式:
区间[起始位置:终止位置:-1]
例题:
name = "meet,alex,wusir,wangsir,Eva_j"
print(name[::-1])
输出结果
j_avE,risgnaw,risuw,xela,teem
字符串操作方法:
识记:
字符串的类型以 . 来调用 才叫做字符串方法
upper (全部大写)
例题:
name = "meet"
name1 = name.upper()
print(name1)
# 输出结果
# MEET
lower (全部小写)
例题:
name = "MEET"
name1 = name.lower()
print(name1)
# 输出结果
# meet
练习题: 验证码
yzm = "o98K"
input_yzm = input("请输入验证码(o98K):")
if yzm.upper() == input_yzm.upper():
print("正确")
else:
print("错误")
id (获取内存地址)
例题:
name = 'alex'
print(id(name))
# 输出结果
# 4543793504
startswith (以什么开头)
例题:
name = "alex"
print(name.startswith('a'))
# 判断name变量是以a开的头的
endswith (以什么结尾)
例题:
name = "zhuxiaodidi"
print(name.endswith("i"))
# 判断name就是以i结尾
count (统计)
例题:
# name = "zhudidi"
# print(name.count("zhu"))
# 查询某个内容出现的次数
replace (替换) *********
格式:
str.replace('n','s') 前面是要被替换的内容 后面是新的
例题:
# name = "alexnbnsnsn"
# name1 = name.replace('n','s') # 替换 前面是老的,后面是新的
# name1 = name.replace('n','s',2) # 替换 前面是老的,后面是新的 2是替换的次数
# print(name1)
strip (除去头尾两边的空格/换行符) *********
例题:
# name = " alex "
# name1 = name.strip() # 可以写想要去掉的内容
# print(name1)
# if name == "alex":
# print(666)
# name = " alex "
# print(name.strip())
split (分割) *********
例题:
name = 'alex,wusir'
print(name.split(","))
# ['alex', 'wusir']
# 默认是以空格分割 ,也可以自己制定分割
# 分割后返回的内容是一个列表
分割后返回的内容是一个列表
1. 无参数的情况
a="my name is john"
b="my\nname\nis\john"
c="my\tname\tis\john"
a=a.split()
b=b.split()
c=c.split()
print(a)
print(b)
print(c)
输出:
['my', 'name', 'is', 'john']
['my', 'name', 'is', 'john']
['my', 'name', 'is', 'john']
---------------------
2. 有参数的情况
d="my,name,is,john"
e="my;name;is;john"
f="my-name-is-john"
d=d.split(",")
e=e.split(";")
f=f.split("-")
print(d)
print(e)
print(f)
输出:
['my', 'name', 'is', 'john']
['my', 'name', 'is', 'john']
['my', 'name', 'is', 'john']
---------------------
3. 当具有两个参数的情况
a="My,name,is,john,and,I,am,a,student"
b1=a.split(",",1)
b2=a.split(",",2)
b8=a.split(",",8)
b9=a.split(",",9)
print(b1)
print(b2)
print(b8)
print(b9)
输出:
['My', 'name,is,john,and,I,am,a,student']
['My', 'name', 'is,john,and,I,am,a,student']
['My', 'name', 'is', 'john', 'and', 'I', 'am', 'a', 'student']
['My', 'name', 'is', 'john', 'and', 'I', 'am', 'a', 'student']
---------------------
format (第三种字符串格式化)
三种方法:
- 按照位置顺序去填充的
- 按照索引位置去填充
- 关键字填充(指名道姓 填充)
例题:
# name = "alex{}wusir{}"
# name1 = name.format('结婚了',"要结婚了") # 按照位置顺序去填充的
# name = "alex{1}wusir{0}"
# name1 = name.format('结婚了',"要结婚了") # 按照索引位置去填充
# name = "alex{a}wusir{b}"
# name1 = name.format(a="结婚了",b="马上结婚") # 指名道姓 填充
# print(name1)
isdigit (判断是不是阿拉伯数字)
例题:
# name = "②"
# print(name.isdigit())
isdecimal (判断是不是十进制 -- 用它来判断是不是数字)
例题:
# name = "666"
# print(name.isdecimal())
isalpha (判断的是中文和字母)
例题:
# name = "alexs你好"
# print(name.isalpha())
isalnum (判断的是不是字母,中文和阿拉伯数字)
例题:
# name = "alex666"
# print(name.isalnum())
python之str (字符型)的更多相关文章
- 字符型图片验证码识别完整过程及Python实现
字符型图片验证码识别完整过程及Python实现 1 摘要 验证码是目前互联网上非常常见也是非常重要的一个事物,充当着很多系统的 防火墙 功能,但是随时OCR技术的发展,验证码暴露出来的安全问题也越 ...
- 基于python语言的tensorflow的‘端到端’的字符型验证码识别源码整理(github源码分享)
基于python语言的tensorflow的‘端到端’的字符型验证码识别 1 Abstract 验证码(CAPTCHA)的诞生本身是为了自动区分 自然人 和 机器人 的一套公开方法, 但是近几年的 ...
- Python识别字符型图片验证码
前言 验证码是目前互联网上非常常见也是非常重要的一个事物,充当着很多系统的 防火墙 功能,但是随时OCR技术的发展,验证码暴露出来的安全问题也越来越严峻.本文介绍了一套字符验证码识别的完整流程,对于验 ...
- python学习(二):基本数据类型:整型,字符型
整型: type():显示数据类型 # 整型,int # python3里,不管数字有多大,都是int类型 # python2里,有大小区分,长整型:long int a = " print ...
- python的str,unicode对象的encode和decode方法, Python中字符编码的总结和对比bytes和str
python_2.x_unicode_to_str.py a = u"中文字符"; a.encode("GBK"); #打印: '\xd6\xd0\xce\xc ...
- [验证码识别技术] 字符型验证码终结者-CNN+BLSTM+CTC
验证码识别(少样本,高精度)项目地址:https://github.com/kerlomz/captcha_trainer 1. 前言 本项目适用于Python3.6,GPU>=NVIDIA G ...
- JSON转换类(一)--过滤特殊字符,格式化字符型、日期型、布尔型
/// <summary> /// 过滤特殊字符 /// </summary> private static string String2Json(String s) { St ...
- python的str,unicode对象的encode和decode方法
python的str,unicode对象的encode和decode方法 python中的str对象其实就是"8-bit string" ,字节字符串,本质上类似java中的byt ...
- 基于tensorflow的‘端到端’的字符型验证码识别源码整理(github源码分享)
基于tensorflow的‘端到端’的字符型验证码识别 1 Abstract 验证码(CAPTCHA)的诞生本身是为了自动区分 自然人 和 机器人 的一套公开方法, 但是近几年的人工智能技术的发展 ...
随机推荐
- 2.25-2.26 MapReduce执行流程Shuffle讲解
原文链接:https://langyu.iteye.com/blog/992916 Shuffle过程是MapReduce的核心,也被称为奇迹发生的地方.要想理解MapReduce, Shuffle是 ...
- Python学习之旅—生成器对象的send方法详解
前言 在上一篇博客中,笔者带大家一起探讨了生成器与迭代器的本质原理和使用,本次博客将重点聚焦于生成器对象的send方法. 一.send方法详解 我们知道生成器对象本质上是一个迭代器.但是它比迭代器对 ...
- the little schemer 笔记(9)
第九章 ...and Again, and Again, and, Again, ... 你想来点鱼子酱吗? 那就去找它吧. (looking a lat)是什么,其中a是 caviar, lat是( ...
- 跟我一起玩Win32开发(5):具有单选标记的菜单
帅哥们,美女们,下午好,我又来误人子弟,请做好准备. 今天,我们的目的是,想要实现下图中的这种菜单效果. 就是一种类似单选按钮的菜单,多个菜单项中,同时只有一个会被选中. 首先,我们在资源编辑器中,设 ...
- 从输入url到浏览器显示页面的过程
总体来说有两个大的方面: 一.网络通信连接部分.二.页面渲染展示部分. 细分详细过程: (网络通信) 1.输入url. 2.DNS解析域名. 3.拿到IP地址后,浏览器向服务器建立tcp连接. 4.浏 ...
- 在脚本中输入密码执行sudo,可关机等。
如下,makexxx.sh make update-api make echo "password" | sudo -S shutdown -h now
- java学习第二章
- 外文翻译 《How we decide》多巴胺的预言 第二节
本节阅读感言:一朝被蛇咬,十年怕井绳.我们的大脑时刻跟新着本体的预测机制. 上一节提到的喇叭,苹果汁实验可以不断的延伸扩展,在播放喇叭前用强光照射...强光照射前放置特定的图片...都可以扩展多巴胺相 ...
- RPC之远程过程调用
一. 简介 将一个函数运行在远程计算机上并且等待获取那里的结果,这个称作远程过程调用(Remote Procedure Call)或者 RPC. RPC是一个计算机通信协议. 1. 类比: 将计算机服 ...
- 个人作业(alpha)
这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/ 这个作业要求在哪里 https://edu.cn ...