你知道字符串是什么意思吗 常用的字符串有哪些呢
字符串(String)是由数字、字母、下划线组成的一串字符。一般记为 s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。
通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。
常用的字符串格式化方法有哪些
文章目录1 .老式字符串格式2 .新型字符串格式3 .字符串插值法(python 3.6 ) —— f-string4. Template Strings我应该选择哪种字符串格式方法?
参考:
《Python Tricks: A Buffet of Awesome Python Features》
1 .过时的字符串格式errno=50159747054 name=' bob ' ' hello,%s' % name'Hello,Bob' '%x' % errno #整数转换为十六进制数字,字符串' badc 0f
如果对一个字符串执行多个替换,则“早期版本”字符串的格式语法将略有更改。 % -运算符只接受一个参数,因此必须将右侧封装在一个元组中
' Hey %s,there is a0x%x error!' %(name,errno ) ' Hey Bob,there is a0xbadc0ffee error!' 将映射传递给% -运算符时,也可以在格式字符串中用名称引用变量替换
' hey%(name ) s,thereisa0x% ) Errno ) x error!' % {. 'name': name,' errno': errno }'Hey Bob,there is a0xbadc0ffee error!' 参考:
打印样式字符串格式
2 .新的字符串格式使用格式设置字符串格式
' Hello,{}'.format(name ) Hello,bob ) format支持将变量赋值到指定位置
' Hey {name},there is a0x{errno:x} error!' . format(name=name,errno=errno ) Hey Bob,there is a0xbadc0ffee error! '在格式中,即使交换了错误和名称的位置,仍然可以输出正确的结果
' Hey {name},there is a0x{errno:x} error!' . format(Errno=Errno,name=name ) ) Hey Bob,there is a0xbadc0ffee error! ' errno后面的:x表示输出十六进制
' int: {0:d}; hex: {0:x}; oct: {0:o}; GDDWN:{0:b}.format(42 ) int: 42; hex: 2a; oct: 52; gddwn: 101010' # with0x,0o,or0bas prefix : ' int : { 0: d }; hex: {0:#x}; oct: {0:#o}; GDDWN:{0:#b}.format(42 ) int: 42; hex:0x2a; oct: 0o52; gddwn: 0b101010 '参考:
str.format
字符串格式
格式字符串同步
3 .为字符串插值法(python 3.6 ) —— f-string python3.6添加了一种格式化字符串的新方法。 此方法允许在字符串常量中嵌入python表达式。
f'Hello,{name}!' “你好,鲍勃! ”这个方法可以嵌入python表达式,所以也可以用于内联运算。
a=5b=10f ' fiveplustenis { ab } and not {2* (ab ) }.' fiveplustenis 15 and not 30.' defgreet (name,question ) 3360 how ' . greet('Bob ',' going ' ) ' Hello,Bob! How's it going?' 那么这个函数怎么做呢? 实际上,f这个字符串执行了以下操作
defgreet(name,question ) :return ) ) Hello,' name )! How's it ' question '? ')要在f-字符串中输出其他二进制数字(如十六进制数字),请在:后加上#x。 官网上写着:#0x,打印后效果相同。
f'Hey {name},there's a {errno:#x} error! ' ' Hey Bob,there's a0xbadc0ffee error!' f'Hey {name},there's a {errno:#0x} error! ' ' Hey Bob,there's a0xbadc0ffee error!' 参考:
格式化字符串写入
4.templatestringstemplatestrings,简单。
fromstringimporttemplatet=template (' hey,$name!' (t.substitute(name=name )、Hey、Bob! '需要的是从python内置的string库读取Template,定义字符串,将该字符串放入Template () ),然后执行substitute ) )方法。
templ_string='Hey $name,there is a $error error!' template(templ_string ).substitute ) name=name,error=hex(errno ) ) Hey Bob,there is a0xbadc0ffee error! 应用' Template Strings的最好示例是当wrdy处理用户生成的字符串时。
例如,用户可以通过设置字符串的格式来获得程序中的任何变量。 这意味着,如果恶意用户可以提供格式化字符串,则还可以泄露密钥和其他敏感信息。
themorecomplexformattingmini -语言语言软件转换器格式-
tingtechniquesmightintroducesecurityvulnerabilitiestoyourpro -
grams. For example,it’spossibleforformatstringstoaccessarbitrary
在your program中启用变量。
That means,ifamalicioususercansupplyaformatstringtheycan
alsopotentiallyleaksecretkeysandothersensibleinformation!
here’sasimpleproofofconceptofhowthisattackmightbeused :
secret=' this-is-a-secret ' classerror 3360 . def _ init _ (self ) : passerr=error (_ user _ inpuinpuing uh-oh . user _ input.format (error=err ) this-is-a-secret )
user _ input=' $ { error._ _ init _._ _ globals _ [ secret ] } ' template (user _ input ).substitute )。 如果格式化字符串是用户提供的,请使用模板字符串。 为了避免安全问题,如果使用的是python 3.6,请使用字符串插值。 如果使用的是python 3.6之前的版本,请使用第二种,即新的字符串格式化方法
推荐
-
RedmiK50大容量版本今天上午开启预售 支持OIS光学防抖
在Redmi Note 11T系列发布会上,Redmi推出了K50 12GB+512GB大容量版本,该版本将于5月26日上午10点开...
来源: -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
RedmiNote11TPro+上手体验 天玑8100和144Hz顶级屏加持
随着Note系列用户群体的不断壮大,以及愈加多元化的用户需求,Redmi对Note系列的产品进行了重新规划,在...
来源: -
-
RedmiK50大容量版本今天上午开启预售 支持OIS光学防抖
在Redmi Note 11T系列发布会上,Redmi推出了K50 12GB+512GB大容量版本,该版本将于5月26日上午10点开...
来源: -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
财富更多》
-
性价比最高的骁龙870平板 realmePad本月发布
今天,博主@数码闲聊站爆料,realme Pa...
-
市场监管总局:公布2022年国家计量比对项目 涉及食品安全、生物制药等领域
市场监管总局:公布2022年国家计量比对...
-
调动更多金融“活水” 纾困滋养小微企业发展
调动更多金融“活水”纾困滋养小微企业...
-
网络市场监管与服务示范区创建办法实施 助力网络经济发展
网络市场监管与服务示范区创建办法实施...
-
市场监管总局:网络市场监管与服务示范区创建管理办法发布实施
市场监管总局:网络市场监管与服务示范...
动态更多》
热点
- 长城WEY全新复古SUV圆梦实车曝光 配有全液晶仪表盘
- realme火影忍者联名版手机真机曝光 情怀简直拉满
- RedmiNote11TPro+上手体验 天玑8100和144Hz顶级屏加持
- 一加联合创始人裴宇宣布新品牌Nothing 将有全透明后壳
- RedmiBookPro2022锐龙版发布 搭载锐龙6000系列处理器
- Redmi发布千元档新品 联发科天玑700处理器
- 云米K激光投影仪上市 在家也能享受影院级的沉浸式体验
- 全球快的电竞显示器来了 华硕发布500+Hz超高刷新率显示器
- 大众全新入门级电动车曝光 将与比亚迪海豚竞争
- 旗舰机皇重磅回归 微星泰坦GT77将于6月7日发布
- 摩托罗拉Razr3真机照曝光 采用纵向折叠方案
- 联想拯救者第三代Y25显示器发布 首发价1399元
- 联想拯救者K7键盘正式发布 电竞手感最好的键盘
- Redmi宣布K50将推出超大容量版本 618期间到手价2899元
- RedmiBookPro2022锐龙版发布 搭载锐龙6000系列处理器
- Redmi发布千元档新品 联发科天玑700处理器
- RedmiNote11T潮流限定版正式发布 联名铁臂阿童木
- 首发199元 新款蓝牙耳机RedmiBuds4发布
- 健身不慎反伤身?FITURE魔镜助你安全运动
- RedmiNote11TPro+正式登场 支持硬件级防蓝光
- 联想小新520智能投影仪正式发布 支持8K视频解码
- 联想小新Pad2022新品发布 采用双色双材质拼接设计
- 荣耀70Pro官方渲染图曝光 沿用前代四曲面屏幕
- 小米12Ultra最新渲染图曝光 边框和四角都圆润了
- 史上最强双屏轻薄本 华硕灵耀X双屏Pro2022开箱
- iPhone14相关包装盒被曝出 竟然有2TB的版本
- 佳能发布史上最小最轻的EOSR系列相机,售价5399元
- 小米首款折叠屏手机礼盒版直降1000元 享受180天只换不修服务
- RedmiNote11T系列正式发布 整机梦幻如晴空浅海
- 云米K激光投影仪上市 在家也能享受影院级的沉浸式体验
- 全球快的电竞显示器来了 华硕发布500+Hz超高刷新率显示器
- 大众全新入门级电动车曝光 将与比亚迪海豚竞争
- 旗舰机皇重磅回归 微星泰坦GT77将于6月7日发布
- realme真我平板X5月26日正式发布 8340mAh大电池
- vivoS15开箱 采用航空级标准的金属中框
- 至高优惠200元 小米618可穿戴预售攻略公布
- 性能提升10%黑鲨新机曝光 搭载骁龙8+处理器
- 史上最好LCD高刷屏 RedmiNote11T系列今天19点正式登场
- 荣耀70系列官宣 搭载天玑9000高端旗舰处理器
- 电脑机箱漏电该怎么解决呢 快来看一下吧
- 电脑死机的原因都有哪些呢 解决方法都有什么呢
- 电脑出现蓝屏现象该怎么解决呢 一起来看一下吧
- 电脑老是重启该怎么解决呢 是哪里的问题呢
- 电脑死机画面定格是怎么回事呢 快来看一下吧
- 电脑开机时屏幕不显示是怎么回事呢 快来看一下吧
- 电脑开机键没反应该怎么解决呢 一起来看一下吧
- 电脑屏幕使用时经常抖动是怎么回事呢 快来看一下吧
- 电脑机械硬盘出现坏道该怎么办呢 可以修复吗
- 电脑键盘按键失灵该怎么解决呢 一起来看一下吧
- 任务管理器消失不见该怎么解决呢 一起来看一下吧
- 笔记本漏电该怎么解决呢 快来看一下吧
- 电脑网线接口灯不亮是怎么回事呢 原因是什么呢
- 笔记本电脑屏幕出现条纹该怎么办呢 有什么解决方法吗
- 笔记本电脑无线网络受限制该怎么解决呢 操作步骤是什么呢
- 360安全浏览器经常出现白屏是怎么回事 该怎么解决呢
- 电脑连接WiFi容易断线是怎么回事呢 该怎么解决呢
- 电脑出现鼠标失灵是怎么回事呢 一起来看一下吧
- 电脑每次开机都要重新设置时间该怎么解决呢 快来看一下吧
- 电脑弹窗显示无法定位序数该怎么解决呢 一起来看一下吧
- 电脑黑屏该怎么重装系统呢 操作步骤是什么呢
- 电脑插上U盘不显示是怎么回事呢 是哪里出现问题了
- 电脑启动不起来该怎么办呢 有什么解决方法吗
- 电脑开机显示器没有信号是怎么回事 有什么解决办法吗
- 电脑主机启动不了是怎么回事呢 开机无反应该怎么解决呢
- 电脑黑屏的原因是什么呢 造成黑屏的原因是什么呢
- 方太集成烹饪中心正在掀起集成新浪潮
- 造成电脑死机的原因是什么呢 有什么解决方法吗
- 电脑开机蓝屏是怎么回事呢 该怎么解决呢
- 电脑主机一直嗡嗡的响是什么原因 该怎么解决呢
- 电脑重装系统后无法上网该怎么解决呢 一起来看一下吧
- 2899元起!小米12满血版小屏骁龙8旗舰诞生
- OPPOK10降至1799元 全球首发天玑8000MAX处理器
- iPhone14前摄升级 支持自动对焦镜头
- 小米推出米家直驱洗烘一体机10kg简白版 预售到手价1999元
- 机械革命17英寸大屏游戏本公布 240Hz高刷新率
- 小米电视ESPro86英寸发布 搭载四核A73旗舰处理器
- OPPOPadAir正式发布 非常实惠的大屏幕学习神器
- OPPOEncoR真无线耳机发布 售价299元起
- 首发高通新骁龙7 OPPOReno8Pro正式登场
- 小米11Ultra迎来超狠价 影像机皇到手3999元起
- vivo44W闪充移动电源开卖,售价299元
- 长城全新SUV圆梦实拍图曝光 形似上海滩里的老爷车
- 荣耀70Pro参数配置曝光 搭载天玑8000处理器
- RedmiK50官宣降价 2199元起堪称天玑8100性价王者
- 魅族开启618大促 魅族18X限时立省700元
- realme国内首款平板曝光 搭载11英寸2K超清大屏
- 科大讯飞发布新款智能办公本 语音转写准确率高达98%
- 铁臂阿童木手办来了 RedmiNote11T系列新机即将发布
- 摩托罗拉新旗舰将于7月份登场 开启2亿像素摄影时代
- 小米推出全新米家智能空气炸锅Pro4L 售价399元
- realme官宣火影忍者联名定制新品 包装设计以卷轴为元素
- 2022款唐EV正式开启预售 24小时订单已达8505台
- 小米首款激光打印一体机K200上架 今晚开启预售
- 联发科天玑1050处理器发布 首款支持5G毫米波的移动平台
- 小米与徕卡达成全球影像战略合作 高端旗舰7月份登场
- 小米将推出新款86英寸旗舰电视 价格有望突破万元
- 2999元起 摩托罗拉edgeX30屏下摄像版开启618秒杀
- 小米12Ultra渲染图曝光 居中挖孔曲面屏和多主摄方案
- 小米与徕卡达成全球影像战略合作 首款作品将于7月份登场
- 电脑重装系统后无法上网是怎么回事呢 一起来看一下吧
- shx格式的文件该怎么打开呢 常用的方法有哪些
- 你知道怎么看电脑有没有声卡吗 没有该怎么办呢
- 输入法切换不出来是怎么回事呢 有什么方法解决吗
- 电脑插上耳机依旧有外音是怎么回事呢 该怎么解决呢
- 你知道GIF动图怎么保存到电脑吗 一起来看一下吧
- 你知道如何快速删除电脑自带桌面主题吗 快来看一下吧
- 你知道如何解除电脑自动还原吗 一起来看一下吧
- 电脑反应慢是怎么原因导致的呢 一起来看一下吧
- 物理内存使用率高该怎么办呢 一起来看一下吧
- 笔记本内存低压和标压可以混用吗 一起来看一下吧
- 你知道如何让电脑更干净快速吗 有什么优化方法吗
- IPv6网络的作用是什么呢 一起来看一下吧
- C盘空间满了该怎么清理呢 一起来看一下吧
- 网吧电脑为什么没有硬盘呢 这样的电脑有什么优点吗
- 你知道怎样拦截电脑弹窗广告吗 有什么软件可以用吗
- 电脑运行太慢该怎么办 有什么方法让电脑全面提速吗
- 你知道电脑怎么安装读卡器驱动吗 快来看一下吧
- 你知道电脑中如何禁止软件静默安装吗 一起来看一下吧
- 你知道怎么降低电脑功率吗 一起来看一下吧
- 电脑内存使用率过高有什么方法解决吗 一起来看一下吧
- 电脑C盘空间爆满该怎么解决呢 有什么常用的方法呢
- 电脑卡顿该怎么彻底解决呢 有什么方法吗
- 电脑误删数据还能恢复吗 一起来看一下吧
- 浏览器自动关闭的原因是什么呢 一起来看一下吧
- 如何彻底删除U盘文件呢 一起来看一下吧
- 你知道如何查看网络适配器吗 一起来看一下吧
- 小米满血小屏旗舰来了 小米12降至3199元
- 获得场景视频:虚拟人+元宇宙直播,重构直播营销新场景
- 首发12999元 LG发布新款900OLED显示器
- 小米12Ultra确认搭载骁龙8+ 性能提升10%
- 首发优惠30元 中兴AX3000路由器巡天版明天预售
- 2022年5月23日科技工作者法律服务活动正式启动
- 小米12X价格再创历史最低 300元特惠到手价低至2399元
- vivo新一代入门机Y72t上线 内置6000mAh超大容量电池
- 小米手环7NFC版包装首曝光 1.62英寸AMOLED全面屏