python基础语法 002 - 4 字符串

1 字符串

字符串:引号括起来的数据类型

# 双引号
a = "yuze wang"# 单引号
a = ’yuze wang‘# 三引号
a = ’‘’yuze‘‘’
a = """yuze"""

注意:所有格式表示都是半角,全角会报错

1.1  引号表示     


#字符串
#引号括起来的数据类型就是字符串
#引号可以是单引号、双引号、三引号a = "jhfhfhhffhfhfh@#"
print(a)
print(type(a)) a = 'jhfhfhhffhfhf'#三引号 ,可以多行字符串
#三引号,也可以是双引号和单引号
a = """sl
qlk22
99999999999dccc"""b = """sl
qlk22
99999999999dccc """
print(a)
print(b)print("""hello""")#光不溜秋是注释
"""z这是注释"""

运行结果: 

1.2 转义

转义列表

转义序列说明
\(行尾)续行符
\\反斜杠
\'单引号
\"双引号
\a响铃
\b退格(Backspace)
\f换页
\n换行
\r回车
\t水平制表符
\v垂直制表符
\ooo值为八进制 ooo 的字符
\xhh值为十六进制 hh 

 1.3 字符串序列操作

  • 成员运算in, not in 
  • 连接操作 + ,要相同的类型
  • 重复操作 * ,后面加数字
  • 索引操作
  • 切片操作
  • 格式化输出
  • %s, %d, %f, %2f, %d
  • {}
1.3.1 成员运算 in  ,not in

得到的数据类型:布尔类型

#成员运算 in  not in
names = "xiaoming hello world"
print("xiaoming " in names)print("xiang " in names)---------- 结果 ----------------------
True
False
1.3.2 连接操作 + 
#+, 字符串可以用 + 号,表示字符串拼接起来
family_name = "wang"
last_name = "chen"
print(family_name + " " + last_name)——————————————结果 -----------------
wang chen
1.3.3 重复操作 *,

字符串 * 数字,表示重复多少遍

last_name = "chen"
print(last_name * 5)print("###" * 20)
print("#")
print("###" * 20)#字符串 * 字符串
print("##" * "##")------结果 -----
chenchenchenchenchen
############################################################
#
############################################################
Traceback (most recent call last):File "F:\pythonProject1\uu.py", line 14, in <module>print("##" * "##")
TypeError: can't multiply sequence by non-int of type 'str'
1.3.4 索引操作
#字符串索引,表示获取字符串当中的某 1 个元素
name = "课代表 apple happy开心"#索引的表示方法:name[索引号]
#在python中索引不是从1开始,而是从0开始
print(name[1])
print(name[7])
print(name[15])
print(name[-1])------结果 -----
代
l
开
心

len() :读取字符串的长度

索引不能超出范围

#获取字符串长度
name = "课代表 apple happy开心"print(len(name)) # 17
name_len = len(name) 
print(name[name_len - 1])  # 心#超出索引范围,报错! IndexError
print(name[name_len]) -----结果----print(name[name_len])
IndexError: string index out of range
1.3.5 切片操作
A、连续取字符:
name[切的起始点: 切的终点] 取左边不取右边
#字符串切片
#切片:是获取字符串的多个元素
#如何表示:name[切的起始点: 切的终点]
#切片:顾头不顾定,取左不取右,右边要 + 1
name = "课代表 apple happy开心"
print(name[1:2]) #代
print(name[1:3]) #代表
B、间隔取:步长
name[切的起始点: 切的终点:步长]

步长:step获取第一次后,加多少个索引取获取第二次

#name[切的起始点: 切的终点:步长]
num = "01010101010101010101"
print(num[0: 5 : 2])
print(num[1: 5 : 2]) # 1 +2 +2---结果--
000
11
C、方向
  • 步长为正数:从左往右
  • 步长为负数:从右往左
