[python面向对象]--基础篇
1.#类
#类就是一个模板,模板里可以包含多个函数,函数里实现一些功能
#定义一个类
class bar:
def foo(self,agr):
print(self,agr)
obj = bar()
print(obj)
print(obj.foo("调用类的方法"))
2.#方法
#把函数写在类里就是方法
#构造方法
#普通方法
class person:
def __init__(self,name,age):
#构造方法的特性,调用 类名() 后,自动执行构造方法
#self 谁调用类,谁就是self
self.n = name
self.a = age
self.xue = 0
def show(self): #普通方法
print("%s--%s"%(self.n,self.a))
obj = person("haha",20) obj.show()
3.#面向对象三大特性之一:封装
class bar:
def __init__(self,n,a):
self.name = n
self.age = a
self.xun = 0
b1 = bar("zhangw",11)
b2 = bar("haha",31)
4.#面向对象三大特性之二:继承
#self永远是执行该方法的调用者
#继承
class 父类:
pass
class 子类(父类):
pass
#子类可以调用父类的方法
#如果子类中有和父类一样的方法名,则优先调用自己的,也就是重写
#重写,防止执行父类的方法
#重写后,如果想要执行父类的方法
1.#super(子类,self).父类中的方法()
2.#父类名,父类中的方法(self,...) #python中支持多继承
#原则
#1.左侧优先,这里的左侧指的是调用的时候,比如:class zilei(fulei1,fulei2),fulei1 优先
#2.左侧找完再找右侧
#3。如果左右两侧最后汇聚到同一个根,则最后找根 5.#面向对象三大特性之三:多态
#原生多态,“鸭子类型”
#当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子
class F1:
pass
class S1(F1):
def show(self):
print(S1.show)
class S2(F1):
def show(self):
print(S2.show)
def Func(obj):
print(obj.show())
s1_obj = S1()
Func(s1_obj)
s2_obj = S2()
Func(s2_obj) 6.#类成员
#字段
#普通字段,保存在对象中,只能通过对象访问
#静态字段,保存在类中,可以用个类,或者对象访问
#方法
#普通方法,保存在类中,由对象直接调用,self = > 对象
#静态方法,保存在类中,由类直接调用
#类方法,保存在类中,由类直接调用cls = >当前类
class province:
country = "中国"
def __init__(self,name):
self.name = name
@staticmethod #静态方法
def jingtai():
print("我是静态方法,不需要对象")
@classmethod #类方法
def classmd(cls):
print(cls)
print("haha")
print(province.country)
hebei = province("河北")
print(hebei.name) province.jingtai()
province.classmd() #属性,特性
#@property
# 由属性的定义和调用要注意一下几点:
# 定义时,在普通方法的基础上添加 @property 装饰器;
# 定义时,属性仅有一个self参数
# 调用时,无需括号
# 方法:foo_obj.func()
#属性:foo_obj.prop
# ############### 定义属性 ###############
class Goods(object):
@property
def price(self):
print(property)
@price.setter
def price(self, val):
print(val)
@price.deleter
def price(self):
print(666)
# ############### 调用 ###############
#obj = Goods()
#obj.price # 自动执行 @property 修饰的 price 方法,并获取方法的返回值
#obj.price = 123 # 自动执行 @price.setter 修饰的 price 方法,并将 123 赋值给方法的参数
#del obj.price # 自动执行 @price.deleter 修饰的 price 方法
[python面向对象]--基础篇的更多相关文章
- 十六、python面向对象基础篇
面向对象基础: 在了解面向对象之前,先了解下变成范式: 编程范式是一类典型的编程风格,是一种方法学 编程范式决定了程序员对程序执行的看法 oop中,程序是一系列对象的相互作用 python支持多种编程 ...
- Python开发【第七篇】:面向对象 和 python面向对象进阶篇(下)
Python开发[第七篇]:面向对象 详见:<Python之路[第五篇]:面向对象及相关> python 面向对象(进阶篇) 上一篇<Python 面向对象(初级篇)> ...
- Python 面向对象 (进阶篇)
<Python 面向对象(初级篇)>文章介绍了面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使用(可 ...
- python 面向对象初级篇
Python 面向对象(初级篇) 概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发" ...
- Python 面向对象 基础
编程范式概述:面向过程 和 面向对象 以及函数式编程 面向过程:(Procedure Oriented)是一种以事件为中心的编程思想. 就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现 ...
- python面向对象基础
面向对象基础 1. 简述 编程方式: 面向过程: 根据代码在脚本的堆叠顺序,从上到下依次执行 函数式编程:将相同功能的代码封装到函数中,直接调用即可,减少代码重复性 面向对象:对函数进行分类和封装,将 ...
- Python 面向对象基础知识
面向对象基础知识 1.什么是面向对象编程? - 以前使用函数 - 类 + 对象 2.什么是类什么是对象,又有什么关系? class 类: def 函数1(): pass def 函数2(): pass ...
- python 面向对象基础和高级复习
面向对象基础 面向对象编程 面向过程编程:类似于工厂的流水线 优点:逻辑清晰 缺点:扩展性差 面向对象编程:核心是对象二字,对象属性和方法的集合体,面向对象编程就是一堆对象交互 优点:扩展性强 缺点: ...
- 1.Python面向对象基础
面向对象(OOP) 面向对象编程--object oriented programming 简写 OOP 面向过程和面向对象的区别: 面向过程: 1.把完成某一个需求的所有步骤从头到尾逐步实现 2 ...
随机推荐
- 备忘:mybatis 3的使用记录
这是一篇记录.mybatis是一个部分模仿ORM的framework.是一个介于ORM和原始JDBC的框架.既可以提供ORM的操作对象的特性,又能从详细地控制最终的SQL.达到一个平衡.我们还是得写s ...
- Matlab2015入门学习01
1. 两个命令: clear: 清除内存中变量的值(在workspace中可以看到) clc: 清除Command Window中的输出 2. 脚本编辑器: matlab脚本扩展名为*.m 在Comm ...
- Node+Socketio实现消息群发功能
注:本博文是作者原创,转载请注明出处. 在项目中时常会使用到socketio,今天我们就来实现Node+socketio实现群发消息功能, 项目源码:https://github.com/zhangx ...
- 【CF 710F】String Set Queries
在校内OJ上A了,没有加强制在线的东西..不放链接了. 这道题题意是维护一个字符串集合,支持三种操作: 1.加字符串 2.删字符串 3.查询集合中的所有字符串在给出的模板串中出现的次数 操作数\(m ...
- Map工具系列-03-代码生成BySQl工具使用说明
所有cs端工具集成了一个工具面板 -打开(IE) Map工具系列-01-Map代码生成工具说明 Map工具系列-02-数据迁移工具使用说明 Map工具系列-03-代码生成BySQl工具使用说明 Map ...
- codevs 1036 商务旅行(Targin求LCA)
传送门 Description 某首都城市的商人要经常到各城镇去做生意,他们按自己的路线去做,目的是为了更好的节约时间. 假设有N个城镇,首都编号为1,商人从首都出发,其他各城镇之间都有道路连接,任意 ...
- iOS - 在工程中试玩状态模式
做了一个项目,项目中一个藏品详情界面针对不同用户,和用户所处于的状态的不同,展示的效果和操作的权限都会不同.想到了状态模式,从来没有用过,赶紧学一下然后用一用.期待兴奋 看了这么多的博客,终于找到一个 ...
- c#.Net:Excel导入/导出之NPOI 2.0简介
NPOI 2.0+主要由SS, HPSF, DDF, HSSF, XWPF, XSSF, OpenXml4Net, OpenXmlFormats组成,具体列表如下: 资料来自:百度百科 Ass ...
- centos 软件包安装与管理
http://rpmfind.net/linux/RPM/index.html http://pkgs.org/ https://sourceforge.net/
- GPS模块数据放入谷歌地图显示,不准
GPS 串口读出的是 DDMM.MMMM格式 一般上位机是 DD.DDDDDD°或 DD°MM'SS" 格式, 这两种都可以在 GE 里直接输入 举例说明: 3147.8749 (示例,经纬 ...