面向对象初识

  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. Eclipse的安装与使用

    1安装 下载 http://www.eclipse.org 安装 (最好下载解压版的,不用安装) 安装目录中,不要出现空格与中文 例如,解压到:D:\codetool 2项目的创建 双击运行.exe文 ...

  2. Get和Post的初步探究

    Get请求和Post请求这两种基本请求类型,大部分开发者心里大概都有所谓的"标准答案",但博主最近用Postman测试接口的时候,遇到传参的问题:用post请求,参数放在reque ...

  3. dubbo rest返回值异常Incompatible types: declared root type

    2018-08-28 17:26:02,208 [http-bio-9090-exec-1][][][][][] ERROR com.wjs.member.plugin.intercepter.Ser ...

  4. css样式优先级问题

    官方表述的CSS样式优先级如下: 通用选择器(*) < 元素(类型)选择器 < 类选择器 < 属性选择器 < 伪类 < ID 选择器 < 内联样式 那么,我们来举个 ...

  5. sublime text 3 入门技巧与常见问题解决

    1. 常见问题 - 解决sublime 窗口栏(UNREGISTERED)(未购买)导致的经常性弹窗 解决方法: 点击Help -> About Sublime Text,查看sublimete ...

  6. jquery 一键复制到剪切板

    今天做项目有一个功能,通过点击事件复制一段文本到剪切板,在网上找了一些,整理了一下,方便需要的朋友使用. <a id="copy" data-text="12345 ...

  7. Android Error:Could not run build action using Gradle installation

    错误内容: Error:Could not run build action using Gradle installation ‘D:\AndroidStudio\AS2.x\gradle\grad ...

  8. centos7使用yum安装不了ffmpeg

    [root@localhost]# yum install ffmpeg Loaded plugins: fastestmirror Loading mirror speeds from cached ...

  9. 【Python图像特征的音乐序列生成】GitHub已经有人将mingus改到了Python3版本

    https://github.com/bspaans/python-mingus/issues/45 注意此时的安装方法应该是: git clone https://github.com/edudob ...

  10. 关系代数演算So Easy

    关系代数运算So Easy 关系代数是以关系为运算的一组高级运算的集合.由于定义为属性个数 相同的元组的集合,因此集合代数的操作就可以引入到关系代数中.关系代数也可以看做是一种抽象的查询语言,是对关系 ...