Python基础教程(第2版)第三章 使用字符串

所有标准的序列操作(索引、分片、乘法、判断成员资格、求长度、取最小值和最大值)对字符串同样适用

        但是字符串都是不可变的,即类似分片赋值操作是不合法的

1.字符串格式化

使用字符串格式化操作符%来实现

        %转换标志(可选)最小字段宽度(可选).精度值(可选)转换类型(s,f,c)

        %:标记转换说明符的开始

        转换标志(可选):    -表示左对齐
                                            +表示在转换值之前要加上正负号
                                            “”(空白字符)表示正数之前保留空格
                                            0表示转换值若位数不够则用0填充

        最小字段宽度(可选):

                转换后的值所保留的最小字符个数,如果是*则宽度会从值元组中读出

        点(.)后跟精度值(可选):

                如果转换的是实数,精度值就表示出现在小数点后的位数
                如果转换的是字符串,那么该数字表示转换后的值所能包含的最大字符个数
                如果是*,那么精度将会从元组中读出

格式化字符串的%s部分称为转换说明符,标记了需要插入转换值的位置

format="Hello, %s %s enough for ya?"

%左侧放置待格式化字符串,右侧则放置希望格式化的值(可以是一个字符串或数字,也可以是含多个值的元组或字典)

format="Hello, %s %s enough for ya?"
values=('world','Hot')
print(format % values)	#Hello, world Hot enough for ya?

如果需要转换的元组是作为表达式的一部分存在,则需要将它用圆括号括起来

print(format % ('world','Hot'))	#Hello, world Hot enough for ya?

当右操作数是元组时,其中的每一个元素都会被单独格式化,每个值都需要一个对应的转换说明符

print('%s plus %s equals %s' % (1,1,2))	#1 plus 1 equals 2

如果要格式化浮点数,可以使用f说明符类型,同时提供所需要的精度(希望保留的小数位数)

print("Hello, %.0f"%2022)	#Hello, 2022

1.1 字符串格式化转换类型:

print("带符号的十进制整数(42):",'%d' % 42)	#带符号的十进制整数(42): 42
print("带符号的十进制整数(42):",'%i' % 42)	#带符号的十进制整数(42): 42
print("不带符号的八进制(42):",'%o' % 42)		#不带符号的八进制(42): 52
print("不带符号的十进制(42):",'%u' % 42)		#不带符号的十进制(42): 42
print("不带符号的十六进制(42)小写:",'%x' % 42)	#不带符号的十六进制(42)小写: 2a
print("不带符号的十六进制(42)大写:",'%X' % 42)	#不带符号的十六进制(42)大写: 2A
print("科学计数法表示的浮点数(2022.01)小写:",'%e' % 2022.01)	#科学计数法表示的浮点数(2022.01)小写: 2.022010e+03
print("科学计数法表示的浮点数(2022.01)大写:",'%E' % 2022.01)	#科学计数法表示的浮点数(2022.01)大写: 2.022010E+03
print("十进制浮点数(2022.01):",'%.2f' % 2022.01)		#十进制浮点数(2022.01): 2022.01
print("十进制浮点数(2022.01):",'%.2F' % 2022.01)		#十进制浮点数(2022.01): 2022.01
print("单字符(S):",'%c' % 'S')	#单字符(S): S
print("字符串(2022.01)-使用repr转换任意Python对象:",'%r' % 2022.01)		#字符串(2022.01)-使用repr转换任意Python对象: 2022.01
print("字符串(Hello,world)-使用str转换任意Python对象:",'%s' % 'Hello,world')	#字符串(Hello,world)-使用str转换任意Python对象: Hello,world

1.2 字段宽度和精度

字段宽度是转换后的值所保留的最小字符个数

精度(对于数字转换来说) 则是结果中应该包含的小数位数,或者(对于字符串转换来说)是转换后
的值所能包含的最大字符个数

