python类的成员_python 类的特殊成员

上文介绍了Python的类成员以及成员修饰符,从而了解到类中有字段、方法和属性三大类成员,并且成员名前如果有两个下划线,则表示该成员是私有成员,私有成员只能由类内部调用。无论人或事物往往都有不按套路出牌的情况,Python的类成员也是如此,存在着一些具有特殊含义的成员,详情如下:

1. __doc__

表示类的描述信息

classFoo:"""描述类信息,这是用于看片的神奇"""

deffunc(self):pass

print Foo.__doc__

#输出:类的描述信息

2.. __init__

构造方法,通过类创建对象时,自动触发执行。

classFoo:def __init__(self, name):

self.name=name

self.age= 18obj= Foo('wupeiqi') #自动执行类中的 __init__ 方法

3. __call__

对象后面加括号,触发执行。

注:构造方法的执行是由创建对象触发的,即:对象 = 类名() ;而对于 __call__ 方法的执行是由对象后加括号触发的,即:对象() 或者 类()()

classFoo:def __init__(self):pass

def __call__(self, *args, **kwargs):print '__call__'obj= Foo() #执行 __init__

obj() #执行 __call__

4. __dict__

类或对象中的所有成员

上文中我们知道:类的普通字段属于对象;类中的静态字段和方法等属于类,即:

classProvince:

country= 'China'

def __init__(self, name, count):

self.name=name

self.count=countdef func(self, *args, **kwargs):print 'func'

#获取类的成员,即:静态字段、方法、

print Province.__dict__

#输出:{'country': 'China', '__module__': '__main__', 'func': , '__init__': , '__doc__': None}

obj1= Province('HeBei',10000)print obj1.__dict__

#获取 对象obj1 的成员#输出:{'count': 10000, 'name': 'HeBei'}

obj2= Province('HeNan', 3888)print obj2.__dict__

#获取 对象obj1 的成员#输出:{'count': 3888, 'name': 'HeNan'}

print obj2.__dict__['name']

# 输出:HeNan

5. __str__

如果一个类中定义了__str__方法,那么在打印 对象 时,默认输出该方法的返回值。

classFoo:def __str__(self):return 'wupeiqi'obj=Foo()printobj#输出:wupeiqi

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python成员变量可以在初始化方法进行初始化。初始化方法是一个特殊的方法,用来定义具有哪些属性。在Python,初始化方法的名称是`__init__`。初始化方法在创建对象时会被直接调用。通过在初始化方法使用`self.属性名=属性的初始值`的方式来定义属性。 下面是一个示例代码,演示了如何在Python进行成员变量的初始化: ```python class Cat(): def __init__(self): self.name = "Tom" tom = Cat() print(tom.name) # 输出结果为 "Tom" ``` 在上述代码,`Cat`定义了一个初始化方法`__init__`,在方法内部使用`self.name = "Tom"`给属性`name`赋予了初始值。然后通过创建`Cat`对象`tom`,可以通过`tom.name`来访问和使用这个成员变量。 另外,如果希望在创建对象的同时,就设置对象的属性,可以对初始化方法进行改造。可以把希望设置的属性值定义成初始化方法的参数,在方法内部使用`self.属性 = 形参`的方式来接收外部传递的参数。 下面是一个改造后的示例代码: ```python class Cat(): def __init__(self, name): self.name = name def shout(self): print("%s 喵喵叫" % self.name) tom = Cat("Tom") print(tom.name) # 输出结果为 "Tom" ``` 在上述代码,`Cat`的初始化方法接收一个`name`参数,并通过`self.name = name`来将参数值赋给成员变量`name`。创建`Cat`对象`tom`时,可以通过传递参数`"Tom"`来设置`name`属性的初始值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值