19 Python之面向对象(成员)
1. 成员
在类中你能写的所有内容都是类的成员
2. 变量
1. 实例变量: 由对象去访问的变量.
class Person:
def __init__(self, name, id, gender, birth):
self.name = name # 实例变量 对象里的变量
self.id = id
self.gender = gender
self.birth = birth
2. 类变量. 此时. 这个变量属于类. 但是对象也可以访问.
class Person:
country = "大清" # 类变量
def __init__(self, name, gender):
self.name = name
self.gender = gender
3. 方法
1. 实例方法: 使用 对象.方法()
特点: 在声明的时候. 需要给出self, self必须放在第一个位置
在调用的时候. 自动的会把对象传递给形参的self
class Computer:
def play(self): # 实例方法
print("电脑可以扫雷")
def work(self): # 实例方法
print("电脑用来工作")
2. 类方法(@classmethod): 类方法是属于类的.
特点:在声明的时候需要给出一个能够接受类名的参数, cls , 也必须放在参数的第一个
在调用的时候. 自动得把xx对象的类传递给cls
class Person:
@classmethod # 装饰器, 此时这个方法是一个类方法
def he(cls):
print("人能喝")
3. 静态方法(@staticmethod): 静态方法也是属于类的. 静态方法就好比. 我们在类中定义了一个函数静态方法一般和类方法差不多. 使用类名去访问.
class Person:
@staticmethod # 静态方法
def yue():
print("fsadf")
4. 属性
在方法上添加一个@property. 可以把一个方法变成一个属性. 但是这个属性不可以被赋值
当我们某一个属性必须经过计算才能得到结果的时候.
class Person:
def __init__(self, name, gender, birth):
self.name = name
self.gender = gender
self.birth = birth @property # 把一个方法更改成一个属性, 每次拿属性的时候都会自动的去执行这个方法,方法的返回值就是属性值
def age(self): # 实例方法
return 2018 - self.birth
5. 私有
所有以双下划线开头的方法, 变量都是私有内容. 外界无法访问. 除非你主动暴露这些内容
class Person:
__qie = "潘潘" # 类变量 外部不能调 内部能调
def __init__(self, name, mimi):
self.name = name
self.__mimi = mimi # 私有内容 实例变量 外部不能调 内部能调
def gaosu(self):
print(f"把秘密告诉了同事, 第二天所有人都知道了{self.__mimi}")
print(Person.__qie) # 私有的类变量只能在类中调用
def __yue(self): # 私有的实例方法 外部不能调 内部能调
print("我要和宝宝约")
19 Python之面向对象(成员)的更多相关文章
- Python基础面向对象成员
面向对象中成员 字段: 静态字段保存在类中:静态字段在代码加载时被创建 普通字段保存在对象中: 规则: 普通字段只能用对象访问: 静态字段用类去访问(万不得已的时候可以使用对象访问) #!/usr/b ...
- python --- 17. 面向对象成员
面向对象的成员 能写的所有成员 一.变量 1.实例变量 访问时 对象.变量 2.类变量 访问时 类名.变量 注意: 二.方法 1.实例方法 必须有一个参数(self) 调用时 ...
- 19.Python略有小成(面向对象Ⅰ)
Python(面向对象Ⅰ) 一.面向对象初识 回顾面向过程编程与函数式编程 # 面向过程编程 测量对象的元素个个数. s1 = 'fjdsklafsjda' count = 0 for i in s1 ...
- Python【day 17】面向对象-成员
类的变量分成2种: 1.成员变量 概念:在构造方法中的变量,前面带有self 作用:可以在类中不同的方法间使用 2.类变量-静态变量 概念:在类中,构造方法和普通方法之外,定义的变量 作用: 1.调用 ...
- Python OOP面向对象
一.什么是面向对象的程序设计 1.面向过程 程序设计:核心是过程二字,过程指的是解决问题的步骤,即先干什么再干什么......面向过程的设计就好比精心设计好一条流水线,是一种机械式的思维方式. 优点是 ...
- Python基础—面向对象(进阶篇)
通过上一篇博客我们已经对面向对象有所了解,下面我们先回顾一下上篇文章介绍的内容: 上篇博客地址:http://www.cnblogs.com/phennry/p/5606718.html 面向对象是一 ...
- 10 . Python之面向对象
面向对象编程--Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 面向对象初识别 面向过程v ...
- Python之路,Day8 - Python基础 面向对象高级进阶与socket基础
类的成员 类的成员可以分为三大类:字段.方法和属性 注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多少对象,在内存中就有多少个普通字段.而其他的成员,则都是保存在类中,即:无论对象的 ...
- python学习------面向对象的程序设计
一 面向对象的程序设计的由来 1940年以前:面向机器 最早的程序设计都是采用机器语言来编写的,直接使用二进制码来表示机器能够识别和执行的指令和数 据.简单来说,就是直接编写 和 的序列来代表程序语言 ...
随机推荐
- LeetCode 230. 二叉搜索树中第K小的元素(Kth Smallest Element in a BST)
题目描述 给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素. 说明:你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数. 示例 1: 输入: roo ...
- 6.HBase时髦谨慎财会会计
1.基本概念和原理 2.核心知识点 3.安装部署 4.Hbase开发
- 没有安装zip引发的一系列安装
安装一个php框架的时候提示不能在线解压缩 通过phpinfo查看没有加载zip扩展,安装开始. 先安装了一次发现不能make,,,什么情况!!! 提示这个错误,好吧解决.make: *** No t ...
- JavaScript this的使用
当作用域不同时,我们可以将this暂时性的保存下来. 例如: _this = this.
- 如何删除link-local(169.255.0.0) 路由表项
route -n 时你总能看到这样一条路由Destination Gateway Genmask Flags Metric Ref Use Iface169.254.0.0 0.0.0.0 255.2 ...
- Day6 && Day7图论
并查集 A - How Many Answers Are Wrong 题意:已知区间[1,n],给出m组数据,即[l,r]区间内数据之和为s,求错误数据的数量. 拿到这道题,真的没思路,知道用并查集, ...
- A = min(1, max(0, A))
Crop A into [0, 1]:
- IntelliJ IDEA 2018.2激活
IntelliJ IDEA 2018.2激活 下载补丁 下载补丁JetbrainsIdesCrack-4.2.jar 下载链接 修改文件 将文件JetbrainsIdesCrack-4.2.jar放在 ...
- 华为HCNA乱学Round 6:PVID,TAG,TRUNK
- grep与正则表达式:
1.grep程序 Linux下有文本处理三剑客 -- grep sed awk grep:文本 行过滤工具 sed: 文本 行编辑器(流编辑器) awk:报告生成器(做文本输出格式化) grep ...