龙空技术网

Python自定义字符串UserString 使用办法

洪较瘦不着调退役it人 140

前言:

而今你们对“python user”大概比较关怀,你们都想要了解一些“python user”的相关内容。那么小编在网络上收集了一些对于“python user””的相关内容,希望看官们能喜欢,姐妹们快快来学习一下吧!

回顾一下字符串Python传统字符串字符串是 Python 中最常用的数据类型。我们可以使用引号 ( '" ) 来创建字符串。创建字符串很简单,只要为变量分配一个值即可。例如:

var1 = 'Hello World!'var2 = "Python Runoob"
import strings="abcde"#放入print中使用print(s.upper())print(s.lower())print("abcdef".upper())print("QWERT".lower())#这里注意是通过生成新的字符串而不是更改原来字符串s.upper()print(s)
多选字符串使用用三个单引号 ’‘’ hello world ‘’‘
'''大家好,我是注释我是给人看的不是给机器执行的'''names = """  jack                rose                tom"""print(names)

了解 Python 集合 UserString 类

自 1.6 版以来,UserString 类已包含在 Python 中,但是,它已移至 Python 3 中的 collections 模块。可以使用 UserString 类从字符串继承,以增强或修改其默认行为。特别是,该类只是子类,而不是实例化。

这意味着该类继承自字符串并模拟它。UserString 还使原始字符串可通过属性访问.data.

该类创建了一个属性,用于存储基础字符串的内容。这允许您构建有权访问基础数据的自定义方法和行为。data

让我们看看这个类是如何定义的,以及如何创建一个简单的UserString:

# Creating a UserDictfrom collections import UserStringclass Custom(UserString):    passcustom_string = Custom('datagy.io')print(custom_string)# Returns:# datagy.io

在上面的示例中,创建了一个 UserString,它不会修改常规字符串的行为。此示例仅用于说明自定义字符串继承了普通 Python 字符串的所有默认行为。

使用 Python UserString 创建自定义字符串

在前面的示例中,创建了一个 UserString 字符串,该字符串根本不修改字符串的行为。但是,让我们深入了解一些更高级的用例。创建一个字符串,其中包含一些额外的方法来以不同的方式打印字符。默认情况下,该字符串还将从字符串中删除任何标点符号。

默认情况下,Python 字符串允许您以不同的方式打印字符串。例如,可以使用 and 方法以大写和小写形式打印值。创建一个自定义字符串类,用于交替打印大小写。这意味着像这样的字符串将被打印为 ..upper().lower()'datagy''dAtAgY'

让我们看看如何使用 UserString 类来创建自定义 Python 字符串:

# Create a Custom String Classfrom collections import UserStringimport reclass FunnyString(UserString):    def __init__(self, sequence):        self.data = re.sub(r'[^\w\s]', '', sequence)    def funnify(self):        funny = ""        for idx in range(len(self.data)):            if not idx % 2:                funny += self.data[idx].upper()            else:                funny += self.data[idx].lower()        print(funny)text = FunnyString('Hello! Welcome to datagy.io!')

UserString 的优点在于它使用参数公开基础字符串。可以轻松修改用于实例化对象的字符串。然后在方法中使用该属性。.data.data__init__()

# Instantiating a String Without Punctuationfrom collections import UserStringimport reclass FunnyString(UserString):    def __init__(self, sequence):        self.data = re.sub(r'[^\w\s]', '', sequence)

在本例中使用该函数获取原始字符串并从字符串中删除任何标点符号。打印我们创建的字符串时,它将被打印出来,其中没有任何标点符号:__init__()

# Printing a Custom Stringtext = FunnyString('Hello! Welcome to datagy.io!')print(text)# Returns: Hello Welcome to datagyio

可以看到,传入的字符串被修改为删除了其中的任何标点符号。同样,我们加入了一个额外的方法:.funnify()

# Adding a Custom Method to Our UserStringfrom collections import UserStringimport reclass FunnyString(UserString):    ...    def funnify(self):        funny = ""        for idx in range(len(self.data)):            if not idx % 2:                funny += self.data[idx].upper()            else:                funny += self.data[idx].lower()        print(funny)

遍历字符串中的每个项目,并使用模运算符将其小写或大写。调用该方法,看看它是什么样子的:

# Calling the Custom String Methodtext = FunnyString('Hello! Welcome to datagy.io!')text.funnify()# Returns: HeLlO WeLcOmE To dAtAgYiO

该类首先从字符串中删除标点符号,随后调用该方法时,字符串以交替的顺序大写。.funnify()

结论

UserString 类创建自定义 Python 字符串。可以轻松构建具有自定义行为或新功能的新字符串,这些字符串建立在常规 Python 字符串之上。

标签: #python user