关与python面向对象的认识
面向对象编程
类:从一堆对象中以抽象的方式把相同的特征归类得到。
- 抽象类
- 类
- 实列
子类抽象为父类,子类继承父类特征。
类实例化为实例,实例抽象为类。
class Human(object):
century = 21
def __init__(self, name, age):
self.name = name
self.age = age
print("init work")
def speak(self, language):
print('%s has speak %s ability'% (self.name, language))
def write(self, word):
print('%s has write %s ability'% (self.name, word))
def walk(self):
print('%s has walk ability'% self)
Allen = Human('Allen-Cart', 16) # 输出结果:init work
print(Allen.name, Allen.age) # 输出结果:Allen-Cart 16
print(Allen.speak,Allen.write,Allen.walk)
# <bound method Human.speak of <__main__.Human object at 0x10ab50160>>
# <bound method Human.write of <__main__.Human object at 0x10ab50160>>
# <bound method Human.walk of <__main__.Human object at 0x10ab50160>>
print(Human.speak,Human.write,Human.walk)
# <function Human.speak at 0x110ba5378>
# <function Human.write at 0x110ba5400>
# <function Human.walk at 0x110ba5488>
Allen.speak("Chinese") # Allen-Cart has speak Chinese ability
Allen.write("Chinese") # Allen-Cart has write Chinese ability
Allen.walk() # <__main__.Human object at 0x10ab50160> has walk ability.
Human.walk('James') # James has walk ability
关与python面向对象的认识的更多相关文章
- python 面向对象进阶之内置方法
一 isinstance(obj,cls)和issubclass(sub,super) 1.1,isinstance(obj,cls)检查是否obj是否是类 cls 的对象 class Foo(obj ...
- python面向对象编程进阶
python面向对象编程进阶 一.isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象 1 ...
- python 面向对象高级应用(三)
目录: isinstance(obj,cls)和issubclass(sub,super) 反射 __setattr__,__delattr__,__getattr__ 二次加工标准类型(包装) __ ...
- Python面向对象之:三大特性:继承,封装,多态以及类的约束
前言: python面向对象的三大特性:继承,封装,多态. 1. 封装: 把很多数据封装到⼀个对象中. 把固定功能的代码封装到⼀个代码块, 函数, 对象, 打包成模块. 这都属于封装的思想. 具体的情 ...
- python 面向对象初级篇
Python 面向对象(初级篇) 概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发" ...
- Python 面向对象 基础
编程范式概述:面向过程 和 面向对象 以及函数式编程 面向过程:(Procedure Oriented)是一种以事件为中心的编程思想. 就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现 ...
- python面向对象进阶(八)
上一篇<Python 面向对象初级(七)>文章介绍了面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使 ...
- python 面向对象(进阶篇)
上一篇<Python 面向对象(初级篇)>文章介绍了面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使 ...
- python 面向对象编程学习
1. 问题:将所有代码放入一个py文件:无法维护 方案:如果将代码才分放到多个py文件,好处: 1. 同一个名字的变量互相不影响 2.易于维护 3.引用模块: import module 2.包:解决 ...
- Python面向对象详解
Python面向对象的"怜人之处" Python的待客之道--谁能进来 Python的封装--只给你想要的 Python的继承--到处认干爹 Python的多态--说是就是
随机推荐
- Django和DRF的区别
Django和DRF的区别 一.Django REST Framwork 和 Django 1.两者的概念: Django REST Framwork: 将数据库的东西通过ORM的映射取出来,通过vi ...
- Cupboard and Balloons CodeForces - 342C
Cupboard and Balloons CodeForces - 342C 找到不变的点 抓住不确定的点进行讨论 #include<iostream> #include<cmat ...
- 树莓派4B使用花生壳phtunnel内网穿透访问本地Gogs
已经搭建好Gogs(https://www.cnblogs.com/congyinew/p/16115074.html),接下来就是想外网上传代码到Gogs 一.申请账号 https://open.o ...
- pgsql给表重命名
alter table "pavement_damage_dtl_temp" rename to "pavement_damage_dtl"; 搜索 复制
- TypeScript - 配置文件 tsconfig.json
tsconfig.json 文件 创建两种方式: 1. 直接在根目录新建tsconfig.config.json (配置文件需要自己配置) 2. 执行tsc --init (会自动创建相关配置) t ...
- bzoj 2115
线性基好题 首先,如果一条路径被经过了两次,那么这条路径上的权值等于没有(废话) 基于这一点,我们其实已经找到了解决问题的方法了! 首先,由于可以反复经过一条边,因此我们可以把一条合法的路径看成这样的 ...
- vue安装与卸载
一.安装最新版本 npm install -g @vue/cli 或 yarn global remove vue-cli 查看版本 vue --version 或 vue -V 二.vue-cli( ...
- 【APT】响尾蛇(SideWinder)APT组织样本分析
基础信息 名称:NDC Participants.docx类型:.docMD5:df020e81b7ca32868a8ac1f5eddd086f描述:通过远程模板注入技术加载含有CVE-2017-11 ...
- java 对象比较 返回不相同的值
// // Source code recreated from a .class file by IntelliJ IDEA // (powered by FernFlower decompiler ...
- 微信小程序基本总结
小程序目录结构 project.config.json 配置项目文件,用的最多的就是配置是否开启HTTPS校检 app.js 设置一些全局的基础数据 app.json 设置底部tabbar,标题栏和路 ...