相关疑难解决方法(0)

自我的目的是什么?

selfPython 中这个词的目的是什么?我理解它指的是从该类创建的特定对象,但我不明白为什么它明确需要作为参数添加到每个函数.为了说明,在Ruby中我可以这样做:

class myClass
    def myFunc(name)
        @name = name
    end
end
Run Code Online (Sandbox Code Playgroud)

我很容易理解.但是在Python中我需要包括self:

class myClass:
    def myFunc(self, name):
        self.name = name
Run Code Online (Sandbox Code Playgroud)

谁能跟我说说这个?这不是我在(无可否认的有限)经历中遇到的事情.

python oop class self

1061
推荐指数
17
解决办法
81万
查看次数

Python类中使用的'cls'变量是什么?

为什么cls有时self在Python类中使用而不是作为参数?

例如:

class Person:
    def __init__(self, firstname, lastname):
        self.firstname = firstname
        self.lastname = lastname

    @classmethod
    def from_fullname(cls, fullname):
        cls.firstname, cls.lastname = fullname.split(' ', 1)
Run Code Online (Sandbox Code Playgroud)

python terminology class object self

237
推荐指数
6
解决办法
17万
查看次数

类方法中的“自我”

我正在一个创建字典的类中定义一个方法。这本字典只是给字母表中的每个字母一个值。因此该方法不会操作该类的任何实例。self在这种情况下,我是否需要将其作为方法的参数?

def build_shift_dict(self, shift):
    import string
    low = string.ascii_lowercase*2
    up = string.ascii_uppercase*2
    punc = list(" !@#$%^&*()-_+={}[]|\:;'<>?,./\"")
    shift_dict = {}

    for i in low[:26]:
        shift_dict[i] = low[low.index(i) + shift]

    for i in up[:26]:
        shift_dict[i] = up[up.index(i) + shift]

    for i in punc:
        shift_dict[i] = i

    return shift_dict
Run Code Online (Sandbox Code Playgroud)

python methods class self

1
推荐指数
1
解决办法
68
查看次数

标签 统计

class ×3

python ×3

self ×3

methods ×1

object ×1

oop ×1

terminology ×1