from math import pi
print("字段宽度(pi):","%10f" % pi)		#字段宽度(pi):   3.141593
print("字段精度(pi):","%10.2f" % pi)	#字段精度(pi):       3.14

在字段宽度和精度值之前还可以放置一个“标表”,该标表可以是零、加号、减号或空格

        零表示数字将会用0进行填充

print("%010.2f" % pi)	#0000003.14
#字符串格式化示例:使用给定的宽度打印格式化后的价格列表
# width=int(input('Please enter width: '))
width=50
price_width=10
item_width=width-price_width
header_format='%-*s%*s'
format='%-*s%*.2f'
print('='*width)
print(header_format % (item_width,'Item',price_width,'Price'))
print('-'*width)
print(format % (item_width,'Apples',price_width,0.4))
print(format % (item_width,'Pears',price_width,0.5))
print(format % (item_width,'Cantaloupes',price_width,1.92))
print(format % (item_width,'Dried Apricots (16 oz.)',price_width,8))
print(format % (item_width,'Prunes (4 lbs.)',price_width,12))
print('='*width)
# ==================================================
# Item                                         Price
# --------------------------------------------------
# Apples                                        0.40
# Pears                                         0.50
# Cantaloupes                                   1.92
# Dried Apricots (16 oz.)                       8.00
# Prunes (4 lbs.)                              12.00
# ==================================================

2.字符串方法

一些有用的字符串常量:

        string.digits:包含数字0~9的字符串

        string.letters:包含所有字母(大写或小写)的字符串

        string.lowercase:包含所有小写字母的字符串

        string.printabie:包含所有可打印字符的字符串

        string.punctuation:包含所有标点的字符串

        string.uppercase: 包含所有大写字母的字符串

        字母字符串常量(例如string.letters )与地区有关(其具体值取決于Python所配置的语言)

        如果可以确定自己使用的是ASCI,那么可以在变量中使用ascii_前缀,如:string.ascii_letters

find函数:查找子字符串,返回子串第一个字符所在位置

        还可以接受可选的起始点和结束点参数

        如果返回值为0,说明在索引0的位置找到了子串

title="Monty Python's Flying Circus"
print(title.find('on'))	#1
print(title.find('on',2,16))	#10
print(title.find('Monty'))	#0

join函数:在队列中添加元素

seq=['1','2','3','4','5']
sep='+'
print(sep.join(seq))	#1+2+3+4+5
dirs='','usr','bin','env'	#元组
print('/'.join(dirs))	#/usr/bin/env

split函数:将字符串分割成序列

        如果不提供分隔符,系统会把所有空格作为分隔符

print('1+2+3+4+5'.split('+'))	#['1', '2', '3', '4', '5']
print('Trondheim Hammer Dance'.split())	#['Trondheim', 'Hammer', 'Dance']

lower函数:返回字符串的小写字母版

print('Trondheim Hammer Dance'.lower())	#trondheim hammer dance

strip函数:返回去除两侧空格的字符串

        也可以指定需要去除的字符

print('       internal whitespace is kept           '.strip())	#internal whitespace is kept
print('**********internal******whitespace****is!!!!!kept**!!!!!!!******'.strip('*!'))	#internal******whitespace****is!!!!!kept

replace函数:返回所有匹配项均被替换之后的字符串

print('This is a test'.replace('is','eez'))	#Theez eez a test

translate函数(Python2适用):替换字符串的单个字符,第二个参数用来指定需要删除的字符串

        makestrans函数接收两个等长的字符串:将第一个字符串中的每个字符都用第二个字符串中相同位置的字符替换

