Python 编程 | 连载 05 - 字符串操作

简介: Python 编程 | 连载 05 - 字符串操作

一、字符串 String 操作

Python中一切皆对象,而每个对象都拥有各自的属性与方法,对象的特点就是它的属性,对象拥有的功能就是它的方法

capitalize 函数

capitalize方法的作用是将字符串首字母大写其他字母小写

capitalize()函数是字符串对象的一个函数,只有字符串才能调用,方法的参数为空并返回一个新的字符串;原字符串不会受到影响

d50fcf0177484270ba9e59494e291f03_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

在python-hero项目中新增capitalize.py文件

name = 'thor'
info = 'stark 斯塔克'
nick_name = '蜘蛛侠 Peter'
number_str = '9527'
new_name = name.capitalize()
new_info = info.capitalize()
new_nick_name = nick_name.capitalize()
new_number_str = number_str.capitalize()
print(new_name)
print("name变量的值:" + name)
print(new_info)
print("info变量的值:" + info)
print(new_nick_name)
print("nick_name变量的值:" + nick_name)
print(new_number_str)
print("number_str变量的值:" + number_str)
复制代码

执行Python脚本

583cb34042654ab8b7c7d17ebb54915a_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

根据控制台输出,capitalize方法将首字母都变成了大写,而原字符串不变

capitalize的注意事项有:

  • 只对第一个字母有效
  • 只对字母有效
  • 字母已经是大写则不做任何改变

casefold 与 lower 函数

casefold函数的功能与lower函数的功能一致,作用是将字符串中所有的字符全部小写,并返回一个新的字符串,且不用填写任何参数

casefold和lower只对字符串中的字母有效,其他字符无效,且如果字符已经全部都是小写,则调用方法不会有任何变化

casefold在python3.3之后才引入的,lower在python2版本中就存在 lower将英文字母小写,其他语言则无法处理 casefold可以将更多语种进行小写处理

name = 'PETER'
info = 'How Are You'
info_ch = '你好啊'
info_empty = ''
new_name = name.casefold()
new_info = info.casefold()
new_info_ch = info_ch.casefold()
new_info_empty = info_empty.casefold()
new_name_lower = name.lower()
new_info_lower = info.lower()
new_info_ch_lower = new_info_ch.lower()
new_info_empty_lower = info_empty.lower()
print(new_name)
print(new_info)
print(new_info_ch)
print(new_info_empty)
print('-------------')
print(new_name_lower)
print(new_info_lower)
print(new_info_ch_lower)
print(new_info_empty_lower)
print('-------------')
复制代码

19b0f057c8cf483aadf8d0e939167ffb_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

对英文casefold和lower对英文语言的作用是一样的,作用于空字符串不会报错且原字符串不变

upper 函数

upper函数的作用是将字符串全体大写,并返回新的字符串,参数为空;upper函数只会作用于字符串中的字母,如果字母已经是大写则无效。

info = 'Hello Python!'
message = 'this is peter, 18 years old'
new_info = info.upper()
new_message = message.upper()
print(new_info)
print(new_message)
复制代码

90f19d36d06e4a6ba2d2a06876b570be_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

swapcase 函数

swapcase是大小写有关中的最后一个函数,该函数的作用是将字符串中的大小写字母进行转换,该函数返回一个新的字符串,传递的参数为空。swapcase函数只针对字符串中的字符有效

info_01 = 'python is The World Best LANGUAGE'
info_02 = 'python web is VERY IMPORTANT'
new_info_01 = info_01.swapcase()
new_info_02 = info_02.swapcase()
print(new_info_01)
print(new_info_02)
复制代码

b433db521ff7469ba2005e1bef370a3c_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

zfill 函数

zfill函数为字符串定义长度,如果字符串长度不满足定义的长度,则用0填补;该函数返回一个新的字符串,并且需要传入一个参数既字符串的长度;zfill函数的使用与字符串的字符无关并且如果定义长度小于当前字符串的长度,则不发生变化

