Python之标点符号string.punctuation的使用

 更新时间:2024年09月18日 08:52:29   作者:Covirtue  
Python的string模块提供了一个方便的属性string.punctuation,其中包含所有ASCII标点符号字符,这使得在处理和识别字符串中的标点符号时非常有用,可以通过简单的in关键字来检测字符是否为标点

Python标点符号string.punctuation

在Python中,string 模块包含了一些用于处理字符串的常量和方法。其中,string.punctuation 是一个字符串,它包含了所有的ASCII标点符号字符。

string.punctuation 的值如下:

'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'

这个字符串包含了所有常见的标点符号,例如感叹号、引号、括号、逗号、冒号、分号、问号、@符号、方括号、大括号、波浪线等。

如果你想要检查一个字符是否是标点符号,你可以使用 in 关键字来检查这个字符是否在 string.punctuation 中:

import string

char = "!"
if char in string.punctuation:
    print(f"{char} 是一个标点符号")
else:
    print(f"{char} 不是一个标点符号")

输出:

! 是一个标点符号

这样,你就可以使用 string.punctuation 来识别和处理字符串中的标点符号了。

妙用string.punctuation

>>> import string
>>> dir(string)
['Formatter', 'Template', '_ChainMap', '_TemplateMetaclass', '__all__', '__built
ins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__packag
e__', '__spec__', '_re', '_string', 'ascii_letters', 'ascii_lowercase', 'ascii_u
ppercase', 'capwords', 'digits', 'hexdigits', 'octdigits', 'printable', 'punctua
tion', 'whitespace']
>>> string.ascii_lowercase  #所有的小写字母
'abcdefghijklmnopqrstuvwxyz'
>>> string.ascii_uppercase  #所有的大写字母
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.hexdigits        #所有的十六进制字符
'0123456789abcdefABCDEF'
>>> string.whitespace       #所有的空白字符
' \t\n\r\x0b\x0c'
>>> string.punctuation      #所有的标点字符
'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'

常用标点符号

punctuation = ['!', '"', '#', '$', '%', '&', "'", '(', ')', '*', '+', ',', '-', '.', '/', ':', ';', '<', '=', '>', '?', '@', '[', '\\', ']', '^', '_', '`', '{', '|', '}', '~']

统计一个文件或一个字符串中所有单词出现的次数。由于句子中存在标点符号,直接对字符串切割的话会把单词和标点切割在一起。

为了避免这个问题,我们可以先把句子中的标点符号统一替换为空格,然后在split()切割即可搞定。

这时候就可以用上string.punctuation

import string    #注意使用前要先将string模块导入
def read_file(txt):  # txt为文件名
    for c in string.punctuation:
        txt = txt.replace(c,' ')
return txt.split

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python使用kombu连接信息中包含#号问题排查方式

    Python使用kombu连接信息中包含#号问题排查方式

    文章描述了在部署Python项目到生产环境时遇到的一个错误,即端口号无法正确转换为整数值,该错误在测试环境和本地调试中没有出现,但在生产环境中才出现,通过分析错误信息和代码,作者发现问题出在URL解析过程中,特别是在处理包含特殊字符(如#号)的URL时
    2024-12-12
  • 解决python异步框架aiohttp无法使用本地代理问题

    解决python异步框架aiohttp无法使用本地代理问题

    这篇文章主要介绍了解决python异步框架aiohttp无法使用本地代理问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • git查看、创建、删除、本地、远程分支方法详解

    git查看、创建、删除、本地、远程分支方法详解

    这篇文章主要介绍了git查看、创建、删除、本地、远程分支方法详解,需要的朋友可以参考下
    2020-02-02
  • python中 @的含义以及基本使用方法

    python中 @的含义以及基本使用方法

    @用做函数的修饰符,可以在模块或者类的定义层内对函数进行修饰,下面这篇文章主要给大家介绍了关于python中 @ 的含义以及基本使用的相关资料,需要的朋友可以参考下
    2021-12-12
  • Python中re模块结合正则表达式的实际应用案例

    Python中re模块结合正则表达式的实际应用案例

    Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主要介绍了Python中re模块结合正则表达式的实际应用案例,需要的朋友可以参考下
    2025-06-06
  • Python中celery的使用

    Python中celery的使用

    Celery是一个简单、灵活且可靠的,处理大量消息的分布式系统,专注于实时处理的异步任务队列,同时也支持任务调度。接下来通过本文给大家介绍Python中celery的使用详解,感兴趣的朋友一起看看吧
    2021-08-08
  • Python OpenCV调用摄像头检测人脸并截图

    Python OpenCV调用摄像头检测人脸并截图

    这篇文章主要为大家详细介绍了Python OpenCV调用摄像头检测人脸并截图,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • Python GUI之tkinter布局管理教程

    Python GUI之tkinter布局管理教程

    这篇文章主要介绍了Python GUI之tkinter布局管理教程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • Python中的内存管理之python list内存使用详解

    Python中的内存管理之python list内存使用详解

    这篇文章主要介绍了Python中的内存管理之python list内存使用详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • Python实现抢购IPhone手机

    Python实现抢购IPhone手机

    这篇文章主要为大家详细介绍了Python实现抢购IPhone手机,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02

最新评论