Python字符串的常用方法(3-1)

举报
乂氼S 发表于 2023/05/28 13:00:39 2023/05/28
【摘要】 Python字符串的常用方法(3-1)

目录


        一.字符串的capitalize()首字母大写方法

        二.字符串lower()小写方法

        三.字符串upper()大写方法

        四.字符串swapcase()字母大小写翻转方法

        五.zfill()-0填充方法

        六.字符串的count()方法

        七.字符串startswith()方法和endswith()方法



一.字符串的capitalize()首字母大写方法

  1. capitalize函数的功能:将字符串的首字母大写。其它字母小写

演示:

# coding:utf-8

str = 'ABCD'
new_str = str.capitalize()
print(new_str)

结果:

Abcd

进程已结束,退出代码0

这个例子定义了一个全是大写字母的字符串,然后通过调用capitalize函数,将字符串的首字母转化为大写其它部分转化为小写,然后返回一个新的字符串赋值给new_strcapitalize() 方法创建并返回原始字符串修改后的副本,并不会改变原字符串。


2.capitalize的用法

        用法:new_str = string.capitalize()

        参数:函数括弧内什么都不用填写

        注意!

        只有字符串有capitalize函数,即调用字符串首字母大写的函数,首位是字母就大写,

        非首位是字母就小写

 拓展:我们通过变量.函数()的这种方法,我们可以称它为调用函数。

3.使用capitalize函数的注意事项

  • 只对第一个字母有效(字符串首字母非字母则无效)
  • 只对字母有效
  • 已经是大写则无效

二.字符串lower()小写方法

  首先介绍两个函数:casefold和lower,这两个都是将字符串小写的方法

  1.casefold与lower函数的功能:用于将字符串全体小写

  2.lower与casefold用法:

new_str = string.casefold() -->函数括弧内什么都不用填写

new_str = string.lower() -->函数括弧内什么都不用填写

返回一个新的字符串赋值给new_str,casefold()和lower() 方法也是创建并返回原始字符串修改后的副本,并不会改变原字符串。

   演示:

# coding:utf-8

message_en = 'How do you do? sll'
message_ch = '你好呀,sLl'
message_mix = '你好呀,SLL,今天是星期3!'

message_en_lower = message_en.lower()
message_en_casefold = message_en.casefold()

message_ch_lower = message_ch.lower()
message_ch_casefold = message_ch.casefold()

message_mix_lower = message_mix.lower()
message_mix_casefold = message_mix.casefold()

if __name__ == '__main__':
    print('这里使用的是lower:', message_en_lower, message_ch_lower, message_mix_lower)
    print('这里使用的是casefold::', message_en_casefold, message_ch_casefold, message_mix_casefold)

  结果:

这里使用的是lower: how do you do? sll 你好呀,sll 你好呀,sll,今天是星期3!
这里使用的是casefold:: how do you do? sll 你好呀,sll 你好呀,sll,今天是星期3!

进程已结束,退出代码0

从上面的例子中可以看出来这两个函数的效果一样,那有的小伙伴会问了,既然它们两个的效果一样,那为什么将字符串转化为小写的方法为什么会有两种呢?它们有什么不同点?

  • 不同点: lower是从开始就存在的将字符串转化为小写的方法,而casefold是在python3.3开始引入的,lower是将我们的英文字母转化为小写,但是对于其他的语言,比如说德语就没有办法转化为小写了,这个时候casefold就发挥它的功能了
  • 拓展:casefold函数可以识别更多的对象并将其输出为小写,而lower函数只能完成ASCll码中A-Z之间的大写到小写的转换,当遇到其它语种的时候,大写向小写转换lower函数就无能为力了。
  • 使用空字符串转换为小写,会显示为空不会报错。

3.casefold与lower的注意事项:

  • 只对字符串中的字母有效
  • 已经是小写则无效

 三.字符串upper()大写方法

  1.upper函数的功能:将字符串中的小写字母转换为大写字母

  2.upper函数的用法:

new_str = string.upper() -->函数括弧内什么都不用填写

返回一个新的字符串赋值给new_str,upper()方法同样也是创建并返回原始字符串修改后的副本,并不会改变原字符串。

演示:

# coding:utf-8

info_01 = 'dx sll'
big_info = info_01.upper()  # 将字符串转换为大写
small_info = info_01.lower()  # 将字符串转化为小写

print('大写:' + big_info)
print('小写:' + small_info)

 结果:

大写:DX SLL
小写:dx sll

进程已结束,退出代码0

3.upper的注意事项

  • 只对字符串中的字母有效
  • 已经是大写,则无效

