面向对象初识

  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", , "男") # 类名() 就等于在执行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("金角大王", "男", , )
hsq = Dog("旺财", "哈士奇", , ) alex.hit(hsq) # Info:金角大王打了旺财,旺财掉了300血,剩余49700血
hsq.hit(alex) # Info:旺财咬了金角大王,金角大王掉了500血,剩余4500血 print(alex.hp) #
print(hsq.hp) #
from math import pi
class Yuan:
def __init__(self,r):
"""
圆的属性
:param r: 半径
"""
self.r = r
def mj(self):
"""
求圆面积方法
:return: 圆面积
"""
return pi * self.r **
def zj(self):
"""
求圆的周长
:return: 圆周长
"""
return * pi * self.r
yuna1 = Yuan()
print(yuna1.mj())

python基础学习笔记——面向对象初识的更多相关文章

  1. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

  2. python 基础学习笔记(1)

    声明:  本人是在校学生,自学python,也是刚刚开始学习,写博客纯属为了让自己整理知识点和关键内容,当然也希望可以通过我都博客来提醒一些零基础学习python的人们.若有什么不对,请大家及时指出, ...

  3. Python 基础学习笔记(超详细版)

    1.变量 python中变量很简单,不需要指定数据类型,直接使用等号定义就好.python变量里面存的是内存地址,也就是这个值存在内存里面的哪个地方,如果再把这个变量赋值给另一个变量,新的变量通过之前 ...

  4. Python基础学习笔记(十三)异常

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-exceptions.html Python用异常对象(excep ...

  5. Python基础学习笔记(十二)文件I/O

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-files-io.html ▶ 键盘输入 注意raw_input函 ...

  6. Python基础学习笔记(十一)函数、模块与包

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-functions.html 3. http://www.liao ...

  7. Python基础学习笔记(十)日期Calendar和时间Timer

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-date-time.html 3. http://www.liao ...

  8. Python基础学习笔记(九)常用数据类型转换函数

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-variable-types.html 3. http://www ...

  9. Python基础学习笔记(八)常用字典内置函数和方法

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-dictionary.html 3. http://www.lia ...

随机推荐

  1. springboot使用schedule定时任务

    定时任务一般会存在中大型企业级项目中,为了减少服务器.数据库的压力往往会采用时间段性的去完成某些业务逻辑.比较常见的就是金融服务系统推送回调,一般支付系统订单在没有收到成功的回调返回内容时会持续性的回 ...

  2. require.js 模块化简单理解

    组件化 基于UI 样式布局 没有过多 js 代码操作的 比如:一个导航栏 一个表单 一个搜索框 一个侧边栏 一个html 等等.... 模块化 基于功能模块 一个可以替换的js部分称之为模块(modu ...

  3. 密码强度的正则表达式(JavaScript)总结

    简言 本文给出了两个密码强度的正则表达式方案,一个简单,一个更复杂和安全.并分别给出了两个方案的解析和测试程序.一般大家可以根据自己的项目的实际需要,自行定义自己的密码正则约定. 前言 用户注册时,都 ...

  4. [转载]SAP预装服务器全编译

    一.说明 SAP系统初始安装后,每当事物码第一次运行时,GUI的左下角会显示编译的状态(如图 1所示),费时很多尤其是对于一些业务内容很丰富的事物码如ME21N.VA01. 图 1 编译状态 产生编译 ...

  5. Ubuntu批量修改权限

    Ubuntu中有两个修改命令可以用到,「change mode」&「change owner」 即chmod以及chown,其中可以用递归参数-R来实现更改所有子文件和子目录的权限. 1.利用 ...

  6. PHP的加解密:如何安装ioncube扩展?

    一.下载loader-wizard.php(支持php5.3.php5.4.php5.5.php5.6版本) ioncube提供了一个安装的向导程序,可以非常方便的帮助检测php的运行环境,自动给出提 ...

  7. ios中frame设置宽高计算的Demo

    - (void)scrollViewDidScroll:(UIScrollView *)scrollView{ int totalHeightOfScrollView = scrollView.con ...

  8. [nmon]使用nmon工具监控系统资源

    1.下载nmon 下载正确的nmon版本, 查看linux服务器版本,命令:lsb_release -a,查看到当前系统为RedHat 6.4 然后我们根据我们的linux版本,下载相应nmon版本, ...

  9. 让您的Eclipse具有千变万化的外观

    大家每天用Eclipse做Java开发,是否厌倦了Eclipse千篇一律的白色背景呢? 看看Jerry这几种不同风格的Eclipse外观,是不是有耳目一新的感觉?如何做到的? 需要给Eclipse安装 ...

  10. async/await的使用以及注意事项

    使用 async / await, 搭配 promise, 可以通过编写形似同步的代码来处理异步流程, 提高代码的简洁性和可读性. 本文介绍 async / await 的基本用法和一些注意事项. a ...