前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python面向对象

python面向对象

作者头像
98k
发布2018-04-11 15:28:10
7180
发布2018-04-11 15:28:10
举报
文章被收录于专栏:Django ScrapyDjango Scrapy

面向对象的一般概念:

代码语言:javascript
复制
#

Class 类 一个抽象 Object 对象 一个实例

封装: 在类中对数据的赋值 内部调用对外部是透明的 继承: 一个类可以派生多个类 子类继承父类 多态: 一个接口多种实现,对不同的类发出同一个命令,会得到不同的行为。

代码语言:javascript
复制
__author__ = 'lee'
class Role:
    def __init__(self,name,role,weapon,life_value=100,money=15000):
        self.name = name
        self.role = role
        self.weapon = weapon
        self.life_value = life_value
        self.money = money

    def shot(self):
        print("shooting...")

    def got_shot(self):
        print("ah...,I got shot...")

    def buy_gun(self,gun_name):
        print("%s just bought %s" %(self.name,gun_name))

r1 =Role('Alex','police','AK47').got_shot() # 生成一个角色 实例化 想当午造了一个对象
Role('Alex','police','AK47').buy_gun("B22")

r2 = Role('Jack','terrorist','B22')  # 生成一个角色

#r1.buy_gun("AK47")

类里可以有变量存在,叫类变量。 类变量的用途:大家公用的属性

代码语言:javascript
复制
class Person:
    cn = "中国"
    def __init__(self,name,age,addr):
        self.name = name
        self.cn = 'cn'
p1 = Person('name','age','addr')

析构函数: 在实例释放、销毁的时候实施的,通常用于做一些收尾工作,如关闭一些数据库连接,打开的临时文件。 Question: Python有内存回收机制为何还需要析构函数? 自动回收是回收没有变量名的,如果有变量名则不回收

私有属性 类似这样 在属性前加上__,只有类本身可以被调用

代码语言:javascript
复制
self.__life_value = life_value

私有方法 类似这样 在方法前加上__,只有类本身可以被调用

代码语言:javascript
复制
 def __got_shot(self):
        print("ah...,I got shot...")
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.07.09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档