#倒序
name = "课代表 apple happy开心"
print(name[::-1])————-结果 ----
心开yppah elppa 表代课
#步长是可以省略的,step默认为1
name = "课代表 apple happy开心"
print(name[2 : 3])#start 可以省略?
#start省略,从最开始的地方,0 或 -1
print(name[ : 3])#end 可以省略?
#end省略,一直取到最后
print(name[1 : ])
#vs name[1 : -1]
print(name[1 : -1])#start 和 end 可以省略?
#全部取完,从开始到最后
#name[:] 可以复制原来的文本
print(name[: ])
print(name)#步长step ,开始位置 > 结束位置
print("打印结果".format(name[3: 0]))------结果 ----------------------
表
课代表
代表 apple happy开心
代表 apple happy开
课代表 apple happy开心
课代表 apple happy开心
打印结果
#步长方向
name = "课代表 apple happy开心"
print(name[0:3 :1])
print("打印结果{}".format(name[3 :0:1])) #指令矛盾了,不知道听谁的了
print("打印结果{}".format(name[3 :0: -1]))
print("打印结果{}".format(name[2 :4: -2]))
print("打印结果{}".format(name[4 :1: -1]))
print("打印结果{}".format(name[4 :4: -1]))#指令矛盾了,不知道听谁的了
print("打印结果{}".format(name[-2 :-6: -2]))-----结果 -----
课代表
打印结果
打印结果 表代
打印结果
打印结果a 表
打印结果
打印结果开p

 总结:什么时候才能取到数

1、end - step 判断是正数还是负数

2、step 是正数还是负数

3、end - start与step要同正、同负,否则打印不出结果,如果计算结果出现冲突,则就为空

D、超出范围怎么办?

在切片当中,超出范围,是不报错的,是表示取完的意思

#范围超出
name = "课代表 apple happy开心"
print(name[1 : 10000])------结果----
代表 apple happy开心
1.3.6 格式化输出
name = "课代表"###
#课代表
####
print("### * 4")
print("# " + " " + name)
print("### * 4")#方法二 {} 占位符用来占位置, .format 格式化输出,占位符和变量要匹配,一一对应,变量名可以多但不能少于占位符
name = input("name: ")print("小葱拌豆腐:一清二白:{}".format(name))-----结果 ----
### * 4
#  课代表
### * 4
name: 巧克力
小葱拌豆腐:一清二白:巧克力#错误表述
print("""
### * 4
# + ' ' + name
### * 4 
""")----结果 ----
### * 4
# + ' ' + name
### * 4 

补充说明:占位符 的数量需要和变量一一对应,占位符数量< = 格式化输出的变量

 格式化输出采用以下方式: 

#方法一:
name = input("name: ")
age = input("age:")
gender = input("gender:")
print("小葱拌豆腐:一清二白:{}".format(name))print("""
小葱拌豆腐:一清二白{}
年龄:{}
性别:{}
""".format(name, age, gender))-----结果 ----
小葱拌豆腐:一清二白:巧克力小葱拌豆腐:一清二白巧克力
年龄:哇哈哈89
性别:99#方法二
#位置索引, 要全部传,如果存在其中一个占位符没有传就会报错,从0 开始
print("""
小葱拌豆腐:一清二白:{2}
年龄:{1}
性别:{2}
""".format(name, age, gender))-----结果 ----
小葱拌豆腐:一清二白:99
年龄:哇哈哈89
性别:99#方法三
#关键字取值,标记取值,用于变量多的情况加标记,比较少用
print("""
小葱拌豆腐:一清二白{username}
年龄:{aging}
性别:{gendering}
""".format(username =name, aging= age, gendering=gender))-----结果 ----
小葱拌豆腐:一清二白巧克力
年龄:哇哈哈89
性别:99
1.3.7 字符串函数
  • 大小写转换 lower() upper()
  • 大小写互换 swapcase()
  • 首字母大写title(), capitalize()
  • 替换 replace(old, new)
  • 查找元素find() 没有找到就返回-1, index(), 会报错
  • 数 count()
  • isdigital()
  • islower()
  • join()
  • split()
  • strip()
a = "hello WOrld"
print(a.upper())
print(a.lower())
print(a.title())
print(a.capitalize())
print(a.swapcase())---- 结果 ---
HELLO WORLD
hello world
Hello World
Hello world
HELLO woRLD
#replace() 替换每个字符
a = "王婆卖瓜 - 自卖自夸"
b = a.replace("王婆", "哇哈哈")
print(b)#find 查找指定字符, ===》得到为找到该字符串的索引位置
index = a.find("瓜")
print(index)#find 查找指定字符, ===》不能找到,返回-1
index = a.find("西")
print(index)#index  == find
rssult = a.index("瓜")
print(rssult)#index 方法如果找不到就会报错
# ValueError, 值错误
# rssult = a.index("西")
# print(rssult)--报错:
--rssult = a.index("西")
--ValueError: substring not found#count() 查找字符的次数,进行数据分析
# 统计某个歌词出现的次数
song = """静止了所有的花开遥远了 
清晰了爱天郁闷 爱却很喜欢那时候我不懂这叫爱你喜欢 
站在那窗台你好久 都没再来彩色的时间染上空白是你流的泪晕开"""
res = song.count("你")
print(res)#join() 字符串拼接的高级用法,可以用做测试用例数据的方法 ====》 CSV
a = ",".join(["http://ss.com.cn","GET", "lucky", "123456"])
print(a)#split() 拆开, 拆开后,通过索引获取单个测试数据
b = a.split("#")
print(b)#strip() 进行字符串去掉空格,只能去除两边的空格
world = '    sole abc v'
c = world.strip()
print(c)#isdigital()是否是正整数
print(c.isdigit())#islower() 是否是个小写
print(c.islower())-----结果 ---- 
哇哈哈卖瓜 - 自卖自夸
3
-1
3
3
http://ss.com.cn,GET,lucky,123456
['http://ss.com.cn,GET,lucky,123456']
sole abc v
False
TrueProcess finished with exit code 0

