Python基础篇 -- 字符串
字符串
字符串是不可变的对象,任何操作对原字符串是不会有任何影响的.
索引和切片
- 索引 . 索引就是下标, 下标从 0 开始, 使用[] 来获取数据
- s1 = "0123456"
- print(s1[X]) 获取第X个,若X为负,则从倒数开始.
切片 我们可以使用下标来截取部分字符串的内容
语法: str[start: end:step]
规则: 顾头不顾尾,从start开始截取,截取到end位置,但不包括end.
跳着截取
print(str[start:end:step] # step表示步长,如果步长是正数,从左往右,负数则从右往左.表示每多少个取一个
字符串的相关操作方法
大小写转来转去
s = s1.capitalize() #首字母大写
s = s1.lower () #全部转换成小写
s = s1.upper () #全部转换成大写
while True:
content = input("请输入内容")
if content.upper == "Q"
break
print(content)
s = s1.swapcase() # 大小写互换
s= s1.casefold() #不常用,转成小写,和lower的区别: lower()对某些字符支持不够好,casefold() 对所有字母都有效
s = s1.title() #每个首字母大写
切来切去
s = s1.center(10, "*") #居中,把原来的字符拉长成10,其余位置补 *
s = s1.strip() #去掉左右两端的空格 也可以去掉指定元素
s= s1.lstrip() #去掉左边空格
s= s1.rstrip() #去掉右边空格
s = s1.replace('a', 'b', X) #字符串替换,把a替换成b, X 是替换次数
s = s1.split() #字符串切割, 默认是空格分割 如果切割福在两端,会出现空字符串( " ") 分割后返回的内容是列表
print(" 1 2 3 4 \n 5 6 7") \n 是换行 用于模拟登陆,忽略用户输入的空格 ```python
count = 1
while count <= 3:
username = input("用户名:").strip()
password = input("密码").strip()
if username == "Agoni" and password == "123":
print("登陆成功")
break
else:
print("用户名或者密码错误")
print("已经登录%s次,剩余%s次" % (count, 3-count))
count = count + 1
格式化输出
s1 = "我叫%s, 今年%d岁了, 我喜欢%s" % ('sylar', 18, '周杰伦') # 之前的写法 # % 占位符: 声明占位的类型 %s -- 字符串 %d/%i -- 整型 %% 转义 成为普通的% %() 不能多,不能少,一一对应 name = input("name")
print(f"alex{name},{'aaa'}")
# 打印结果是 alexname,aaa
# f"{}" 大括号里的内容一般都放变量 字符串单引号 3.6版本及以上才能使用 s1 = "我叫{}, 今年{}岁了, 我喜欢{}".format("周杰伦", 28, "周润发") # 按位置格式化 顺序填充 s1 = "我叫{0}, 今年{2}岁了, 我喜欢{1}".format("周杰伦", "周润发", 28) # 指定位置 索引填充 s1 = "我叫{name}, 今年{age}岁了, 我喜欢{singer}".format(name="周杰伦", singer="周润
发", age=28) # 指定关键字
查找
s = s1.startswith("XXX") # 判断是否以XXX开头 s = s1.endswith("XXX") # 是否以'XXX'结尾 s = s1.count("a") # 查找"a"出现的次数 s = s1.find("xxx") # 查找'xxx'的位置, 如果没有返回-1 s = s1.find("a", 8, 22) # 切⽚找 s = s1.index("xxx") # 求索引位置. 注意. 如果找不到索引. 程序会报错条件判断
# 条件判断
s1 = "123.16"
s1 = "abc"
s1 = "_abc!@"
# 是否由字⺟和数字组成
print(s1.isalnum()) # 是否由字⺟组成
print(s1.isalpha()) # 是否由数字组成, 不包括小数点
print(s1.isdecimal()) # 记这个 判断十进制 返回布尔值
print(s1.isdigit())
print(s1.isnumeric()) # 这个⽐较牛B. 中⽂都识别.
字符串长度
s1 = " XXXX,XXXXXX "
s = len(s1) # 计算字符串的⻓度
注意: len()是python的内置函数. 所以访问方式也不一样. 你就记着len()和print()一样就⾏
Python基础篇 -- 字符串的更多相关文章
- python基础篇----字符串unicode
python中处理中文常要用到unicode,因为较容易遇到字符串编码的问题,我一般都是将字符串统一转成unicode去处理 python中定义一个unicode字符串,可以在字符串前面加u: str ...
- python基础篇-day1
python基础篇 python是由C语言写的: pass 占位符: del,python中全局的功能,删除内存中的数据: 变量赋值的方法: user,pass = 'freddy','freddy1 ...
- Python基础数据类型-字符串(string)
Python基础数据类型-字符串(string) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版 ...
- python基础篇之进阶
python基础篇之进阶 参考博客:http://www.cnblogs.com/wupeiqi/articles/5115190.html python种类 1. cpython 使用c解释器生产 ...
- python基础篇(六)
PYTHON基础篇(六) 正则模块re A:正则表达式和re模块案例 B:re模块的内置方法 时间模块time A:时间模块的三种表示方式 B:时间模块的相互转换 随机数模块random A:随机数模 ...
- python基础篇(一)
PYTHON基础篇(一) 变量 赋值 输入,输出和导入 A:输入 B:输出 C:导入 运算符 A:算数运算符 B:比较运算符 C:赋值运算符 D:位运算符 E:逻辑运算符 F:成员运算符 G:身份运算 ...
- python基础篇(三)
PYTHON基础篇(三) 装饰器 A:初识装饰器 B:装饰器的原则 C:装饰器语法糖 D:装饰带参数函数的装饰器 E:装饰器的固定模式 装饰器的进阶 A:装饰器的wraps方法 B:带参数的装饰器 C ...
- python基础篇(四)
PYTHON基础篇(四) 内置函数 A:基础数据相关(38) B:作用域相关(2) C:迭代器,生成器相关(3) D:反射相关(4) E:面向对象相关(9) F:其他(12) 匿名函数 A:匿名函数基 ...
- Python基础篇--输入与输出
站长资讯平台:Python基础篇--输入与输出在任何语言中,输入和输出都是代码最基础的开始,so,先来聊一聊输入和输出输出输入END在任何语言中,输入和输出都是代码最基础的开始,so,先来聊一聊输入和 ...
随机推荐
- 模板 - 数据结构 - ST表 + 二维ST表
区间最大值,$O(nlogn)$ 预处理,$O(1)$ 查询,不能动态修改.在查询次数M显著大于元素数量N的时候看得出差距. 令 $f[i][j]$ 表示 $[i,i+2^j-1]$ 的最大值. 显然 ...
- 51nod 1099【贪心】
思路: 我们可以思考对于仅仅两个元素来说,A,B; 先选A的话是会 A.b+B.a; 先选B的话是会 B.b+A.a; 所以哪个小哪个就放前面; #include <cstdio> #i ...
- 基于ndk_r7_windows编译实现ndk项目,不需要cygwin
下面就介绍下Android NDK的入门学习过程: 入门的最好办法就是学习Android自带的例子, 这里就通过学习Android的NDK自带的demo程序:hello-jni来达到这个目的. 一. ...
- jzoj5990. 【北大2019冬令营模拟2019.1.6】Bear (状压dp)
题面 题解 我永远讨厌dp.jpg 搞了一个下午优化复杂度最后发现只要有一个小trick就可以A了→_→.全场都插头dp就我一个状压跑得贼慢-- 不难发现我们可以状压,对于每一行,用状态\(S\)表示 ...
- SpringBoot整合Memached
一.Memached介绍 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站 ...
- 如何利用python制作微信好友头像照片墙?
这个不难,主要用到itchat和pillow这2个库,其中itchat用于获取微信好友头像照片,pillow用于拼接头像生成一个照片墙,下面我简单介绍一下实现过程,代码量不多,也很好理解,实验环境wi ...
- C# 委托链、多路广播委托
委托链.多路广播委托:也就是把多个委托链接在一起,我们把链接了多个方法的委托称为委托链或多路广播委托 例: class HelloWorld { //定义委托类型 delegate void Dele ...
- JSDOM获取子节点的一些方法
一般情况获取子节点,通过找到查找父节点的ID或者class类名,来获取父节点,再通过children属性,得到子节点的数组: 之前在另外一篇随笔中说过,如果使用另一个属性childNode,会把注释. ...
- 关于pycharm的一个imoprt的随笔
近来发现pycharm一个方便的地方,from 文件夹名.组件名 import 方法(引入和父级目录同级文件夹下的模块),在pycharm中这种引用是能够成功的,但是在python自带的IDLE中不能 ...
- jquery.validate自定义验证--成功提示与择要提示
1. 自定义验证--成功提示 1) 添加选项 errorClass: "unchecked", validClass: "checked", errorElem ...