Python入门--特殊属性,特殊方法__new__,__init__
# 特殊方法和特殊属性
# 特殊属性 --> __dict__ --> 获得类对象或实例对象所绑定的所有属性和方法的字典
# 特殊方法
# 1.__len__() --> 通过重写__len__()方法,让内置函数len()的 参数可以是自定义类型
# 2.__add__() --> 通过重写__add__()方法,可使自定义对象具有“+”功能
# 3.__new__() --> 用于创建对象
# 4.__init__() --> 对创建的对象进行初始化
class Person(object):def __new__(cls, *args, **kwargs):#用于创建对象print('__new__被调用执行了,cls的id值为{0}'.format(id(cls)))#第一个参数cls的id值为#Person继承object,调用object的new方法obj=super().__new__(cls)#传入cls,赋值给objprint('创建对象的id为:{0}'.format(id(obj)))return obj#将创建的对象进行返回def __init__(self,name,age):#对对象的属性进行初始化用的print('__init__方法被调用执行了,self的id为:{0}'.format(id(self)))self.name=nameself.age=age
print('object这个类对象的id为:{0}'.format(id(object)))#每个类都是一个类对象
print('Person这个类对象的id为:{0}'.format(id(Person)))
#创建Person类的实例对象
p1=Person('张三',20)
print('p1这个Person类的实例对象的id为:{0}'.format(id(p1)))'''
首先执行两个输出
然后执行Person('张三',20)
将Person这个类传给new中的cls,('张三',20)传给new的*args
然后调用父类object的new方法创建Person类的实例对象obj,(张三,20)
返回obj赋值给p1
调用init将创建的实例对象传给self,self就是指实例对象
对创建的实例对象p1('张三',20)进行初始化
'''
'''
new在前去创建对象,init在后为创建的对象的实例属性进行赋值
可以将光标放在p1那一行然后debug帮助理解代码
'''
Python入门--特殊属性,特殊方法__new__,__init__相关推荐
- python入门--动态绑定属性和方法
#动态绑定属性和方法 #Python是动态语言,在创建对象后,可以动态的绑定属性和方法 class Student:def __init__(self,name,age):#初始化方法self.nam ...
- 浅谈Python类的属性和方法
浅谈Python类的属性和方法 参考文献 在python中,有私有属性和公有属性,方法我们也一样,他们之间有何区别? 还有类属性和实例属性又是怎么回事? 静态方法和类方法又有什么区别? 我们在工作过程 ...
- python100例详解-Python编程之属性和方法实例详解
本文实例讲述了Python编程中属性和方法使用技巧.分享给大家供大家参考.具体分析如下: 一.属性 在python中,属性分为公有属性和私有属性,公有属性可以在类的外部调用,私有属性不能在类的外部调用 ...
- Python tkinter Entry 属性和方法介绍
Python Tkinter Entry 属性和方法介绍 1. Entry 1.1标准属性 1.2方法 2. Entry属性和方法说明程序 2.1 窗口代码 2.2 属性和方法代码 1. Entry ...
- Python tkinter Button 属性和方法介绍
Python Tkinter Button 属性和方法介绍 1. Button 1.1标准属性 1.2 专有属性 1.3方法 2. Button属性和方法说明程序 2.1 窗口代码 2.2 属性和方法 ...
- python的类属性和方法_Python 类的属性和方法
本文介绍Python类中的属性和方法.和大部分语言类似,Python中的属性和方法也公有(public)和私有(private) 的区分. 一.类的公有和私有属性: 在Python中一般定义的属性为公 ...
- python中类中属性和方法的具体定义方法和使用
1. Python中类中特性分成属性和方法 属性和方法都分为私有和公有的,私有的只可以在本类中使用外部是无法访问的 2. 定义属性(成员变量)的语法格式(公有属性/私有属性) class 类名: de ...
- Python入门--特殊属性
#特殊方法和特殊属性 #特殊属性 --> __dict__ --> 获得类对象或实例对象所绑定的所有属性和方法的字典 #特殊方法 #1.__len__() --> 通过重写__len ...
- python中各种属性与方法深析
在了解类的继承之后,我们需要特别知道以下几个概念及其具体使用: (1)私有属性: (2)私有方法: (3)类属性: (4)类方法: (5)静态方法: 注意:python在类中没有声明的话,所有的方法都 ...
- Python高级——魔法属性和方法
魔法属性和方法 1.__doc__:表示类的描述信息 2.__module__和__class__:当前操作对象所属的模块和类 3.__init__:初始化方法,类创建对象时,自动触发执行 4.__d ...
最新文章
- 教程:13、用户管理
- docker-3-常用命令(上)
- python学习实例(2)
- 7-19 树种统计 (10 分)
- php中浮点数四舍五入,php浮点数四舍五入函数
- python datetime和字符串如何相互转化?
- 自定义函数hello,并注册到hive源码中并重新编译
- 无法启动mysql server问题:“1067”进程意外终止
- Python做人工智能?让电脑自己学会玩游戏,实战带你入门机器学习
- arduino 操纵杆_使用Arduino Leonardo开发板制作操纵杆游戏控制器
- 考研英语 - advanced
- SMA :Structured Multimodal Attentions for TextVQA --- 论文阅读笔记
- HTML <meta> http-equiv 属性
- Stduino IDE stm32 最小系统 小蓝板 驱动继电器(五)
- netty之微信-IM简介(二)
- python分析红楼梦中人物形象_红楼梦中四个人物形象分析
- EXCEL 打印设置公共表头
- 电子邮件协议---SMTP,POP3,IMAP,MIME
- 完整的iOS直播app
- Java学习——逻辑运算、双分支结构(if\else)