码迷,mamicode.com
首页 > 编程语言 > 详细

python:面向对象(类)

时间:2018-01-07 11:53:38      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:ini   访问   utf-8   int   动态   print   工作   静态属性   self   

#!usr/bin/env python
# -*- coding:utf-8 -*-

__author__ = "Samson"
###类变量与实例变量
class Role:
n = 123#类变量,存放在类中,不存放在实例中,可用于节省空间
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("%s:ah...,I have got shot..." %self.name)

def __show_money(self):#类的私有函数,仅能在类的内部访问
print("money:%s" % self.__money)

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

def __del__(self):#析构函数、在实例释放、销毁的时候执行的,通常用于做一些收尾工作,如关闭一些数据库,关闭打开的一些文件
print("执行析构函数")

print(Role)

r1 = Role("samson", "police", "AK47")#把一个类变成一个具体对象的过程叫实例化
r1.got_shot()#Role.got_shot(r1)
r1.bullet_prove = True #给类添加属性,这是可以的

r2 = Role("r2", "police", "AK47")#把一个类变成一个具体对象的过程叫实例化
r2.got_shot()#Role.got_shot(r1)
print(r1.weapon)
del r1.weapon#删除属性

r1.n = 145#相当于r1中新增了一个实例变量,不影响类变量
print(r1.n, r2.n)#r2中的n值不变

(未完待续)












python:面向对象(类)

标签:ini   访问   utf-8   int   动态   print   工作   静态属性   self   

原文地址:https://www.cnblogs.com/cansun/p/8216091.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!