info = 'python'
if __name__ == '__main__':
    print(len(info))
    print(info.zfill(3))
    print(info.zfill(10))
复制代码

130f98f63b2446e190f6d10c72a64ef3_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

count 函数

count 函数返回当前字符串中指定字符的个数,需要传入一个字符作为参数并返回一个整型数据,如果查询的元素不再字符串中就返回0

zen = '''
    The Zen of Python, by Tim Peters
    Beautiful is better than ugly.
    Explicit is better than implicit.
    Simple is better than complex.
    Complex is better than complicated.
    Flat is better than nested.
    Sparse is better than dense.
    Readability counts.
    Special cases aren't special enough to break the rules.
    Although practicality beats purity.
    Errors should never pass silently.
    Unless explicitly silenced.
    In the face of ambiguity, refuse the temptation to guess.
    There should be one-- and preferably only one --obvious way to do it.
    Although that way may not be obvious at first unless you're Dutch.
    Now is better than never.
    Although never is often better than *right* now.
    If the implementation is hard to explain, it's a bad idea.
    If the implementation is easy to explain, it may be a good idea.
    Namespaces are one honking great idea -- let's do more of those!
    '''
is_count = zen.count('is')
print(is_count)
to_count = zen.count('to')
print(to_count)
of_count = zen.count('of')
print(of_count)
复制代码

558de06129ad413095a36f68e84f457e_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

startswith 和 endswith 函数

startswith函数的功能是判断字符串开始位是否是指定的字符串,endswith函数式判断字符串是否以指定的字符串结束,这两个函数都返回布尔值。

info = 'i am iron man'
msg = 'today is monday'
res_01 = info.startswith('i')
print(res_01)
res_02 = msg.startswith('t')
print(res_02)
res_03 = info.endswith('n')
print(res_03)
res_04 = msg.endswith('a')
print(res_04)
复制代码

4daba93a22ae4a7896753e91dec8627e_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

find 函数与 index  函数

find与index都是返回指定成员在字符串中的位置,参数为要查询的字符,返回一个整形;如果find找不到指定元素返回-1,如果index找不到指定元素则会报错

info = 'python is the world best language'
res_01 = info.find('o')
print(res_01)
res_02 = info.index('o')
print(res_02)
res_03 = info.find('go')
print(res_03)
res_04 = info.index('go')
print(res_04)
复制代码

a615e4503f494995b6354544862bd8e9_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

strip、lstrip、rstrip 函数

strip 函数可以去除字符串左右两边的指定元素,默认去除空格;返回一个新的字符串,参数为指定要去除的字符,默认为空格。

注意事项:

  • 传入的元素如果不再开头或者结尾则无效
  • lstrip仅仅去掉字符串开头的指定元素或者空格
  • rstrip仅仅去除字符串结尾的指定元素或者空格
message = '  ---With great power comes great responsibility---   '
message_01 = message.strip()
print(message_01)
message_02 = message_01.strip('-')
print(message_02)
message_03 = message_02.lstrip('W')
print(message_03)
message_04 = message_03.rstrip('y')
print(message_04)
复制代码

76903e7d80b24085956af5857353835a_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

replace 函数

replace函数可以将字符串中指定的元素(old)替换为另一个指定的元素(new),并可以指定替换的数量(max),replace函数需要传入三个参数并返回一个新的字符串,替换数量默认为替换全部,并且从左往右替换,如果要替换的元素字符串中不存在,则字符串不会发生变化

new_str = str.replace(old, new, max)
复制代码
code = 'Who is The strongest Avenger'
code_01 = code.replace('Who', 'Thor')
print(code_01)
code_02 = code.replace('e', 'E')
print(code_02)
code_03 = code.replace('e', 'E', 1)
print(code_03)
code_04 = code.replace('who', 'Hulk')
print(code_04)
复制代码

e802359bd87142c8bc55b656519e7f8e_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