1.4 总结: 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/855013.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HSE在企业中的重要性:健康、安全与环境的全面保障

在当今企业运营中&#xff0c;健康、安全与环境&#xff08;HSE&#xff09;管理体系已经成为不可或缺的一部分。HSE管理不仅保护员工的健康和安全&#xff0c;还致力于环境的可持续发展。本文将简洁明了地阐述HSE在企业中的关键作用及其带来的综合效益。 员工健康保护 健康风…

深入理解Qt状态机的应用(一)

Qt的状态机框架提供了一种管理复杂系统状态的方法&#xff0c;它基于经典的有限状态机&#xff08;FSM&#xff09;理论。这种框架在开发涉及多种状态和状态之间需要明确转换的应用程序时特别有用&#xff0c;如用户界面交互、网络协议、游戏开发等场景。 什么是有限状态机&a…

手写一个JSON可视化工具

前言 JSON 平时大家都会用到&#xff0c;都不陌生&#xff0c;今天就一起来实现一个 JSON 的可视化工具。 大概长成下面的样子&#xff1a; 树展示 相比于现有的一些 JSON 格式化工具&#xff0c;我们今天制作的这个小工具会把 JSON 转为树去表示。其中&#xff1a; 橙色标…

跟TED演讲学英文:A tale of mental illness -- from the inside by Elyn Saks

A tale of mental illness – from the inside Link: https://www.ted.com/talks/elyn_saks_a_tale_of_mental_illness_from_the_inside Speaker: Elyn Saks Date: June 2012 文章目录 A tale of mental illness -- from the insideIntroductionVocabularySummaryTranscriptA…

全新AI图像擦处理工具上线,手机电脑版资源合集下载

下载地址&#xff1a; 安卓手机版&#xff1a; 点击下载 苹果手机版&#xff1a; 点击下载 电脑版&#xff08;支持Mac和Windows&#xff09;&#xff1a; 点击下载 图像处理技术在当今迅速发展&#xff0c;为了满足广大用户的需求&#xff0c;我们推出了一款强大的图像优化…

三星S20以上手机中的动态相片及其分解

三星S20以后的相机&#xff0c;相机拍出来的图片&#xff0c;用三星手机自带的“相册”打开之后&#xff0c;还会有“查看动态照片”的选项&#xff0c;点击之后就能查看拍照片时前后2秒左右的视频&#xff01; 不知道这个功能是不是三星独有的。 这样得到的图片非常大。因为…

yum的概念、相关命令、ftp http部署步骤;NFS共享文件操作步骤

目录 yum 配置文件 缓存功能操作步骤 创建并配置本地仓库文件 yum相关命令 yum install __ yum repolist yum list __ yum info __ yum search __ yum whatprovides __ yum remove __ yum -y update __ yum history yum grouplist yum groupinstall "__&q…

前沿技术丨实车测试必须注意的3个方面

在汽车网络通信中&#xff0c;ECU零部件测试、域/系统测试在测试条件上存在局限性&#xff0c;往往由于无法完全仿真工作环境、无法排除特殊干扰因素、异常场景预估不充分&#xff0c;导致在集成到整车后才新暴露出一些功能、性能、兼容性问题。 实车通信测试是作为测试验证的…

DolphinScheduler日志乱码、worker日志太多磁盘报警、版本更新导致不兼容怎么办?

作者 | 刘宇星 本文作者总结了在使用Apache DolphinScheduler过程中遇见过的常见问题及其解决方案&#xff0c;包括日志出现乱码、worker日志太多磁盘报警、版本更新导致不兼容问题等&#xff0c;快来看看有没有困扰你想要的答案吧&#xff01; DolphinScheduler集群环境有多…

实验室装修公司教你在实验室装修设计中要注意哪些细节

