python基础学习-字符串常见操作
字符串常见操作
索引
s = "abcdefg"
# 字符串数据,切片后取出的数据都是字符串类型
# 从左至右取值:从0开始
# 从右向左取值:从-1开始
print("s[0]:%s" % s[0]) # a
print("s[-1]:%s" % s[-1]) # g
切片
s = "abcdefg"
s1 = s[:] # 取全部
s2 = s[::2] # 从左至右取值,步长为2 aceg
s3 = s[2::-1] # 从2下标开始向左取值,步长为1 cba
s4 = s[-1::-2] # 从-1下标开始向左取值,步长为2 geca
s5 = s[2:5] # 从2下表开始取值,到5下表截至,不包含5 cde
字符串的常见操作
# 字符串的常用操作方法 字符串操作不会对原有字符串进行改变
s = "taibai"
word = "hello world"
print(s.count("i")) # 统计字符串中xx出现次数 返回数据int 2
print(s.upper()) # 字符串整个转换为大写 TAIBAI
print(s.lower()) # 字符串整个转换为小写 taibai
print(s.capitalize()) # 字符串首字母转换为大写 Taibai
print(word.capitalize()) # 整个字符串首字母转换为大写(整个字符串看为一个整体)Hello world
print(s) # 字符串操作不会对原有字符串进行改变 taibai
# 应用 验证码不区分大小写(统一转换为大写或小写)
user_name = input("请输入用户名:")
password = input("请输入密码:")
code = "QwEr"
your_code = input("请输入验证码(不区分大小写):")
if your_code.lower() == code.lower():
if user_name == "zhangsan" and password == "1234":
print("登录成功")
else:
print("验证码或密码错误")
else:
print("验证码错误")
# strip 去空(去除左右空格) 包含:\n、\t
str1 = " \nabcd31 12 \t"
print(str1.strip())
print(len(str1)) # 27 去空后,不影响原有字符串
# lstrip 去除左边空格
print(str1.lstrip())
# rlstrip 去除右边空格
print(len(str1.rstrip())) # 去除右边空格
# join 字符串拼接(用什么把字符串拼接起来)
str1 = "abcd" # 如果被拼接元素是字符串,则把字符串拆分成单独元素,再进行拼接
print("+".join(str1)) # a+b+c+d
str2 = ["a1", "a2" ,"a3"] # 被拼接元素如果是列表,则列表中元素必须是字符串,如果是数字,则会报错
print(":".join(str2)) # 拼接后:a1:a2:a3
# split 把字符串以某元素分割 分割成多个字符串,放在列表中,不包含分割元素
str1 = "abcdefg"
print(str1.split("b")) # 分割后:['a', 'cdefg']
str2 = ":abd:def:efg:fgh"
print(str2.split(":", 2)) # 2为分割次数,表示分割两次 分割后:['', 'abd', 'def:efg:fgh']
# count 统计字符串出现次数
str1 = "abcdabcdefabceasd"
print(str1.count("abc")) # 3
# format
msg = "我叫{},今年{},就读于{}"
msg1 = msg.format("张三", 18, "墨尔本大学")
print(msg1) # 我叫张三,今年18,就读于墨尔本大学
# 可以直接再字符串后拼接
msg3 = "我叫{},今年{},就读于{}".format("李四", 25, "北京大学")
print(msg3) # 我叫李四,今年25,就读于北京大学
# 使用索引的方法,可以减少format后参数的个数,重复参数不用写多次
msg3 = "我叫{0},今年{1},就读于{2},不管我去到哪,我都叫{0}".format("李四", 25, "北京大学")
print(msg3) # 我叫李四,今年25,就读于北京大学,不管我去到哪,我都叫李四
# 使用参数名的方法传递,format后参数指定参数值
msg4 = "我叫{name},今年{age},就读于{adu},不管我去到哪,我都叫{name}".format(age=25, adu="北京大学", name="李四")
print(msg4)
# is系列 判断是否是什么类型
a = "abc"
b = "abc123"
# isalnum 字符串由字母或数字组成
print(a.isalnum()) # True
print(b.isalnum()) # True
# isdecimal 字符串只由十进制组成 不包含罗马数字,中文数字,小数
print(a.isdecimal()) # False
print(b.isdecimal()) # False
# isalpha 字符串只由字母组成
print(a.isalpha()) # True
print(b.isalpha()) # False
# isdigit 判断是否是整数 不包含罗马数字,中文数字,小数
num1 = "1234"
num2 = "1234abc"
print(num1.isdigit()) # True
print(num2.isdigit()) # False
应用 判断是否是小数
# 应用 判断是否是小数
"""
1、判断小数点个数是否是1 count
2、以小数点分割 判断小数点右边是否是整数
3、判断小数点左边
是整数isdigit
如果是负整数
"""
def is_float(s):
str1 = str(s)
if str1.count(".") == 1:
left = str1.split(".")[0]
right = str1.split(".")[1]
if right.isdigit():
if left.count("-") == 1 and left.startswith("-"):
num3 = left.split("-")[-1]
if num3.isdigit():
return True
elif right.isdigit():
return True
else:
return False
# 调用is_float函数执行
price = input("请输入商品价格:")
if is_float(price):
print("输入正确:%s" % price)
else:
print("输入有误:%s" % price)
python基础学习-字符串常见操作的更多相关文章
- Day2 Python基础学习——字符串、列表、元组、字典、集合
Python中文学习大本营:http://www.pythondoc.com/ 一.字符串操作 一.用途:名字,性格,地址 name = 'wzs' #name = str('wzs')print(i ...
- Python基础学习----字典常用操作
字典的常见操作: # 字典: # 格式:{键值对,键值对} dict_demo={"name":"bai-boy","age":17} # ...
- python基础学习之文件操作&函数
1.文件处理相关 1.编码问题 ①python2与python3中的默认编码: py2默认使用ASCII码,py3默认使用utf-8 ②为什么会出现中文乱码,中文乱码的情况有哪些? #sys.stdo ...
- python基础学习笔记——文件操作
文件操作 初始文件操作 使用Python来读写文件是非常简单的操作,我们使用open()函数来打开一个文件,获取到文件句柄,然后通过文件句柄就可以进行各种各样的操作了 根据打开方式的不同能够执行的操作 ...
- python基础之字符串常用操作总结
字符串的索引 s = 'ABCDLSESRF' # 索引 这两个很简单没什么说的 s1 = s[0] print(s1) # A s2 = s[2] print(s2) # C 切片 s = 'ABC ...
- Python基础学习----字符串的常用方法
# Python字符串 # 大多数的语言定义字符串是双引号,Python既可以双引号,也可以单引号.但使用也有区别 # 单双引号的使用 My_name="bai-boy" Demo ...
- Python基础学习七 Excel操作
python操作excel,python操作excel使用xlrd.xlwt和xlutils模块, xlrd模块是读取excel的,xlwt模块是写excel的,xlutils是用来修改excel的. ...
- Python基础学习四 文件操作(二)
####读取文件#### with open('goods_info.txt', 'r', encoding='utf-8') as f: f.seek(0) # 注意指针位置 goods_info ...
- Python基础学习三 文件操作(一)
文件读写 r,只读模式(默认). w,只写模式.[不可读:不存在则创建:存在则删除内容:] a,追加模式.[不可读: 不存在则创建:存在则只追加内容:] r+,[可读.可写:可追加,如果打开的文件不存 ...
随机推荐
- PAT-字符串处理-B 1002 写出这个数 (20分)
题目: 思路: 先用字符串数组存储输入数字,然后依据num[i]-'0'对输入数字求和.然后对求和后的数字,进行分割,存储到数组中,然后遍历数组,依据存储汉语拼音的字符串二维数组进行输出 注意点: 注 ...
- javascript的装饰者模式Decorator
刚开始看这段代码有点绕,现在回过头来看,so easy! Function.prototype.before = function(beforefn){ var _self = this; retur ...
- ASP.NETMVC中js非空验证实例
页面代码 @using (Html.BeginForm("Edit", "Home", FormMethod.Post, new { @Id = "f ...
- 单片机基础——使用GPIO扫描检测按键
1. 准备工作 硬件准备 开发板首先需要准备一个小熊派IoT开发板,并通过USB线与电脑连接. 软件准备 需要安装好Keil - MDK及芯片对应的包,以便编译和下载生成的代码,可参考MDK安装教程 ...
- BERT实现QA中的问句语义相似度计算
1. BERT 语义相似度 BERT的全称是Bidirectional Encoder Representation from Transformers,是Google2018年提出的预训练模型,即双 ...
- JavaMail(二):利用JavaMail发送复杂邮件
上一篇文章我们学习了利用JavaMail发送简单邮件,这篇文章我们利用JavaMail发送稍微复杂一点的邮件(包含文本.图片.附件).这里只贴出核心代码,其余代码可参考JavaMail(一):利用Ja ...
- MySQL 【常识与进阶】
MySQL 事物 InnoDB事务原理 事务(Transaction)是数据库区别于文件系统的重要特性之一,事务会把数据库从一种一致性状态转换为另一种一致性状态. 在数据库提交时,可以确保要么所有修改 ...
- Python面向对象之反射,双下方法
一. 反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力(自省).这一概念的提出很快引发了计算机科学领域关于应用反射性的研究.它首先被程序 ...
- appnium适应之配置
一.session #获取包名和acctivename#这个工具在adk包里面aapt.exe dump badging E:\Wandoujia_851097_web_seo_baidu_binde ...
- 【Weiss】【第03章】双链表例程
双链表因为多了个前向指针,需要考虑的特殊因素多了一倍 所以中间插入(这儿没写)和中间删除会比较复杂. 其它倒没什么特别的,代码如下. 测试代码 #include <iostream> #i ...