from string import maketrans
table=maketrans('cs','kz')
print('This is a incredible test'.translate(table))
print('This is a incredible test'.translate(table," "))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《Python基础教程(第二).pdf》是一本经典的Python编程教材。它由Magnus Lie Hetland编写,旨在帮助读者快速入门Python编程。 这本教程首先介绍了Python基础知识,包括变量、数据类型、运算符、流程控制等。然后,它详细介绍了Python的核心概念,如函数、模块和面向对象编程。通过阅读这本教程,读者可以深入了解Python的语法和用法。 与其他类似的教程不同,《Python基础教程(第二).pdf》还涵盖了一些高级主题。它讲解了正则表达式、文件处理、异常处理等常用技术,帮助读者提高程序的稳定性和灵活性。此外,它还介绍了Python的标准库以及许多常用的第三方库和工具,如NumPy、Pandas、Matplotlib等,使读者能够更好地利用Python进行数据分析和可视化。 这本教程不仅内容全面,而且编排合理,讲解清晰易懂。每个重要的概念都通过例子进行了详细说明,并配有相应的练习题,帮助读者巩固所学知识。此外,书中还提供了大量的代码示例和实际项目案例,使读者能够实际运用所学知识。 总的来说,《Python基础教程(第二).pdf》对于想要学习和掌握Python编程的人来说是一本非常有价值的教材。无论是初学者还是有一定编程经验的人,都可以从中获得丰富的知识和实践经验。阅读这本教程将帮助读者建立起坚实的Python基础,为以后深入学习和开发Python项目打下良好的基础。 ### 回答2: 《Python基础教程(第二)》是一本介绍Python编程语言基础知识的教材。作者根据自己的编程经验和教学经验,系统地介绍了Python编程语言的语法和常用功能。本书的内容有两部分,第一部分是基础知识,包括Python的数据类型、运算符、流程控制语句等基础概念和应用。第二部分是实际应用,介绍了Python在文件操作、异常处理、模块与包、面向对象编程等方面的应用。 在第一部分中,读者将学习到Python的基本数据类型,如字符串、列表、字典、元组等,并学习如何使用运算符进行计算和比较。此外,本书还介绍了Python的流程控制语句,包括if语句、for循环和while循环,使读者能够编写简单的程序解决基本问题。 第二部分则更加深入地介绍了Python的实际应用。读者将学习如何操作文件,包括读写文件和处理CSV文件。此外,本书还介绍了如何进行异常处理,以及如何使用模块和包扩展Python的功能。最后,本书还介绍了面向对象编程的基本概念和方法,使读者能够更好地组织和管理程序。 《Python基础教程(第二)》是一本深入浅出的Python教材,适合初学者学习Python编程语言。本书通过丰富的实例和案例,帮助读者理解和掌握Python的基本概念和语法。无论是想从零开始学习Python的初学者,还是想巩固和扩展Python知识的人,都可以从本书中受益。读者通过阅读本书,将掌握Python编程的基本技能,并能够应用到实际项目中。 ### 回答3: 《Python基础教程(第二).pdf》是一本非常经典的Python编程入门教材。本书全面介绍了Python语言的基础知识和常见的编程技巧。 首先,本书从Python的安装和环境配置开始,详细介绍了如何搭建Python开发环境。然后,通过简单的示例代码,详细讲解了Python的基本语法,包括变量、数据类型、运算符、条件语句、循环语句等。读者可以通过跟随书中的例子一步一步地学习Python的语法规则和使用方法。 接着,本书介绍了Python的函数和模块概念。读者可以了解如何定义和使用函数,以及如何使用Python的各种内置模块来扩展自己的程序功能。此外,本书还涵盖了Python的面向对象编程的基础知识,包括类、对象、继承、多态等。这些内容对于进一步掌握Python编程非常重要。 此外,《Python基础教程(第二).pdf》还深入介绍了Python的文件操作、异常处理、正则表达式等高级主题。这些内容可以帮助读者更好地理解Python的强大功能和灵活性,为实际项目开发打下坚实的基础。 总之,作为Python编程的入门教材,《Python基础教程(第二).pdf》详细而全面地介绍了Python语言的基础知识和常用的编程技巧。通过系统学习本书,读者可以快速掌握Python编程的基本概念和方法,并能够应用于实际项目开发中。无论是初学者还是有一定Python经验的开发者,都可以从本书中获得很大的帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值