Python面向对象特殊成员
发布时间 - 2026-01-11 00:48:06 点击率:次类的特殊成员之call
#!/usr/bin/env python
# _*_coding:utf-8 _*_
class SpecialMembers:
# 类的构造方法
def __init__(self):
print("My Blog is Url: http://yw666.blog.51cto.com")
# 对象的构造方法
def __call__(self):
print("My Name is: Yangwen")
# 创建一个对象,并且执行类的构造方法
obj = SpecialMembers()
# 执行对象的构造方法
obj()
# 先执行类的构造方法,然后在执行对象的构造方法
SpecialMembers()()
输出
yangwen@Darker:~$ python3 /home/yangwen/文档/Python_code/sublime/Week06/Day04/s2.py My Blog is Url: http://yw666.blog.51cto.com My Name is: Yangwen My Blog is Url: http://yw666.blog.51cto.com My Name is: Yangwen
类的特殊成员之getitem、setitem、delitem
#!/usr/bin/env python
# _*_coding:utf-8 _*_
class SpecialMembers:
# 当执行obj['value']的时候就会自动执行__getitem__方法,并且把对象括号内的值当做__getitem__的值
def __getitem__(self, item):
print(item)
def __setitem__(self, key, value):
print(key, value)
def __delitem__(self, key):
print(key)
# 创建一个对象
obj = SpecialMembers()
# 自动执行__getitem__方法
obj['value']
# 自动执行__setitem__方法
obj['k1'] = "values"
# 自动执行__delitem__方法
del obj['key']
输出
ansheng@Darker:~$ python3 /home/yangwen/文档/Python_code/sublime/Week06/Day04/s2.py value k1 values key
特殊的
#!/usr/bin/env python
# _*_coding:utf-8 _*_
class SpecialMembers:
# 当执行obj['value']的时候就会自动执行__getitem__方法,并且把对象括号内的值当做__getitem__的值
def __getitem__(self, item):
print(item, type(item), "__getitem__")
def __setitem__(self, key, value):
print(key, value)
def __delitem__(self, key):
print(key)
# 创建一个对象
obj = SpecialMembers()
# 自动执行__getitem__方法
obj[1:3] # __getslice__/__getitem__
# 自动执行__setitem__方法
obj[1:3] = [11, 22, 33] # __setslice__/__setitem__
# 自动执行__delitem__
del obj[1:3] # __delslice__/__delitem__
输出
yangwen@Darker:~$ python3 /home/yangwen/文档/Python_code/sublime/Week06/Day04/s2.py slice(1, 3, None) <class 'slice'> __getitem__ slice(1, 3, None) [11, 22, 33] slice(1, 3, None)
类的特殊成员之dict
获取类或对象中的所有成员
#!/usr/bin/env python
# _*_coding:utf-8 _*_
class SpecialMembers:
"""
类的注释
"""
def __init__(self):
self.Name = "Ansheng"
self.Blog = "http://yw666.blog.51cto.com"
# 获取类中的成员
print(SpecialMembers.__dict__)
# 创建一个对象
obj = SpecialMembers()
# 获取对象中的成员
print(obj.__dict__)
输出
yangwen@Darker:~$ python3 /home/yangwen/文档/Python_code/sublime/Week06/Day04/s2.py
{'__weakref__': <attribute '__weakref__' of 'SpecialMembers' objects>, '__doc__': '\n 类的注释\n ', '__module__': '__main__', '__dict__': <attribute '__dict__' of 'SpecialMembers' objects>, '__init__': <function SpecialMembers.__init__ at 0x7ff2af2d7598>}
{'Blog': 'http://yw666.blog.51cto.com', 'Name': 'Yangwen'}
类的特殊成员之iter
一个对象如果可以被for循环迭代时,说明对象中又__iter__方法,且方法中有yield值。
#!/usr/bin/env python
# _*_coding:utf-8 _*_
class SpecialMembers:
def __iter__(self):
yield 1
yield 2
yield 3
# 创建一个对象
obj = SpecialMembers()
# 如果执行for循环对象时,自动会执行对象的__iter__方法,此时的__iter__就是一个生成器
for i in obj:
print(i)
输出
yangwen@Darker:~$ python3 /home/yangwen/文档/Python_code/sublime/Week06/Day04/s2.py 1 2 3
以上所述是小编给大家介绍的Python面向对象特殊成员,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# python
# 面向对象
# 特殊成员
# Python入门篇之面向对象
# Python 面向对象 成员的访问约束
# 简述Python中的面向对象编程的概念
# python面向对象_详谈类的继承与方法的重载
# 举例讲解Python面向对象编程中类的继承
# 关于Python面向对象编程的知识点总结
# Python面向对象class类属性及子类用法分析
# Python面向对象之静态属性、类方法与静态方法分析
# Python面向对象之接口、抽象类与多态详解
# Python面向对象之反射/自省机制实例分析
# Python面向对象之类和对象实例详解
# Python面向对象程序设计OOP入门教程【类
# 实例
# 继承
# 重载等】
# 创建一个
# 文档
# 就会
# 小编
# 象中
# 括号内
# 在此
# 中有
# 给大家
# 或对
# 所述
# 给我留言
# 中又
# 感谢大家
# 类中
# 疑问请
# 有任何
# 迭代
# cto
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel的.env文件有什么用_Laravel环境变量配置与管理详解
Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程
怎样使用JSON进行数据交换_它有什么限制
如何用免费手机建站系统零基础打造专业网站?
Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】
网站制作价目表怎么做,珍爱网婚介费用多少?
javascript中对象的定义、使用以及对象和原型链操作小结
详解jQuery停止动画——stop()方法的使用
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】
Laravel storage目录权限问题_Laravel文件写入权限设置
Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议
javascript如何操作浏览器历史记录_怎样实现无刷新导航
google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤
企业网站制作这些问题要关注
Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧
软银砸40亿美元收购DigitalBridge 强化AI资料中心布局
高防网站服务器:DDoS防御与BGP线路的AI智能防护方案
如何快速打造个性化非模板自助建站?
Python自动化办公教程_ExcelWordPDF批量处理案例
IOS倒计时设置UIButton标题title的抖动问题
JavaScript如何操作视频_媒体API怎么控制播放
Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理
使用豆包 AI 辅助进行简单网页 HTML 结构设计
如何快速查询网站的真实建站时间?
智能起名网站制作软件有哪些,制作logo的软件?
Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)
如何在阿里云高效完成企业建站全流程?
标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南
Laravel如何处理和验证JSON类型的数据库字段
Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】
如何撰写建站申请书?关键要点有哪些?
浅述节点的创建及常见功能的实现
深入理解Android中的xmlns:tools属性
Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全
Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案
如何正确选择百度移动适配建站域名?
如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】
高端建站三要素:定制模板、企业官网与响应式设计优化
在线制作视频网站免费,都有哪些好的动漫网站?
Android Socket接口实现即时通讯实例代码
Java垃圾回收器的方法和原理总结
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
如何挑选最适合建站的高性能VPS主机?
Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】
Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程
javascript中的try catch异常捕获机制用法分析
怎么用AI帮你设计一套个性化的手机App图标?
香港服务器租用费用高吗?如何避免常见误区?

