c++如何让字符串重复输出_[Python学习笔记]Python基础02之字符串-程序员宅基地

技术标签: 字符串的切片操作与连接  c++如何让字符串重复输出  python rfind函数用法  python根须系统斜杠  

点击上方蓝字关注我们,一起涨姿势!

ff609171869d70bb085aaf157a0a0a1e.png

在Python基础01之入门中,我们学习了Python中的输入(input()),输出(print())的使用,变量赋值,简单运算符的相关知识,今天一起来学习字符串的知识。

102239ee10285580e53ee66f5cca4300.png 52748f0047d733369dcd9c471a431a2a.png 一、字符串基础 e8edca27f4c291fd93a80d2d020567b6.png

字符串是 Python 中最常用的数据类型,它是一种不可变序列。可以使用引号来创建字符串,引号可以是'单引号'"双引号" '''三单引号''', """三双引号""",单引号和双引号在使用上没什么区别,三引号可以跨行输出,引号的使用必须成对,否则会出错。

str1 = '我是单引号字符串'str2 = "我是双引号字符串"str3 = '''我是三单引号字符串'''str4 = """我是三双引号字符串"""str5 = """                            _ooOoo_                           o8888888o                           88" . "88                           (| -_- |)                           O\  =  /O                        ____/`---'\____                      .'  \\|     |//  `.                     /  \\|||  :  |||//  \                     /  _||||| -:- |||||_  \                     |    | \\\  -  /// |   |                     | \_|  ''\---/''  |   |                    \  .-\__  `-`  ___/-. /                  ___`. .'  /--.--\  `. . __               ."" '<  `.___\__/___.'  >'"".              | | :  `- \`.;`\ _ /`;.`/ - ` : | |              \  \ `-.   \_ __\ /__ _/   .-` /  /         ======`-.____`-.___\_____/___.-`____.-'======                            `=---='         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                     佛祖保佑       永无BUG"""print(str1)print(str2)print(str3)print(str4)print(str5)

输出效果为:

b2a964a27814c61577cd4c1cb6b22264.png

(素材来自网络) 52748f0047d733369dcd9c471a431a2a.png 二、转义字符和原始字符串 e8edca27f4c291fd93a80d2d020567b6.png

Python使用反斜杠"\"转义字符,要输出'doesn't','"Isn't," they said.',这样的句子,可以使用反斜杠对"'"进行转义。

ab4d106e43192bc1122214897a25cdfa.png

d7c9032d11a4a497e25e72c1ef041645.png

常见转义字符如下:

符号 含义 符号 含义
\' 单引号 \r 回车符
\" 双引号 \f 换页符
\a 系统响铃 \o 八进制字符
\b 退格符 \x 十六进制字符
\n 换行符 \0 空字符
\t 横向制表符 \\ 反斜杠
\v 纵向制表符

所以在输出路径'C:\some\name'时,\n会被识别为换行,可以使用\\进行转义,但是路径(字符串)比较长的时候,如果你(懒)不希望多次输入\\时,可以使用原始字符串的方式,在引号前使用r即可。

585d0c14dadd4afa7bfd21f17682a37f.png

52748f0047d733369dcd9c471a431a2a.png 三、字符串的连接和重复 e8edca27f4c291fd93a80d2d020567b6.png

可以使用加号(+)进行字符串的连接,通过乘号(*)重复输出字符串

32c1128cfd71fb0b83f324915b770fda.png

06c66119e02ebb9ecf734e378dccada0.png

52748f0047d733369dcd9c471a431a2a.png 四、字符串的索引 e8edca27f4c291fd93a80d2d020567b6.png

索引(S[i])可以获取特定偏移量(i)处的元素

  • 第一个字符索引是 0

  • 索引可以用负数,为负时会从右边开始数

  • 单个字符是一个长度为一的字符串

  • 索引值超过字符串长度,会报错

word = 'Python'word[0] # 输出Pword[-2] # 输出oword[10] # 报错
52748f0047d733369dcd9c471a431a2a.png 五、字符串的切片 e8edca27f4c291fd93a80d2d020567b6.png

除了索引,字符串还支持切片(S[i:j:k])。索引可以得到单个字符,而切片可以获取子字符串

  • 省略开始索引(i)时默认为0,省略结束索引(j)时默认为到字符串的结束,k为步长,默认为1

  • 切片的开始总是被包括在结果中,而结束不被包括

  • 索引值超过字符串长度,会被自动处理

