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("我要和宝宝约")

Python面向对象(成员)(二)的更多相关文章

  1. python - 面向对象(二)

    类的三大特性 类的三大特性包括: 封装.继承.多态 一.封装 封装就是将类所用到的所有字段.属性.方法都包含在类代码段里面,当实例调用直接调用类中的方法即可. class People(object) ...

  2. #3 Python面向对象(二)

    前言 上一节主要记录面向对象编程的思想以及Python类的简单创建,这节继续深入类中变量的相关知识,Here we go! Python中类的各种变量 1.1 类变量 类变量定义:在类中,在函数体(方 ...

  3. 初学Python——面向对象(二)

    一.抽象类.接口类和抽象接口 转自博客园魏恒https://www.cnblogs.com/weihengblog/p/8528967.html (一)接口类 什么是接口类?在继承中,我们可以声明某个 ...

  4. python面向对象(二)之封装

    封装定义: 在程序设计中,封装(Encapsulation)是对具体对象的一种抽象,即将某些部分隐藏起来,在程序外部看不到,其含义是其他程序无法调用. 即"封装"就是将抽象得到的数 ...

  5. Python学习:15.Python面向对象(二、继承的各种情况)

    一.什么是继承 继承是一种创建类的方法,在python中,一个类可以继承来自一个或多个父.原始类称为基类或超类. #创建父类 class Parent1: pass class Parent2: pa ...

  6. Python 面向对象进阶(二)

    1. 垃圾回收 小整数对象池 Python对小整数的定义是 [-5, 257),这些整数对象是提前建立好的; 在一个Python程序中,所有位于这个范围内的整数,使用的都是同一个对象; 单个字符共用对 ...

  7. python 面向对象(成员,静态,类)的(变量,方法)区别

    静态方法是使用@staticmethod装饰的方法,并且参数表中不需要self或者cls,可以访问类成员变量 默认的方法是有self的,是成员方法,可以访问私有变量和方法(通过self.xxx),或者 ...

  8. python 面向对象十二 元类

    一.类也是对象 只要使用关键字class,Python解释器在执行的时候就会创建一个对象.下面的代码段: class ObjectCreator(object): pass 将在内存中创建一个对象,名 ...

  9. python -- 面向对象-成员

    1.成员       在类中,你能写的所有内容都是类的成员   2.变量          1.实例变量:由对象去访问的变量,一般使用是  对象 . 属性 class Person: def __in ...

随机推荐

  1. JDBC | 查询表数据行数

      两种方法: 1. "select * from userinfo" 利用ResultSet的last和getRow方法来获得ResultSet的总行数,适用于在查询数据的同时统 ...

  2. Linux (二)

    PS :显示系统进程 -a :显示所有进程(包括其他用户的进程) -u :用户以及其他详细信息 -x :显示没有控制终端的进程 -ef :显示所有 top :用于动态地监视进程活动与系统负载的信息 p ...

  3. 使用CSS 实现菱形图片,斜条纹背景

    比较简单的菱形图片: 效果如下 代码部分: <div class="d1"> <img src="img/5.jpg"> </di ...

  4. 多线程:『GCD』详尽总结

    本文用来介绍 iOS 多线程中 GCD 的相关知识以及使用方法.这大概是史上最详细.清晰的关于 GCD 的详细讲解+总结的文章了.通过本文,您将了解到:1. GCD 简介2. GCD 任务和队列3. ...

  5. nodejs 学习(2) 中间件

    var connect=require('connect'), morgan=require('morgan'),//日志 bodyparser=require('body-parser'), ses ...

  6. e​c​s​h​o​p​调​用​商​品​简​单​描​述

    在下面文件 recommend_new.lbi recommend_best.lbi recommend_hot.lbi cat_goods.lbi 里调用商品简单描述用:{$goods.brief} ...

  7. 用Eclipse 开发Dynamic Web Project应用程序

    一.创建Server通过菜单选择File > New > Other>Server,创建Server,如下图所示. 二.创建Dynamic Web Project项目 1.菜单选择F ...

  8. oracle 直接连接到数据库 CMD窗口

    打开cmd 在命令行 中输入如下命令  sqlplus sys/zd****!@60.**.203/orcl as sysdba  就直接连上了

  9. prerender-spa-plugin预处理vue项目实践

    由于公司想要把商城做由之前的php和前端混合开发改版为前后端分离,所以拿现在手上的vue项目来实践一下 https://github.com/chrisvfritz/prerender-spa-plu ...

  10. 简单的鼠标经过特效-mouse事件

    <!doctype html> <html lang="zh-cn"> <head> <meta charset="UTF-8& ...