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 ...
随机推荐
- C# 加密、解密函数
#region ========加密======== /// <summary> /// 加密 /// </summary> /// <param name=" ...
- 使用gulp-uncss精简css,去除冗余代码
写html页面的时候,多修改几次就会出现很多无用的css代码,下面使用gulp-uncss来精简css文件,去掉没用的css代码 1.首先找个目录创建一个gulp项目在命令行输入:npm init ...
- css3动画:animation
例: -webkit-animation: myfirst 5s linear 2s infinite alternate; animation: myfirst 5s linear 2s infin ...
- B/S架构 C/S架构 SOA架构
一.什么是C/S和B/S 第一.什么是C/S结构.C/S (Client/Server)结构,即大家熟知的客户机和服务器结构.它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配 ...
- swift学习笔记3-4
再牛逼的梦想,也抵不住你傻逼似的坚持! 我跑啊跑啊,为的就是赶上那个被寄予厚望的自己. 三.运算符+表达式 swift允许重载运算符,比如 “+”你可以重载它 后续会详细介绍 赋值运算符 pass 算 ...
- 零基础逆向工程14_C语言08_指针02_反汇编
1.指针数组 5: char* keyword[] = {"if", "for", "while", "switch"} ...
- uva 10328 - Coin Toss 投硬币(dp递推,大数)
题意:抛出n次硬币(有顺序),求至少k个以上的连续正面的情况的种数. 思路:转换成求抛n个硬币,至多k-1个连续的情况种数,用所有可能出现的情况种数减去至多k-1个的情况,就得到答案了.此题涉及大数加 ...
- 51nod 1572 宝岛地图
题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 勇敢的水手们到达了一个小岛,在这个小岛上,曾经有海盗在这里埋下了一些宝藏.然而,我 ...
- Mandelbrot图像
using System;using System.Collections.Generic;using System.Text; namespace ConsoleApplication3{ ...
- JDBC对数据库的简单操作
/** * 获取数据库连接 */ public Connection GetConnection(){ Connection connection=null; try { Class.forName( ...