四.字符串swapcase()字母大小写翻转方法

  1.swapcase的功能:将字符串中大小写字母进行转换

  2.swapcase的使用方法:

new_str = string.swapcase() -->函数括弧内什么都不用填写

返回一个新的字符串赋值给new_str,swapcase()方法同样也是创建并返回原始字符串修改后的副本,并不会改变原字符串。

 演示:

# coding:utf-8

info_01 = 'Python Code Is Good'
info_01_swapcase = info_01.swapcase()  # 进行字符串大小写转换

print(info_01_swapcase)

  结果:

pYTHON cODE iS gOOD

进程已结束,退出代码0

  3.swapcase的注意事项

  • 只对字符串中的字母有效

五.zfill()-0填充方法

  1.zfil函数的功能:为字符串定义长度,如不满足,缺少的部分用0填补。

  2.zfill函数的用法:

用法:newstr=string.zfill(width)
参数:width新字符串希望的宽度

演示(用0填充的方法制作半个爱心):

# coding:utf-8

heart = 'love'

if __name__ == '__main__':
    print(' t  ' + heart)
    print('t    ' + heart)
    print(heart.zfill(10))
    print(heart.zfill(9))
    print(heart.zfill(8))
    print(heart.zfill(6))
    print(heart.zfill(4))

结果: 


 t  love
t    love
000000love
00000love
0000love
00love
love

进程已结束,退出代码0

3.zfill的注意事项:

  • 与字符串的字符无关
  • 如果定义长度小于等于当前字符串的长
    度,则不发生变化

六.字符串的count()方法

  1.count的功能:返回当前字符串中某个成员(元素)的个数

  2.count的用法:

用法:inttype=string.count(item)
参数:item查询个数的元素

注意!将会把查询到的元素个数以整型返回给新的变量。

演示:

# coding:utf-8

info = """
    Get Started
Whether you're new to programming or an experienced developer, it's easy to learn and use Python.

Start with our Beginner’s Guide

Download
Python source code and installers are available for download for all versions!

Latest: Python 3.11.2

Docs
Documentation for Python's standard library, along with tutorials and guides, are available online.

docs.python.org

Jobs
Looking for work or have a Python related position that you're trying to hire for? Our relaunched community-run job board is the place to go.

jobs.python.org

Latest News
More
2023-03-23Quick PyCon US Update (it’s in April!)
2023-03-23Protecting the Python Trademarks
2023-03-08Python 3.12.0 alpha 6 released
2023-02-15The Case for a Second Developer-in-Residence for Python
2023-02-10Python Packaging Strategy Discussion Summary - Part 1
Upcoming Events
More
2023-04-01PyTexas 2023
2023-04-07PyCamp Spain 2023
2023-04-17PyCon DE & PyData Berlin 2023
2023-04-19PyCon US 2023
2023-04-25PyLadies Amsterdam: An introduction to Data Science using Snowflake
       """
# 查看a, b, c, d分别在字符串中的数量
a = info.count('a')
b = info.count('b')
c = info.count('c')
d = info.count('d')
number_dict = {
    'a': a, 'b': b, 'c': c, 'd': d
}
number_list = [a, b, c, d]
keys_list = []
values_list = []
number_max = max(number_list)


if __name__ == '__main__':
    print('a,b,c,d的数量', number_dict)
    print('a,b,c,d在字符串中最大的值是:', number_max)

结果:

a,b,c,d的数量 {'a': 59, 'b': 7, 'c': 19, 'd': 26}
a,b,c,d在字符串中最大的值是: 59

进程已结束,退出代码0

 3.count的注意事项:

  • 如果查询的成员(元素)不存在,则返回0

七.字符串startswith()方法和endswith()方法

  1.startswith和endswith功能:

  • startswith判断字符串开始位是否是某成员(元素)
  • endswith判断字符串结尾是否是某成员(元素)

  2.startswith和endswith用法:

用法:
        string.startswith(item)
        string.endswith(item)
        item:你想查询匹配的元素,返回一个布尔值

演示:

# coding:utf-8

info = 'this is a string example!'

result = info.startswith('this')
print(result)
result = info.startswith('this is a string example!')
print(result)

print(bool(info == 'this is a string example!'))

result = info.endswith('example')
print(result)

result = info.endswith('this is a string example!')
print(result)

结果:

True
True
True
False
True

进程已结束,退出代码0

拓展:

1、str.startswith(item,start,end),start和end是可选参数,指定了这两个值,表示在指定范围内检查字符串是否以指定内容开头

2、str.endswith(item,start,end),表示在指定范围内检查字符串是否以指定内容结尾

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。