python:面向对象(类)

Posted CanSun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python:面向对象(类)相关的知识,希望对你有一定的参考价值。

#!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:面向对象(类)的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段9——JS中的面向对象编程

Python面向对象基础

Python 类I

python 面向对象专题:继承

python 面向对象专题:继承

Python面向对象基础