python进阶11:创建类和实例
2017-02-23 15:06
162 查看
1 创建实例
在Python中,类通过 class
关键字定义。以 Person 为例,定义一个Person类如下:
class Person(object):
pass
xiaoming = Person() #创建实例,
xiaoming = Person() 按照 Python 的编程习惯,类名以大写字母开头,紧接着是(object),表示该类是从哪个类继承下来的。类的继
承将在后面的章节讲解,现在我们只需要简单地从object类继承。创建实例使用 类名+(),类似函数调用的形式创
建。
2 创建实例属性
如何让每个实例拥有各自不同的属性?由于Python是动态语言,对每一个实例,都可以直接给他们的属性赋值,
例如,给xiaoming这个实例加上name、gender和birth属性:
xiaoming = Person()
xiaoming.name = 'Xiao Ming'
xiaoming.gender = 'Male'
xiaohong = Person()
xiaohong.name = 'Xiao Hong' #实例的属性可以互不相同
xiaohong.grade = 3 实例的属性可以像普通变量一样进行操作:
xiaohong.grade = xiaohong.grade + 13 初始化实例属性
在定义 Person 类时,可以为Person类添加一个特殊的__init__()方法,当创建实例时,__init__()方法被自动
调用,我们就能在此为每个实例都统一加上以下属性:
class Person(object):
def __init__(self, name, gender, birth):
self.name = name
self.gender = gender
self.birth = birth __init__() 方法的第一个参数必须是 self(也可以用别的名字,但建议使用习惯用法),后续参数则可以自由
指定,和定义函数没有任何区别。
相应地,创建实例时,就必须要提供除 self 以外的参数:
xiaoming = Person('Xiao Ming', 'Male', '1994')
在Python中,类通过 class
关键字定义。以 Person 为例,定义一个Person类如下:
class Person(object):
pass
xiaoming = Person() #创建实例,
xiaoming = Person() 按照 Python 的编程习惯,类名以大写字母开头,紧接着是(object),表示该类是从哪个类继承下来的。类的继
承将在后面的章节讲解,现在我们只需要简单地从object类继承。创建实例使用 类名+(),类似函数调用的形式创
建。
2 创建实例属性
如何让每个实例拥有各自不同的属性?由于Python是动态语言,对每一个实例,都可以直接给他们的属性赋值,
例如,给xiaoming这个实例加上name、gender和birth属性:
xiaoming = Person()
xiaoming.name = 'Xiao Ming'
xiaoming.gender = 'Male'
xiaohong = Person()
xiaohong.name = 'Xiao Hong' #实例的属性可以互不相同
xiaohong.grade = 3 实例的属性可以像普通变量一样进行操作:
xiaohong.grade = xiaohong.grade + 13 初始化实例属性
在定义 Person 类时,可以为Person类添加一个特殊的__init__()方法,当创建实例时,__init__()方法被自动
调用,我们就能在此为每个实例都统一加上以下属性:
class Person(object):
def __init__(self, name, gender, birth):
self.name = name
self.gender = gender
self.birth = birth __init__() 方法的第一个参数必须是 self(也可以用别的名字,但建议使用习惯用法),后续参数则可以自由
指定,和定义函数没有任何区别。
相应地,创建实例时,就必须要提供除 self 以外的参数:
xiaoming = Person('Xiao Ming', 'Male', '1994')
相关文章推荐
- python进阶学习笔记(五)——创建实例属性、初始化实例属性
- python进阶学习笔记(四)——python中访问限制、创建类属性、定义实例方法、定义类方法、类的继承
- 【python】解析Excel中使用xlrd库、xlwt库操作,读取excel进阶完整脚本实例(四)
- Python 练习实例11
- Python进阶(二十)-Python爬虫实例讲解
- Python创建文件和追加文件内容实例
- Python进阶—使用lambda创建匿名函数
- python中集合类型创建、更新、删除、修改以及操作符使用实例代码
- Linux创建oracle11实例
- python列表操作实例源码讲解(创建、使用、更新、删除)
- openstack私有云布署实践【19 通过python客户端 创建实例VM指定IP地址】
- Python学习_11_类和实例
- Python创建二维数组实例(关于list的一个小坑)
- Python3.5 创建文件的简单实例
- Python实现类似比特币的加密货币区块链的创建与交易实例
- 【Java进阶-Java动态代理与AOP】03 创建动态类的实例对象及调用其方法
- ?Python 练习实例11
- python 学习记录(11)-文件处理/读取文件/文件写入内容/文件删除/文件复制/文件重命名/后缀名/内容查找与替换/文件比较/ 配置文件访问/目录创建与删除/遍历目录/定向输出
- python进阶ing——创建第一个Tornado应用
- Python基础-Day 11 - 编写日志创建页