python内置类属性session_内置类属性

1.内置类属性:创建类的时候,系统默认为我们添加的类的属性

class Person:

"""说明文档:人类"""

# 类的字段

number = 61

# 对象属性

def __init__(self, name, age=0, gender='女'):

self.name = name

self.age = age

self.gender = gender

# ============方法==========

def object_func(self):

print('对象方法: '+self.name)

@classmethod

def class_func(cls):

print('类方法: ', cls.number)

@staticmethod

def static_func():

print('静态方法')

# 系统自带的魔法,可以定制当前类的对象的打印内容。实现这个函数的时候要求有一个字符串类型的返回值

# 影响单独打印对象的效果

# def __str__(self):

# return str(self.__dict__)[1:-1]

# 对象作为元素的时候的打印效果

def __repr__(self):

return ''

# def __repr__(self):

# return '' % (self.__class__.__module__, self.__class__.__name__, hex(id(self)))

p1 = Person('小明', 18, '男')

Person

说明文档:人类

{'__module__': '__main__', '__doc__': '说明文档:人类', 'number': 61, '__init__': , 'object_func': , 'class_func': , 'static_func': , '__repr__': , '__dict__': , '__weakref__': }

{'name': '小明', 'age': 18, 'gender': '男'}

__main__

(,)

(, )

p1:

[, ]

类别

内置类属性名

功能

调用方法(示例)

结果

字段

__name__

获取类的名字

print(Person.name, type(Person.name))

Person

字段

__doc__

获取类的说明文档

print(Person.doc)

说明文档:人类

对象属性

__class__

获取对象对应的类(你这个对象是哪个类的对象)

print(p1.class)

字段/对象属性

__dict__

获取类中所有的字段和对应的值,以字典形式返回(了解);获取对象中所有的属性和对应的值,以字典的形式返回(掌握!!)

print(Person.dict);print(p1.dict)

{'name': '小明', 'age': 18, 'gender': '男'}

字段

__module__

获取指定的类声明在哪个模块中,返回模块名(获取类所在的模块的name属性值)

print(Person.module)

main(当前执行的模块的__name__是__main__)

字段

__bases__

返回当前类的所有父类

print(Person.bases)

(,)(所有的类都是从object继承而来)

2.slots魔法

**可以通过给slots字段赋值来约束当前类有哪些对象属性;

当在类中给slots赋值后,当前类的对象的dict属性无效**

class Dog:

__slots__ = ('name', 'age', 'gender', 'name1')

def __init__(self, name, age=0):

self.name = name

self.age = age

self.gender = '公'

dog = Dog('大黄')

print(dog.__dict__) # 结果会报错,因为\_\_slots__魔法限制了对象属性,这时候无法调用\_\_dict__方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值