python面向对象

面向对象的一般概念:

#

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

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

__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")

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

class Person:
    cn = "中国"
    def __init__(self,name,age,addr):
        self.name = name
        self.cn = 'cn'
p1 = Person('name','age','addr')

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

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

self.__life_value = life_value

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏PHP实战技术

PHP面试常考易错题之变量作用域解析

PHP面试中变量作用域是面试中常常出现的问题,也是必考的问题,下面就给大姐讲解一下在面试中注意的点:

1294
来自专栏java架构师

WCF技术剖析_学习笔记之三

数据契约 通过特性来定义,保证服务端和客户端对数据有一致性的理解。 [DataContract]用于枚举、类、结构体。而不用于接口。不可被继承。 3个属性成员:...

2694
来自专栏有趣的Python

2-Java面向对象-封装

将类的某些信息隐藏在类内部, 不允许外部程序直接访问;通过该类提供的方法来实现对隐藏信息的操作和访问;

2482
来自专栏从流域到海域

《笨办法学Python》 第33课手记

《笨办法学Python》 第33课手记 本节课讲while循环,作者强调while循环的缺点在于循环可能永远进行下去,所以作者推荐使用for循环,在确认循环会结...

1896
来自专栏九彩拼盘的叨叨叨

JavaScript 之 this

在 JavaScript 中,this 的值是动态的,即一个函数中在不同的情况下被调用,this 的值可能是不同的。

992
来自专栏数据结构与算法

洛谷P1966 火柴排队(逆序对)

首先要保证权值最小,不难想到一种贪心策略,即把两个序列中rank相同的数放到同一个位置

1321
来自专栏Python小屋

Python花式编程案例集锦(5)

问题描述: 输入三个序列,例如:[0.9,0.5,0.7],[0.4,0.6,0.3],[0.5,0.2,0.4],输出三个序列中各取一个相乘后最大的值,以及组...

2845
来自专栏desperate633

深入理解SortSet类型的使用及应用Redis 有序集合(sorted set)SortSet的应用场景SortSet的常用命令

Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。

2952
来自专栏Python私房菜

你所不知道的Python | 字符串连接的秘密

字符串连接,就是将2个或以上的字符串合并成一个,看上去连接字符串是一个非常基础的小问题,但是在Python中,我们可以用多种方式实现字符串的连接,稍有不慎就有可...

1495
来自专栏xx_Cc的学习总结专栏

iOS底层原理总结 - 探寻block的本质(一)

2744

扫码关注云+社区

领取腾讯云代金券