word = 'Python'word[:]Out[3]: 'Python'word[1:]Out[4]: 'ython'word[:3]Out[5]: 'Pyt'word[:-1]Out[6]: 'Pytho'word[1:3]Out[7]: 'yt'word[1:100]Out[8]: 'ython'word[1::2]Out[9]: 'yhn'word[::2]Out[10]: 'Pto'word[::-1]Out[11]: 'nohtyP'word[5:2:-1]Out[12]: 'noh'

通过下表可以更加容易理解索引和切片

P y t h o n
正向 0 1 2 3 4 5
反向 -6 -5 -4 -3 -2 -1
52748f0047d733369dcd9c471a431a2a.png 六、字符串的方法 e8edca27f4c291fd93a80d2d020567b6.png

内建函数 len() 返回一个字符串的长度

f9ef4b7cd964d2d37a12d663c2e6a16d.png

常用的字符串方法为:

方法 描述
str.capitalize() 返回原字符串的副本,其首个字符大写,其余为小写。
str.center(width[, fillchar]) 返回长度为 width 的字符串,原字符串在其正中。使用指定的 fillchar 填充两边的空位
str.count(sub[, start[, end]]) 子字符串 sub 在 [start, end] 范围内非重叠出现的次数
str.find(sub[, start[, end]]) 子字符串 sub 在 s[start:end] 切片内被找到的最小索引
str.index(sub[, start[, end]]) 类似于 find(),但在找不到子类时会引发 ValueError
str.replace(oldnew[, count]) 返回字符串的副本,其中出现的所有子字符串 old 都将被替换为 new
str.rfind(sub[, start[, end]]) 返回子字符串 sub 在字符串内被找到的最大(最右)索引
str.rindex(sub[, start[, end]]) 类似于 rfind(),但在子字符串 sub 未找到时会引发 ValueError
str.rstrip([chars]) 返回原字符串的副本,移除其中的末尾字符‍
str.split(sep=Nonemaxsplit=-1) 返回一个由字符串内单词组成的列表,使用 sep 作为分隔字符串
str.strip([chars]) 返回原字符串的副本,移除其中的前导和末尾字符
str.title() 返回原字符串的标题版本,其中每个单词第一个字母为大写,其余字母为小写
str.upper() 返回原字符串的副本,其中所有区分大小写的字符 4 均转换为大写
str.join(iterable) 返回一个由 iterable 中的字符串拼接而成的字符串。

(上表为常见常用的字符串方法,具体使用可以查询官方文档)

102239ee10285580e53ee66f5cca4300.png

- End -

扫码二维码

获取更多精彩

木一学习室

c4ead3af69cee43f981f7d5a3023ee46.png e1c45d0f8d202e46ee2fb10cc46005de.png daa58aab41a661a11ff3aae4f775abfd.gif 3e11aeb6affa6e82d87c14e595afb3bd.png

点下在看,你最好看

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39541869/article/details/110099183

智能推荐

【示例】QWidget如何查找子控件?_qwidget孩子的类型-程序员宅基地

文章浏览阅读2.5k次。原文链接:https://www.fearlazy.com/index.php/post/324.htmlQWidget类没有提供查找子控件的方法,但是它爹QObject有。这个方法就是findChild,它长这样:很显然它是一个模板,因此使用时需要提供一个类型,这个类型就是要查找的对象的类型。函数有两个参数:第一个是要查找的对象名(对象名通过setObjectName设置)第二个表示查找直接孩子还是递归查找(可以查找后代的后代),默认Qt::FindChil.._qwidget孩子的类型

Unity有哪些让做项目事半功倍的插件值得推荐?_qhierarchy 下载-程序员宅基地

文章浏览阅读3.1k次。Unity开发最好的地方就是有各种强大的插件,有哪些插件让大家事半功倍,稳定强大 值得推荐学习和入手呢?Unity5.0之后,制作UI 以及UI的动画,UI特效,大家一般都使用什么插件?或者说有什么好的插件推荐?关于特效制作,大家又有什么好的插件使用经验?请大家分享下各自的项目经验和插件推荐吧。添加评论 分享按投票排序按时间排序_qhierarchy 下载

UNITY_LIGHT_ATTENUATION, 光照衰减-程序员宅基地

文章浏览阅读5.5k次,点赞4次,收藏13次。用于计算光照衰减系数。参数一为返回值(光照衰减系数),参数二用于阴影计算,参数三是世界坐标实现代码位于AutoLight导入文件之中,使用之前需要#include "AutoLight.cginc"源码:_LightTexture0解析:https://blog.csdn.net/zengjunjie59/article/details/109532962unity_WorldToLight :用于把顶点从世界空间转换到光源空间(https://blog.csdn.net/zengjun_unity_light_attenuation