实验室装修设计是一项高度专业化的工作&#xff0c;涉及到空间布局、材料选择、家具配置、施工质量和验收标准等多个方面。一个成功的实验室装修项目&#xff0c;不仅要满足实验操作的需求&#xff0c;还要确保人员的安全和舒适。以下是广州实验室装修公司小编分享的在实验室装…

github如何删除仓库?

之前练习Git上传的时候&#xff0c;在Github创建的测试项目已经不需要了&#xff0c;所以要如何删除&#xff1f; 首先进入Github主页&#xff0c;可以直接点击左侧1处的仓库&#xff0c;也可以点击2处的头像&#xff0c;再选择进入那个仓库。 我选择删除最后一个FlashAndShan…

高压线防外破警示灯在电力安全发挥的作用_鼎跃安全

高压输电线路往往跨越城市、乡村和野外&#xff0c;覆盖范围广泛。随着城乡建设和交通运输的快速发展&#xff0c;高压线路周围的活动频繁&#xff0c;外部破坏风险增加。车辆撞击电线杆、施工机械误碰线路以及人为破坏等事件时有发生&#xff0c;严重影响电力供应的稳定性和安…

基于javassm实现的物流管理系统

开发语言&#xff1a;Java 框架&#xff1a;ssm 数据库&#xff1a;mysql 系统页面展示 4.1登陆页面 平台登录&#xff1a;主要是做权限分配和安全限制等操作。可以把快递员&#xff0c;客户&#xff0c;派单员等人员角色区分开来。 4.2注册页面 用户注册界面&#xff1a;…

如何在宝塔中使用命令行执行命令

一、 进入宝塔&#xff0c;找到网站然后点击根目录 二、进入项目中&#xff0c;然后点击 终端 三、如果这里会弹出输入密码的框&#xff0c;那就是需要你输入一下你服务器的 账号密码&#xff0c;然后就登录进去了&#xff0c;可以在这里直接执行命令即可&#xff0c;比如我这…

RERCS系统开发实战案例-Part08 FPM 应用程序的表单组件(From UIBB)与列表组件(List UIBB)组合的创建

1、新建From UIBB的FPM Application的快速启动面板 备注&#xff1a;该步骤可第一步操作&#xff0c;也可最后一步操作&#xff0c;本人习惯第一步操作。 1&#xff09;使用事务码 LPD_CUST&#xff0c;选择对应的角色与实例进入快速启动板定制页面&#xff1b; 2&#xff09…

函数依赖-函数依赖、平凡函数依赖、完全与部分函数依赖、传递函数依赖

一、引言 函数依赖是关系模式中属性与属性之间存在的一种重要数据依赖 1、将关系模式R的模式结构改为 R&#xff08;SNO&#xff0c;CNO&#xff0c;SN&#xff0c;SD&#xff0c;DD&#xff0c;GRADE&#xff09; 并对属性列进行重命名 R&#xff08;学生学号&#xff0c…

力扣hot100:31. 下一个排列

LeetCode&#xff1a;31. 下一个排列 字典序的大小排序&#xff1a; 从前往后对比&#xff0c;如果先出现更小字符的&#xff0c;字典序更小&#xff0c;如果有个字符串结束了&#xff0c;则它更小。string s "112233"和string t "1122334"&#xff0c;…

无代码爬虫八爪鱼采集器-如何采集携程网指定酒店差评信息

场景描述&#xff1a;有一些酒店会分析同行的差评原因&#xff0c;以便提前做预案&#xff0c;避免自己酒店也放同样的错误。他们通过采集携程网指定酒店的提取中差评&#xff0c;使用的采集工具为无代码爬虫软件八爪鱼采集器免费版&#xff0c;下载链接&#xff1a;1.软件分享…

【PyQt5】一文向您详细介绍 self.sender() 的作用

【PyQt5】一文向您详细介绍 self.sender() 的作用 下滑即可查看博客内容 &#x1f308; 欢迎莅临我的个人主页 &#x1f448;这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地&#xff01;&#x1f387; &#x1f393; 博主简介&#xff1a;985高校的普通本硕&a…

暑期计划打卡清单表怎么写 暑期待办计划清单

暑假来临&#xff0c;是不是感觉时间好像突然多了起来&#xff0c;但又不知道该做些什么好&#xff1f;别担心&#xff0c;列一个暑期计划打卡清单表&#xff0c;就能让你的暑假生活变得有条不紊、充实而有意义。 计划清单&#xff0c;就像是给暑假生活绘制的一张地图。没有它…