返回 bool 类型的函数

字符串中返回值为bool类型的有以下几个函数

  • isspace:判断字符串是否由空格组成,无须传递参数
  • istitle:判断字符串是否是一个标题类型,无须传递参数
  • isupper:判断字符串中的字符是否都是大写,无须传递参数
  • islower:判断字符串中的字符是否都是小写,无须传递参数

注意:

  • 由空格组成的字串不是空字符串
  • title就是有多个单词组成,每个单词的首字母大写
  • title函数只能用于英文
print('-----isspace函数-----')
print('  '.isspace())
print('HULK'.isspace())
print('STARK '.isspace())
print('-----istitle函数-----')
print('Stark Industry'.istitle())
print('the seven'.istitle())
print('-----isupper函数-----')
print('VISION'.isupper())
print('Thor Odin'.isupper())
print('-----islower函数-----')
print('Tony'.islower())
print('ok'.islower())
复制代码

733699fd86f64f21a512033ece23d101_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

这几个函数使用频率相对较低。


相关文章
|
2月前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
2月前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
2月前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
126 80
|
23天前
|
存储 缓存 Java
Python高性能编程:五种核心优化技术的原理与Python代码
Python在高性能应用场景中常因执行速度不及C、C++等编译型语言而受质疑,但通过合理利用标准库的优化特性,如`__slots__`机制、列表推导式、`@lru_cache`装饰器和生成器等,可以显著提升代码效率。本文详细介绍了这些实用的性能优化技术,帮助开发者在不牺牲代码质量的前提下提高程序性能。实验数据表明,这些优化方法能在内存使用和计算效率方面带来显著改进,适用于大规模数据处理、递归计算等场景。
58 5
Python高性能编程:五种核心优化技术的原理与Python代码
|
3月前
|
Python
在 Python 中,如何将日期时间类型转换为字符串?
在 Python 中,如何将日期时间类型转换为字符串?
149 64
|
3月前
|
存储 索引 Python
Python编程数据结构的深入理解
深入理解 Python 中的数据结构是提高编程能力的重要途径。通过合理选择和使用数据结构,可以提高程序的效率和质量
172 59
|
2月前
|
Python
[oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
本文介绍了Python编程中容易出现的问题,特别是函数名、类名和模块名的重新赋值。通过具体示例展示了将内建函数(如`print`、`int`、`max`)或模块名(如`os`)重新赋值为其他类型后,会导致原有功能失效。例如,将`print`赋值为整数后,无法再用其输出内容;将`int`赋值为整数后,无法再进行类型转换。重新赋值后,这些名称失去了原有的功能,可能导致程序错误。总结指出,已有的函数名、类名和模块名不适合覆盖赋新值,否则会失去原有功能。如果需要使用类似的变量名,建议采用其他命名方式以避免冲突。
52 14
|
1月前
|
存储 人工智能 Python
[oeasy]python061_如何接收输入_input函数_字符串_str_容器_ 输入输出
本文介绍了Python中如何使用`input()`函数接收用户输入。`input()`函数可以从标准输入流获取字符串,并将其赋值给变量。通过键盘输入的值可以实时赋予变量,实现动态输入。为了更好地理解其用法,文中通过实例演示了如何接收用户输入并存储在变量中,还介绍了`input()`函数的参数`prompt`,用于提供输入提示信息。最后总结了`input()`函数的核心功能及其应用场景。更多内容可参考蓝桥、GitHub和Gitee上的相关教程。
16 0
|
2月前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
116 2
|
2月前
|
小程序 开发者 Python
探索Python编程:从基础到实战
本文将引导你走进Python编程的世界,从基础语法开始,逐步深入到实战项目。我们将一起探讨如何在编程中发挥创意,解决问题,并分享一些实用的技巧和心得。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供有价值的参考。让我们一起开启Python编程的探索之旅吧!
65 10

热门文章

最新文章

推荐镜像

更多