初识python 面向对象
2018-08-03 07:36:24来源:博客园 阅读 ()
what the f**k!!这个知识点学不好的最大元凶就是,我还单身???
python基础(四):
面向对象的三个特点: 封装,继承,多态
类:
对象是面向对象编程的核心,在使用对象的过程中,为了将具有共同特征和行为的一组对象抽象定义,提出了另外一个新的概念——类
类就相当于制造飞机时的图纸,用它来进行创建的飞机就相当于对象
类(Class) 由3个部分构成
- 类的名称:类名
- 类的属性:一组数据
- 类的方法:允许对进行操作的方法 (行为)
创建一个类:
class Car(object):# 类命名规则按照大驼峰命名法.首字母大写 # 方法 def getCarInfo(self): print('车轮子个数:%d, 颜色%s'%(self.wheelNum, self.color))
补充:
有些代码的类可能没有继承object,这个问题在Python 3之后就不复存在了,因为Python3中所有的类都是新式类,由于涉及到深度和广度问题,有兴趣的朋友自己看看吧
#新式类是指继承object的类 class A(object): ........... #经典类是指没有继承object的类 class A: ...........
类方法:
在类地内部,使用 def 关键字来定义一个方法,与一般函数定义不同,类方法必须包含参数 self, 且为第一个参数,self 代表的是类的实例
# 定义类 class Car: #定义方法 # 移动 def move(self): print('车在奔跑...') # 鸣笛 def toot(self): print("车在鸣笛...嘟嘟..")
__init__()方法:#init前后符号是两条下划线 _ _ 不要搞错.
能够在创建对象的时候,就顺便把这个对象的属性给设置
# 定义汽车类
class Car:
def __init__(self):
self.wheelNum = 4
self.color = '蓝色' #效果等同于上文的 BMW.color = '黑色', 只不过上文的是添加属性,这里的是在类里面就把属性写好了
def move(self):
print('车在跑,目标:夏威夷')
# 创建对象
BMW = Car()
print('车的颜色为:%s'%BMW.color)
print('车轮胎数量为:%d'%BMW.wheelNum)
__init__()
方法,在创建一个对象时默认被调用,不需要手动调用__init__(self)
中,默认有1个参数名字为self,如果在创建对象时传递了2个实参,那么__init__(self)
中出了self作为第一个形参外还需要2个形参,例如__init__(self,x,y)
__init__(self)
中的self参数,不需要开发者传递,python解释器会自动把当前的对象引用传递进去
类对象:
类对象支持两种操作:属性引用和实例化
# 定义类
class Car: # 移动 def move(self): print('车在奔跑...') # 鸣笛 def toot(self): print("车在鸣笛...嘟嘟..") # 创建一个对象,并用变量BMW来保存它的引用 BMW = Car() BMW.color = '黑色' #给对象添加属性 BMW.wheelNum = 4 #轮子数量 给对象添加属性 BMW.move() # 调用对象的move方法 BMW.toot() # 调用对象的toot方法 print(BMW.color) print(BMW.wheelNum)
--->
车在奔跑...
车在鸣笛...嘟嘟..
黑色
4
- BMW = Car(),这样就产生了一个Car的实例对象,此时也可以通过实例对象BMW来访问属性或者方法
- 第一次使用BMW.color = '黑色'表示给BMW这个对象添加属性,如果后面再次出现BMW.color = xxx表示对属性进行修改
- BMW是一个对象,它拥有属性(数据)和方法(函数)
- 当创建一个对象时,就是用一个模子,来制造一个实物
类的继承:
子类获得了父类的全部功能
1 # 定义类 2 class Car: 3 # 移动 4 def move(self): 5 print('车在奔跑...') 6 7 # 鸣笛 8 def toot(self): 9 print("车在鸣笛...嘟嘟..") 10 11 class BMW(Car): 12 def stop(self): 13 print('stop') 14 15 X5 = BMW() 16 Audi = Car() 17 18 X5.move() 19 Audi.move()
--->
车在奔跑...
车在奔跑...
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_字符串方法 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash