字符串常见操作

索引

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基础学习-字符串常见操作的更多相关文章

  1. Day2 Python基础学习——字符串、列表、元组、字典、集合

    Python中文学习大本营:http://www.pythondoc.com/ 一.字符串操作 一.用途:名字,性格,地址 name = 'wzs' #name = str('wzs')print(i ...

  2. Python基础学习----字典常用操作

    字典的常见操作: # 字典: # 格式:{键值对,键值对} dict_demo={"name":"bai-boy","age":17} # ...

  3. python基础学习之文件操作&函数

    1.文件处理相关 1.编码问题 ①python2与python3中的默认编码: py2默认使用ASCII码,py3默认使用utf-8 ②为什么会出现中文乱码,中文乱码的情况有哪些? #sys.stdo ...

  4. python基础学习笔记——文件操作

    文件操作 初始文件操作 使用Python来读写文件是非常简单的操作,我们使用open()函数来打开一个文件,获取到文件句柄,然后通过文件句柄就可以进行各种各样的操作了 根据打开方式的不同能够执行的操作 ...

  5. python基础之字符串常用操作总结

    字符串的索引 s = 'ABCDLSESRF' # 索引 这两个很简单没什么说的 s1 = s[0] print(s1) # A s2 = s[2] print(s2) # C 切片 s = 'ABC ...

  6. Python基础学习----字符串的常用方法

    # Python字符串 # 大多数的语言定义字符串是双引号,Python既可以双引号,也可以单引号.但使用也有区别 # 单双引号的使用 My_name="bai-boy" Demo ...

  7. Python基础学习七 Excel操作

    python操作excel,python操作excel使用xlrd.xlwt和xlutils模块, xlrd模块是读取excel的,xlwt模块是写excel的,xlutils是用来修改excel的. ...

  8. Python基础学习四 文件操作(二)

    ####读取文件#### with open('goods_info.txt', 'r', encoding='utf-8') as f: f.seek(0) # 注意指针位置 goods_info ...

  9. Python基础学习三 文件操作(一)

    文件读写 r,只读模式(默认). w,只写模式.[不可读:不存在则创建:存在则删除内容:] a,追加模式.[不可读: 不存在则创建:存在则只追加内容:] r+,[可读.可写:可追加,如果打开的文件不存 ...

随机推荐

  1. python大佬养成计划----HTML网页设计(序列)

    序列化标签 1.有序标签--ol和li 有序列表标签是<ol>,是一个双标签.在每一个列表项目前要使用<li>标签.<ol>标签的形式是带有前后顺序之分的编号.如果 ...

  2. JAVA Integer值的范围

    原文出处:http://hi.baidu.com/eduask%C9%BD%C8%AA/blog/item/227bf4d81c71ebf538012f53.html package com.test ...

  3. JZOJ 3518. 【NOIP2013模拟11.6A组】进化序列(evolve)

    3518. [NOIP2013模拟11.6A组]进化序列(evolve) (File IO): input:evolve.in output:evolve.out Time Limits: 1000 ...

  4. flask前端上传图片/文件

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

  5. Jessica's Reading Problem POJ - 3320

    Jessica's Reading Problem Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 17562   Accep ...

  6. LeetCode37 使用回溯算法实现解数独,详解剪枝优化

    本文始发于个人公众号:TechFlow,原创不易,求个关注 数独是一个老少咸宜的益智游戏,一直有很多拥趸.但是有没有想过,数独游戏是怎么创造出来的呢?当然我们可以每一关都人工设置,但是显然这工作量非常 ...

  7. Java easyui 下拉框默认选中第一个

    html代码: <tr> <td> <div style="margin-bottom:5px">计价方式:   <%--下拉框默认选中第 ...

  8. [android]从书中编码方式,看编程思想

    <Android权威编程指南第3版>今天学习到第10章,感叹经验丰富的编程理念——解耦合. 编程理念肯定是尽可能解除耦合,让代码可以复用,书中多次提到关于参数传递的解耦,这又出现一次. 本 ...

  9. vector的初始化方式及用法笔记(不断更新)

    vector的初始化方式 1)第一种,类似于数组的方式:vector<string> letter(3);letter[0] = "find";letter[1] = ...

  10. Natas10 Writeup(正则表达式、grep命令)

    Natas10: 页面与上一关类似,只是增加了提示“出于安全原因,我们现在过滤某些字符”. 查看源码,发现关键代码如下: $key = ""; if(array_key_exist ...