python——类与对象
__init__ 方法:
1、Init 初始化方法的返回值必须是None。
3、类没有定义阶段,函数有定义阶段(不调用不执行)。
实例化时触发__init__方法执行,为对象添加属性。【t1=student() ==》 student.__init__(self)】
属性引用:
- 类里面的函数叫作对象的绑定方法。
- 对象调用绑定方法时自动传值,类调用函数属性时需要为self传值。
- print(Student.__dict__) #查看类的字典
- print(t1.__dict__) #查看对象的字典
- class Student:
- school='偶的博爱' #数据属性
- l=[]
- def __init__(self,name,age): #函数属性
- self.name=name
- self.age=age
- # Student.l.append(self)
- self.l.append(self)
- #t1.name='xiaohei'
- #t1.age=17
- def study(self):
- print('%s is studying' %self.name)
- t1=Student('alex1',18) #Student.__init__(t1,'alex1',18)
- # t2=Student('alex2',18) ==>Student.__init__( Student('alex2',18), 'alex2',18)
- # print(Student.study) #类的函数属性
- # print(t1.study) #对象的绑定方法
- # Student.study(t1) #类调用函数属性需要传值
- # t1.study() #Student.study(t1)
对类的属性进行增删改查:
改:Student.school='oldboy'
查:print(Student.school)
增:Student.x='asdfafd'
删:del Student.x
1、 对象的属性是__init__(self)下面的变量。
2、 对象调用属性时先去对象的字典里找,再去类的字典里找
计算这个类共产生了多少个对象:
继承:
派生:子类衍生出自己新的属性就叫作派生。
组合:self.birth=Date(year,mon,day)
继承:
- class Teacher(People):
- People.__init__(self,name,age,year,mon,day)
定义类的时候,括号里面加上要继承的类。
类.__bases__ 查看父类。一个类可以继承多个类。
在Python3中,所有类默认继承object类。
但凡继承了object类的子类,都称为新式类。
没有继承object类的子类称为经典类,在Python2中默认都是经典类。
- #!/usr/bin/env python
- #继承,组合
- #老师和学生都是人,人都有名字,年龄,生日,都会走。所以
- class People:
- def __init__(self,name,age,year,mon,day):
- self.name=name
- self.age=age
- self.birth=Date(year,mon,day) #组合 people类用到data类。人有生日
- def walk(self):
- print('%s is walking' % self.name)
- class Date:
- def __init__(self,year,mon,day):
- self.year=year
- self.mon=mon
- self.day=day
- def tell_birth(self):
- print('出生于<%s>年 <%s>月 <%s>日'%(self.year,self.mon,self.day))
- class Teacher(People):
- def __init__(self,name,age,year,mon,day,level,salary):
- People.__init__(self,name,age,year,mon,day)
- self.level=level
- self.salary=salary
- def teach(self):
- print('%s is teaching' %self.name)
- class Student(People):
- def __init__(self,name,age,year,mon,day,group):
- People.__init__(self,name,age,year,mon,day)
- self.group=group
- def study(self):
- print('%s is studying' %self.name)
- t=Teacher('egon',14,2000,12,12,3,'as') #用Teacher类实例化对象
- print(t.birth.year) #t.birth其实就是调用Date类
- print(t.birth.tell_birth()) #调用Date下面的tell_birth函数属性。
- s=Student('linuxws',18,1991,9,19,1)
- print(s.birth.year)
- print(s.birth.tell_birth())
接口和归一化设计
抽象类:用于限制子类必须要有哪些方法
终极总结:
类的作用:
实例化
调用属性
对象的作用:
调用属性
类与对象的名称空间:
类的名称空间:类名.__dict__
对象的名称空间:对象名.__dict__
绑定方法会自动传值。
python——类与对象的更多相关文章
- python类与对象各个算数运算魔法方法总结
1.python类与对象各个算术运算魔法方法总结: 2.各个魔法方法应用举例: 3.实例训练: (1)我们都知道在 Python 中,两个字符串相加会自动拼接字符串,但遗憾的是两个字符串相减却抛出异常 ...
- python 类和对象的属性
python类和对象的属性分为类属性和对象属性两大类,类属性属于类,而对象属性属于对象. 1. 父类的对象属性会被子类的对象继承. 2. 父类的类属性会被子类继承,还是作为类属性,如果父类改变了类属性 ...
- 一文讲全了Python 类和对象内容
摘要:这是一个关于 Python 类和对象的全部内容. 本文分享自华为云社区<从零开始学python | Python 类和对象-面向对象编程>,原文作者:Yuchuan . Pytho ...
- python类、对象
python类.对象 学习完本篇,你将会深入掌握 什么是类,对象 了解类和对象之间的关系 能独立创建一个People(人类),属性有姓名.性别.年龄.提供一个有参的构造方法,编写一个show方法,输出 ...
- python 类、对象、方法、属性
在python中,一个对象的特征也称为属性(attribute).它所具有的行为也称为方法(method) 结论:对象=属性+方法 在python中,把具有相同属性和方法的对象归为一个类(class) ...
- python类、对象、方法、属性之类与对象笔记
python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,坐着的椅子就是对象,家里养的小狗也是一个对象...... 我们通过描述属性(特征)和行为来描述一个对象的.比如家里的小狗, ...
- python类与对象基本语法
面向对象编程的2个非常重要的概念:类和对象. 对象是面向对象编程的核心,在使用对象的过程中,为了将具有共同特征和行为的一组对象抽象定义,提出了另外一个新的概念--类. 类就相当于制造飞机时的图纸,用它 ...
- python 类和对象
类和对象 类 1.类的组成 数据和函数,二者是类的属性 2.两个作用: 实例化 属性引用 属性引用:类名.属性(增删改查) 实例化: 类名加括号就是实例化,会自动出发__init__的运行 ...
- Python类和对象
目录 类与对象 其他方法 继承 经典类和新式类 派生 组合 接口.归一化设计与抽象类 继承实现的原理 子类中调用父类的方法 指名道姓 super()方法 多态与多态性 封装 单下划线开头 双下划线开头 ...
- python类与对象的组合与继承
1.把类的对象实例化放到一个新的类里面叫做类的组合,组合就是指几个横向关系的类放在一起,纵向关系的类放在一起是继承,根据实际应用场景确定.简单的说,组合用于“有一个”的场景中,继承用于“是一个”的场景 ...
随机推荐
- camera报错经典问题
--- 33u>: error: undefined reference to 'NSFeature::RAWSensorInfo<22133u>::impGetDefaultDat ...
- ActivemMQ之消息服务器平台(发邮件)
消息服务平台 处理公司内部各种消息业务 比如 发送邮件 发送短信 微信推送 接口有两种类型 异步 同步 同步需求: 当调用消息服务平台,需要返回消息服务平台调用第三方平台接口是否成功 异步需求: ...
- 在CI框架中的配置整合amfphp
之前做的项目用到CI框架和amfphp的整合,主要用于php与flex的交互,在此做一下记录: 一. 安装CI框架: 1. 搭建PHP运行环境,本人在WIN7下用WAMP作测试,安装目录:d:/wa ...
- tensorflow 实现逻辑回归——原以为TensorFlow不擅长做线性回归或者逻辑回归,原来是这么简单哇!
实现的是预测 低 出生 体重 的 概率.尼克·麦克卢尔(Nick McClure). TensorFlow机器学习实战指南 (智能系统与技术丛书) (Kindle 位置 1060-1061). Kin ...
- MySQL文本处理函数2_20160921
需求:从目前的 test_a03order 表里面提取出来产品规格,押金的数据 一.首先添加表字段我们在表里面添加这两个字段 命名为product_size,deposit 后期进行更新这两个字段内 ...
- poj1821 Fence(单调队列优化dp)
地址 一排N个木板,M个工匠站在不同位置$S_i$,每个人可以粉刷覆盖他位置的.最长长度为$L_i$木板段,每刷一个有$P_i$报酬.同一木板只刷一次.求最大报酬. 根据每个人的位置dp,设$f[i] ...
- [转]BFC 神奇背后的原理
BFC 已经是一个耳听熟闻的词语了,网上有许多关于 BFC 的文章,介绍了如何触发 BFC 以及 BFC 的一些用处(如清浮动,防止 margin 重叠等).虽然我知道如何利用 BFC 解决这些问题, ...
- thinkjs,promise
thinkjs是奇舞团开源的一款NodejsMVC框架,该框架底层基于Promise来实现,很好的解决了Nodejs里异步回调的问题. 可参考: http://www.thinkjs.org/ htt ...
- 打开关闭tomcat的目录浏览功能
目录浏览功能 conf/web.xml中init-param中有对于listing的定义,设置为true即可实现tomcat的目录浏览: tomcat的管理用户设置 conf/tomcat-users ...
- 如何使用Git命令将项目从github或者服务器上克隆下来
在本地新建一个文件夹,作为本地仓库,如“demo”.单击右键git Bush here,打开git,输入命令: cd /c/Users/Administrator/Desktop/demo 然后按回 ...