iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python基础之文本常量与字符串模板
  • 427
分享到

Python基础之文本常量与字符串模板

2024-04-02 19:04:59 427人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录一、前言二、首字母大写三、字符串模板四、高级模板五、fORMat用法六、进阶用法七、高阶用法一、前言 在程序中,有很多高效率的字符串处理方式,如果开发者能够完全掌握这些高效的字符

一、前言

在程序中,有很多高效率的字符串处理方式,如果开发者能够完全掌握这些高效的字符串处理,往往在开发者也能事半功倍。比如针对于字符串的处理,也是自然语言处理的基础知识。

python3中,处理字符串的库为:string。本篇将详细介绍各种字符串的高效处理方式。

二、首字母大写

对于英文单词组成的字符串来说,很多时候,我们需要对英文的首字母进行大写的变更。如果没有了解其高效率的函数,一般我们都通过循环,判断空格,取空格后一位的字母,判断其在ASCII中的编码后,取其大写替换掉该位置的字符串。

但是,python3中有一个函数可以直接将首字母大写,该函数为capWords()。下面,我们来通过一小段代码实现首字母大写的字符串变更。


import string

s = "When he shewed the riches of his glorious kingdom and the honour of his excellent majesty many days, even an hundred and fourscore days"
print("原始字符串")
print(s)
result = string.capwords(s)
print("首字母大写字符串")
print(result)

运行之后,我们会得到全大写首字母字符串:

首字母大写

三、字符串模板

在string库中,字符串模板函数为string.Template(),它可以用来拼接字符串。示例代码如下:


import string

values = {
    "name": "liyuanjing",
    "age": "13",
}

s = """My name is : $name
    I am $age years old
"""

template_str = string.Template(s)
print(template_str.substitute(values))

这里,我们使用字符串模板string.Template,然后通过函数substitute()进行字符串替换。

字符串模板

不过,这里有可能替换时values字典中没有对应的key怎么办?string库还给我们提供了一个函数safe_substitute()。


import string

values = {
    "name": "liyuanjing",
    "age": "13",
}

s = """My name is : $name
    I am $age years old
    $work
"""

template_str = string.Template(s)
print(template_str.safe_substitute(values))

因为字典没有对应的值进行替换,所以会保留原始的字符串数据。效果如下:

模板2

四、高级模板

上面的模板使用方法是string库默认提供的规则体系。其实,我们还可以自定义模板的使用匹配方法,具体代码如下:


import string

class MyTemplate(string.Template):
    delimiter = '@'
    idpattern = '[a-z]+_[0-9]+'

values = {
    "name_1": "liyuanjing",
    "age_1": "13",
}

s = """My name is : @name_1
    I am @age_1 years old
    @work_1
"""

template_str = MyTemplate(s)
print(template_str.safe_substitute(values))

这里,delimiter代表需要匹配的符号,默认符号"$",博主替换成了‘@'。其次,idpattern是values对应的key名字规则,这里用正则表达式规定,比如是"字符串_数字"。运行之后,效果如下:

高级模板

五、format用法

基本用法

有过其他语言基础的都应该或多或少接触过format字符串替换。这里,我们直接来看看其基本的使用方式:


print("My name is {}".format("liyuanjing"))#大括号匹配,按顺序依次填充
print("My {1} is {0}".format("liyuanjing","name"))#数字匹配,按位置依次填充
print("My {name} is {tom}".format(tom="liyuanjing",name="name"))#关键字匹配,按关键字填充

运行之后,效果如下:

format1

六、进阶用法

format函数不仅可以匹配替换字符串,还可以通过它对其文本,或者取小数某几位等等。下面,我们来看看这些用法如何实现


print('{} and {}'.format('tom', 'Jerry'))
print('{:10s}'.format('*'))  # 默认左对齐
print('{:>10s}'.format('*'))  # 右对齐
print('{:^10s}'.format('*'))  # 中间对齐
print('{:<10s}'.format('*'))  # 左对齐
print('{} is {:.2f}'.format(3.411592653, 3.1415926))#取2位小数
values = {
    "name_1": "liyuanjing",
    "age_1": "13",
}

s = """My name is : {name_1}
    I am {age_1} years old
"""

print(s.format(**values))

注释已经非常详细,这里不在赘述。效果如下:

format2

七、高阶用法

format除了能做上面这些事情之外,还可以转换进制以及ASCII码符号等等。下面,我们来实现这些高阶用法。


print('{:b}'.format(8))#:b转换为二进制
print('{:c}'.format(200))#:c转换Unicode字符串
print('{:d}'.format(111))#:d转换十进制
print('{:o}'.format(8))#:o转换八进制
print('{:x}'.format(32))#:x转换十六进制
print('{:e}'.format(32))#:e转换幂符号
print('{:%}'.format(0.32))#:%转换百分值
print('{:n}'.format(32000000000))#:n就是数值
print('{:g}'.format(32000000000))#:n也是数值,不过特别大时转换为幂科学计数

运行之后,效果如下:

format3

到此这篇关于Python基础之文本常量与字符串模板的文章就介绍到这了,更多相关Python文本常量与字符串模板内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python基础之文本常量与字符串模板

