Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何对以下字符串执行函数:`string.func()`_Python - Fatal编程技术网

Python 如何对以下字符串执行函数:`string.func()`

Python 如何对以下字符串执行函数:`string.func()`,python,Python,让我们假设我有一个函数,使我的文本增加更大的空间 def较大的_空格(文本): text=列表(text) 打印(“”.join(文本)) 要执行它,我需要做更大的空格(我的文本)。我怎样才能这样执行: my_text.bigger_spaces() 我知道我可以创建一个类,但是我必须首先将字符串添加到该类中 class MyString: def __init__(self, string): self.string = string def bigger_

让我们假设我有一个函数,使我的文本增加更大的空间

def较大的_空格(文本):
text=列表(text)
打印(“”.join(文本))
要执行它,我需要做
更大的空格(我的文本)
。我怎样才能这样执行:

my_text.bigger_spaces()
我知道我可以创建一个类,但是我必须首先将字符串添加到该类中

class MyString:
    def __init__(self, string):
        self.string = string
    def bigger_string(self):
        print(' '.join(self.string))

mystring = MyString("this is the string")
mystring.bigger_string()
输出

t h i s   i s   t h e   s t r i n g
H e l l o
Python 3.7中的数据类

from dataclasses import dataclass

@dataclass
class St:

    text : str

    def bigger(self) -> None:
        self.text = list(self.text)
        print(" ".join(self.text))

mys = St("Hello")
mys.bigger()
输出

t h i s   i s   t h e   s t r i n g
H e l l o

我可能会将
str
子类化,然后将
text
作为该类的一个实例,而不是修改内置的
str
类,在Python中,这根本不是一件负责任的事情。。。可以说,更多的是考虑文化问题,而不是实际的运行时差异(Python世界对可读性、可预测性、可维护性等有更多的欣赏)。创建一个具有函数“biger_spaces()”的类,并将文本作为该类的一个属性,然后创建对象“my_text”作为该类的一个实例。@rafa_rrayes,仅仅因为另一个例子得到了一个你不喜欢的答案,并不意味着它不是被问到的同一个问题。答案是“不,你不能”——故意这样;在Python世界中,我们认为这种做法是危险的,因为蒙太奇会使人们更难理解代码在阅读中所起的作用(增加需要阅读和理解的上下文量),甚至当它只与内置类型交互作用时,Python也不是用来支持将方法添加到内置类中的,并且尝试蛮力它是怪异的分段和内存损坏的配方。考虑添加这个答案,而不是在这里;这样,它将获得更广泛的受众,我们将避免人们的注意力分散在问题的多个实例上,而这些实例可能只关注一个问题。