NR系统概述-架构与演进-程序员宅基地

文章浏览阅读2.8k次,点赞7次,收藏14次。大家好,从今天开始我会把NR相关的知识以博文的方式放上来。可能速度会比较慢,时间也会拉得很长,因为内容比较多,我还在整理中,而且很多内容关联性很强,我得考虑介绍的先后顺序。从我学习3GPP的经验考虑,我大概的思路是这样的:1. 介绍NR的一些背景知识,主要是架构与演进。2. 介绍NR的主要无线技术。3. 介绍5G NR一些专有概念,其中主要是5G 帧结构和相关的物理资源的组成单位。4.然后把5G NR无线频谱相关的内容介绍一下,不会太细。只是笼络地把相关知识点梳理一遍,当然,如果您是专门做._nr

在arm上移植eSpeak-1.48.04_espeak交叉编译-程序员宅基地

文章浏览阅读3.1k次。开发板运行系统:32位linux主机 ubuntu17.041、下载portaudio_v18_1.ziphttp://www.portaudio.com/download.html2、下载eSpeak-1.48.04-source.ziphttp://espeak.sourceforge.net/download.html3、交叉编译por_espeak交叉编译

div背景透明度动态改变的效果_css动态增加div透明度-程序员宅基地

文章浏览阅读338次。目标:使用定时器实现div背景色的透明度动态改变注意:这里没有进行兼容处理,别使用低版本的ie游览器!!!代码: <!doctype html><html> <head> <title>div背景透明度动态改变的效果</title> <meta charset="utf-8" /> </head> <body> <div class="_css动态增加div透明度

随便推点

使用开源人脸特征提取器进行脸部颜值评分_研究如何提取其他面部特征实现年 龄预测和颜值评分?-程序员宅基地

文章浏览阅读6.8k次,点赞2次,收藏18次。本文仅为模型应用实战,而非颜值研究,所得结果仅供娱乐,仅供参考。方法也仅供参考。一般而言,数据量越大,结果越接近正常人审美。由于本次数据量较小,故仅为实验。使用环境:ubuntu14.04,opencv3.2.0,dlib19.6,python2.7一、准备工作:1、下载dlib库,下载特征提取模型。该模型的作用是通过卷积神经网络产生128维的特征向量,用以代表这张脸。网络输入参数为人脸landm..._研究如何提取其他面部特征实现年 龄预测和颜值评分?

VisualStudioUninstaller完全卸载VisualStudio-程序员宅基地

文章浏览阅读3.9w次,点赞29次,收藏112次。VisualStudioUninstaller完全卸载VisualStudio最近做项目,vs版本一直没确定,导致自己装了vs2015,还装了vs2013。然后项目确定需要用boost库,两个vs共存,自己编译boost库一直出问题。下定决心要卸载vs,重新安装vs2013。以前的经验告诉我,自己去卸载很容易卸载不干净,甚至损坏系统。查了一些方法,发现VisualStudioUnins..._visualstudiouninstaller

postgres的update_time设置_postupdatetime-程序员宅基地

文章浏览阅读2.5k次。create or replace function upd_timestamp() returns trigger as$$begin new.update_time = current_timestamp; return new;end$$language plpgsql;create or replace function cre_timestamp() returns tr..._postupdatetime

linux下加载so文件_native.loadlibrary linux so文件-程序员宅基地

文章浏览阅读2.9k次。记一下最近碰到的一个加载so文件的问题简介:so文件就是C编译后的文件。适用于linux系统。windows中使用的是dll。java中的调用方式很简单:HCNetSDK INSTANCE = (HCNetSDK) Native.loadLibrary("hcnetsdk", HCNetSDK.class);这里采用的是jna 。采用maven的可以导入jna的依赖。采用gradle以及未采用maven方式的可以放jar。gradle这里如果想放jar的话,需要:c_native.loadlibrary linux so文件

贝叶斯实现文本分类C++实现-程序员宅基地

文章浏览阅读1k次。//NaiveBayes.h#ifndef NAIVEBAYES_H_#define NAIVEBAYES_H_#include#include#include#include#include#include#include#include#include#includeusing namespace std;class NaiveBayes{private:

理解和使用索引+事务+存储引擎(Mysql5.7)_mysql5.7 的需要事务如何选取引擎-程序员宅基地

文章浏览阅读210次。目录1. 索引概述2. 存储引擎概述3. 事务概述1. 索引概述2. 存储引擎概述3. 事务概述_mysql5.7 的需要事务如何选取引擎

推荐文章

热门文章

相关标签