博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python基础学习笔记——面向对象初识
阅读量:5346 次
发布时间:2019-06-15

本文共 2297 字,大约阅读时间需要 7 分钟。

面向对象初识

  python中一切皆对象。

  类有两种:
    新式类:在py3中所有类都是新式类
    经典类:在py2中只有类本身继承了object类才叫做新式类,默认是经典类

class Person:    country = "中国"  # 静态属性    def __init__(self, name, age, sex):  # 初始化对象  在实例化时自动将对象/实例本身传给__init__的第一个参数。        self.name = name        self.age = age        self.sex = sex    def eat(self):  # 动态属性或方法        return "%s在吃饭" % self.name# 访问类的属性print(Person.country)print(Person.__dict__)  # 查看类具有的属性和方法# 实例化 实例化会自动执行__init__方法,可以用它来为每个实例对象定制自己的特征spf = Person("spf", 18, "男")  # 类名() 就等于在执行Person.__init__(),执行完__init__()就会返回一个对象。这个对象类似一个字典,存着属于这个人本身的一些属性和方法。# 访问类的属性和方法print(Person.eat(spf))print(spf.eat())
class Person:    def __init__(self, name, sex, hp, dps, bag=[]):        """        人的特性        :param name:  昵称        :param sex: 年龄        :param hp: 血量        :param dps: 攻击力        :param bag: 背包        """        self.name = name        self.sex = sex        self.hp = hp        self.dps = dps        self.bag = bag    def hit(self, dog):        """        方法:人打狗        :param dog: 实例化的狗        :return:        """        dog.hp -= self.dps        print("Info:{0}打了{1},{1}掉了{2}血,剩余{3}血".format(self.name, dog.name, self.dps, dog.hp))class Dog:    def __init__(self, name, kind, hp, dps):        """        人的特性        :param name:  昵称        :param kind: 品种        :param hp: 血量        :param dps: 攻击力        """        self.name = name        self.kind = kind        self.hp = hp        self.dps = dps    def hit(self, person):        """        方法:狗咬人        :param person: 实例化后的人        :return:        """        person.hp -= self.dps        print("Info:{0}咬了{1},{1}掉了{2}血,剩余{3}血".format(self.name, person.name, self.dps, person.hp))alex = Person("金角大王", "男", 5000, 300)hsq = Dog("旺财", "哈士奇", 50000, 500)alex.hit(hsq)  # Info:金角大王打了旺财,旺财掉了300血,剩余49700血hsq.hit(alex)  # Info:旺财咬了金角大王,金角大王掉了500血,剩余4500血print(alex.hp)  # 4500print(hsq.hp)  # 47900
from math import piclass Yuan:    def __init__(self,r):        """        圆的属性        :param r: 半径        """        self.r = r    def mj(self):        """        求圆面积方法        :return: 圆面积        """        return pi * self.r ** 2    def zj(self):        """        求圆的周长        :return: 圆周长        """        return 2 * pi * self.ryuna1 = Yuan(5)print(yuna1.mj())

 

转载于:https://www.cnblogs.com/ellisonzhang/p/10310795.html

你可能感兴趣的文章
Flutter学习笔记(一)
查看>>
iOS10 国行iPhone联网权限问题处理
查看>>
洛谷 P1991 无线通讯网
查看>>
[HIHO1184]连通性二·边的双连通分量(双连通分量)
查看>>
Codeforces Round #178 (Div. 2) B. Shaass and Bookshelf 【动态规划】0-1背包
查看>>
SparkStreaming 源码分析
查看>>
【算法】—— 随机音乐的播放算法
查看>>
mysql asyn 示例
查看>>
DataGrid 点击 获取 行 ID
查看>>
git 使用
查看>>
边框圆角方法
查看>>
asp.net WebApi自定义权限验证消息返回
查看>>
php中eval函数的危害与正确禁用方法
查看>>
20172315 2017-2018-2 《程序设计与数据结构》第十一周学习总结
查看>>
MySQL添加、修改、撤销用户数据库操作权限的一些记录
查看>>
关于谷歌浏览器Chrome正在处理请求的问题解决
查看>>
Git核心技术:在Ubuntu下部署Gitolite服务端
查看>>
平面波展开法总结
查看>>
建造者模式
查看>>
ArraySort--冒泡排序、选择排序、插入排序工具类demo
查看>>