python基础学习笔记——面向对象初识
面向对象初识
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基础学习笔记——面向对象初识的更多相关文章
- 0003.5-20180422-自动化第四章-python基础学习笔记--脚本
0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...
- python 基础学习笔记(1)
声明: 本人是在校学生,自学python,也是刚刚开始学习,写博客纯属为了让自己整理知识点和关键内容,当然也希望可以通过我都博客来提醒一些零基础学习python的人们.若有什么不对,请大家及时指出, ...
- Python 基础学习笔记(超详细版)
1.变量 python中变量很简单,不需要指定数据类型,直接使用等号定义就好.python变量里面存的是内存地址,也就是这个值存在内存里面的哪个地方,如果再把这个变量赋值给另一个变量,新的变量通过之前 ...
- Python基础学习笔记(十三)异常
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-exceptions.html Python用异常对象(excep ...
- Python基础学习笔记(十二)文件I/O
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-files-io.html ▶ 键盘输入 注意raw_input函 ...
- Python基础学习笔记(十一)函数、模块与包
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-functions.html 3. http://www.liao ...
- Python基础学习笔记(十)日期Calendar和时间Timer
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-date-time.html 3. http://www.liao ...
- Python基础学习笔记(九)常用数据类型转换函数
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-variable-types.html 3. http://www ...
- Python基础学习笔记(八)常用字典内置函数和方法
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-dictionary.html 3. http://www.lia ...
随机推荐
- MiniDao分页的坑
//TODO 此处切记不要传(page-1)*rows,MiniDAO底层已经做了此运算,.sql文件中也无需写limit,会自动加上List<BcProjectSampleBackEntity ...
- String类、StringBuilder类、StringBuffer类
String类是不可变类,创建了一个String对象后,该String对象中的字符序列不能被改变. StringBuilder是字符序列可变的字符串类,提供了一系列修改字符串的方法. StringBu ...
- mysql 中unsigned
整型的每一种都分有无符号(unsigned)和有符号(signed)两种类型(float和double总是带符号的),在默认情况下声明的整型变量都是有符号的类型(char有点特别),如果需声明无符号类 ...
- ES6 Interator
Interator "集合"数据的结构主要有 Array .Object. Set and Map ,任何数据结构只要部署 Iterator 接口,就可完成遍历操作 遍历过程: 创 ...
- javascript中两种基本常用排序算法分析
备注:内容大部分从网上复制,代码为自己手写.仅做知识的温故知新,并非原创. 1.冒泡排序(Bubble Sort) (1)算法描述 冒泡排序是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两 ...
- freebsd快速删除磁盘数据
At the start, mark all system disks as empty. Repeat the following command for each hard drive: dd i ...
- userBean-作用范围session
package com.java1234.model; public class Student { private String name;private int age; public Strin ...
- Integer的一个小问题
看面试题的时候看到这道题: public class Demo { public static void main(String[] args) { Integer i1 = 128; Integer ...
- MVC web api转换JSON 的方法
- UVA 12325 Zombie'sTreasureChest 宝箱 (分类枚举)
看上去非常像背包的问题,但是体积太大了. 线性规划的知识,枚举附近点就行了,优先选性价比高的, 宝物有两种体积为S0,价值V0,体积S1,价值V1. 枚举分以下几种: 1:枚举拿宝物1的数量,然后尽量 ...