本文链接: https://www.lsjlt.com/news/124592.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python基础之文本常量与字符串模板
    目录一、前言二、首字母大写三、字符串模板四、高级模板五、format用法六、进阶用法七、高阶用法一、前言 在程序中,有很多高效率的字符串处理方式,如果开发者能够完全掌握这些高效的字符...
    99+
    2024-04-02
  • Python基础之文本常量与字符串模板的示例分析
    这篇文章将为大家详细讲解有关Python基础之文本常量与字符串模板的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。python的五大特点是什么python的五大特点:1.简单易学,开发程序时,专注...
    99+
    2023-06-14
  • Python中有哪些文本常量与字符串模板string库
    本篇文章给大家分享的是有关Python中有哪些文本常量与字符串模板string库,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、前言在程序中,有很多高效率的字符串处理方式,如...
    99+
    2023-06-15
  • Python基础之字符串
    初识字符串 字符串的认识 首先,我们先认识下什么是字符串: # 定义字符串 t_str1 = "Hello World" t_str2 = "asdfghh" print(t_str1) # Hello World print(t_s...
    99+
    2023-01-31
    字符串 基础 Python
  • Python入门基础之变量及字符串
    目录变量关于变量变量名命名规则字符串原始字符串长字符串总结变量 当把一个值赋给一个名字时,它就会存储在内存中,我们把这块内存称为变量(variable)。 在大多数语言中,都把这种行...
    99+
    2024-04-02
  • Python中如何处理字符串常量和模板
    在Python中,我们可以使用字符串常量和模板来处理字符串。字符串常量是固定不变的字符串,而字符串模板则是包含占位符的字符串,可以根...
    99+
    2024-04-02
  • Python之路-基础数据类型之字符串
    字符串是不可变的数据类型 索引(下标) 我们在日常生活中会遇到很多类似的情况,例如吃饭排队叫号,在学校时会有学号,工作时会有工号,这些就是一种能保证唯一准确的手段,在计算机中也是一样,它就叫索引,也叫下标, 注意:索引都是从0开始,只有...
    99+
    2023-01-30
    之路 字符串 数据类型
  • Kotlin基础通关之字符串与数字类型
    1.kotlin的字符串操作和Java有些不同,有些新增。 1)先看字符串比较 java中==比较的是变量的引用是否指向同一个地址,Kotlin中用===比较引用。 kotlin中用...
    99+
    2024-04-02
  • Python基础之字符串格式化详解
    目录一、前言二、百分号2.1 通过位置传参2.2 通过关键字传参三、 format 方式3.1 参数数据类型3.2 传参的方式3.3 格式化的其他配置参数3.4 格式化时间一、前言 ...
    99+
    2024-04-02
  • Python基础篇之字符串方法总结
    目录字符串拼接字符串分割字符串替换字符串大小写转换字符串判断partition()的用法总结python中字符串内置方法很多,可以通过dir()方式查看具体有哪些方法,下表是pyth...
    99+
    2023-05-17
    Python字符串方法总结 Python字符串方法 Python字符串
  • Java基础之String类使用与字符串比较
    目录一、String类概述二、String类的特点三、String类的构造方法四、创建字符串对象两种方式的区别五、字符串的比较六、用户登录案例一、String类概述 String类代...
    99+
    2024-04-02
  • Python基本数据类型之字符串str
    字符串的表示方式 单引号 ' ' 双引号 " " 多引号 """ """"  、 ''' ''' print("hello world") ...
    99+
    2024-04-02
  • java基础之日期与字符串的任意转换
    目录   前言: 日期转字符串: 1.创建日期对象: 2.创建字符串的格式化模版: 字符串转日期: 前言: 本文主要讲述如何将日期类型转化为字符串类型,以及将字符串类型转化为日期类型,一看就懂,一学就会! 日期转字符串: 1.创建日期...
    99+
    2023-08-31
    java
  • Python基础篇之字符串的最全常用操作方法汇总
    目录前言:字符串的最全常用操作方法string.capitalize()​​​​​string.upper()​​string.lower()string.swapcase()​​​...
    99+
    2024-04-02
  • Python之字符串的基本操作(很详细)
    一、字符串的索引与切片 Python语言中的字符串包括两种序号体系:正向递增序号和反向递减序号。 1.1 字符串的索引访问 1.2 字符串的切片访问  具体语法格式为:【头下标:尾下标】 ,这种访问方式称之为“切片”。但注意这是左闭右开的...
    99+
    2023-08-31
    python 开发语言
  • Python中字符串的基础介绍及常用操作总结
    目录1.字符串的介绍2.字符串的下标3.字符串切片4.字符串find()操作5.字符串index()操作6.字符串count()操作7.字符串replace()操作8.字符串spli...
    99+
    2024-04-02
  • python学习字符串驻留与常量折叠隐藏特性详解
    下面是Python字符串的一些微妙的特性,绝对会让你大吃一惊。 案例一: 案例二: 案例三: 很好理解, 对吧? 说明: 这些行为是由于 Cpython 在编译优化时,...
    99+
    2024-04-02
  • 【Kotlin】基础速览(1):操作符 | 内建类型 | 类型转换 | 字符串模板 | 可变 var 和不可变 val
      📜 本章目录: 0x00 操作符(operators) 0x01 内建类型(Build-in) 0x02 类型转换:显式类型转换 0x03 在较长数字中使用下划线 0x0...
    99+
    2023-09-01
    kotlin 安卓 原力计划
  • 如何使用Python中的字符串操作函数处理大规模文本数据
    如何使用Python中的字符串操作函数处理大规模文本数据,需要具体代码示例随着互联网的快速发展和数据的不断增加,大规模文本数据处理成了现代科技中的一个重要课题。Python作为一门简单易学且功能强大的编程语言,提供了丰富的字符串操作函数,能...
    99+
    2023-10-22
    字符串操作 Python编程 大规模数据
  • 通过Python切片与索引操作字符串的艺术:将文字玩弄于股掌之间
    Python中字符串的切片与索引操作可谓是字符串操作的绝佳利器,它们允许我们以各种方式对字符串进行分割、提取和重组,从而轻松实现各种复杂的字符串操作。 一、字符串切片 字符串切片操作使用方括号([]),其中方括号内的数字表示要提取的子字...
    99+
    2024-02-08
    Python 字符串 切片 索引 操作
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作