今天的我更强了 发表于 2020-6-27 18:10:46

类中属性的访问

class Turtle:                                    
    def ini(self):
      a=100

class Turtle:
    def ini(self,x):
      self.a=100
这个a和self.a应该如何访问来着?学完一遍在复习有些遗忘{:10_266:}

Twilight6 发表于 2020-6-27 18:18:48

本帖最后由 Twilight6 于 2020-6-27 18:24 编辑



第一个 a 是无法访问的, 是局部变量

你是不是把方法打错了....应该是 init 吧

class Turtle:
    def __init__(self,x):
      self.x = x
      self.a=100

t = Turtle(5)
print(t.a)
print(t.x)

或者这样:
class Turtle:
    def __init__(self):
      self.a=100

t = Turtle()
print(t.a)

Hello. 发表于 2020-6-27 18:22:21

__init__ 方法的第一参数永远是 self,表示创建的类实例本身

今天的我更强了 发表于 2020-6-27 18:52:55

Twilight6 发表于 2020-6-27 18:18
第一个 a 是无法访问的, 是局部变量

你是不是把方法打错了....应该是 init 吧


哈哈哈 没有打错 我就是想问这种怎么访问,不过现在看来好像是我记错了..

今天的我更强了 发表于 2020-6-27 18:54:04

Twilight6 发表于 2020-6-27 18:18
第一个 a 是无法访问的, 是局部变量

你是不是把方法打错了....应该是 init 吧


第二个那个self.a可以外部访问嘛?

Twilight6 发表于 2020-6-27 18:59:22

今天的我更强了 发表于 2020-6-27 18:54
第二个那个self.a可以外部访问嘛?

应该说是外部访问内部吧...内部怎么访问外部   哈哈哈哈

今天的我更强了 发表于 2020-6-27 19:02:48

Twilight6 发表于 2020-6-27 18:59
应该说是外部访问内部吧...内部怎么访问外部   哈哈哈哈

就是可以从外部访问self.a的值吗?
就和下面这样
class A():
    name='a'
b=A()
b.name

Twilight6 发表于 2020-6-27 19:11:33

今天的我更强了 发表于 2020-6-27 19:02
就是可以从外部访问self.a的值吗?
就和下面这样
class A():


可以呀,但是要通过 __init__ 先进行初始化才行

今天的我更强了 发表于 2020-6-27 19:15:06

Twilight6 发表于 2020-6-27 19:11
可以呀,但是要通过 __init__ 先进行初始化才行

懂了 好的谢谢
页: [1]
查看完整版本: 类中属性的访问