实例变量:在类的声明中,属性是用变量来表示的。这种变量就称为实例变量,也就是成员变量。

实例方法:在类中声明的方法,例如:my(self),必须实例化之后才可以使用,否则会报错。

类变量:公共的变量,每个实例都可以用。

类方法

1、不用实例化就可以直接调用。

2、它可以通过cls使用类变量

3、它不能调用这个类里面的其他实例方法和实例变量

静态方法

#你不想实例化的时候,就可以定义成类方法

#静态方法就是一个普通函数,只不过是写在类里面而已,它用不了类变量、类方法、实例变量、实例方法

下面从实例中了解这几个知识点的具体用法,代码如下:

class Baby():
nationality = 'China' #类变量,公共的变量,每个实例都可以用
def __init__(self,name): #带了self的都是实例方法,必须实例化了之后才能调用,否则会报错
self.name = name #实例变量,也叫成员变量
print('self的内存地址',id(self))
def cry(self): #实例方法
print('哇哇哇') @property #这是一个装饰器,也叫属性方法,hhh函数就不能传参数了。如果函数没有入参就可以写property,调用的时候不能加括号了。
def hhh(self):
return
# b = Baby()
# print(b.hhh) #调用的时候不能加括号,看起来像属性的一个方法。 @classmethod #类方法
def xm(cls): #cls代表的就是baby
print(cls.nationality)
print('我是类方法')
# print(cls.name) cls不能调用实例变量,会报错
# cls.cry() cls不能调用实例方法,会报错 @staticmethod #静态方法
def xh():
print('这个是静态方法,它和一个没写在类里面的函数一样')
##############静态方法调用#############
Baby.xh() ###############类变量调用#############
Baby.nationality='USA' #类变量是可以直接通过类名.xxx来进行修改的。 dcg = Baby()
dcg.nationality = 'Japan' #不会改变类变量的值,只是改变了dcg这个实例中nationality的值
print(dcg.nationality)
yjt = Baby()
print(yjt.nationality) ############装饰器,属性方法#############
b = Baby()
print(b.hhh) #调用时直接对象.函数名,不需要加括号,看起来像属性的方法 ##############self###############
dcg = Baby('春光')
print('董春光的内存的',id(dcg))
zll = Baby('张流量')
print('董春光的内存的',id(zll))
>>>self的内存地址 7338696
董春光的内存的 7338696
self的内存地址 7338920
张流量的内存的 7338920

python学习笔记(二十二)实例变量、实例方法、类变量、类方法、属性方法、静态方法的更多相关文章

  1. python学习笔记(十二)之函数

    牛刀小试: 定义一个无参函数 >>> def myFirstFunc(): ... print("Hello python") ... print("h ...

  2. Python学习笔记第十二周

    目录: 数据库介绍 mysql 数据库安装使用 mysql管理 mysql 数据类型 常用mysql命令事务 索引 创建数据库 外键 增删改查表 权限 python 操作mysql  ORM sqla ...

  3. Python学习笔记第二十二周(前端知识点补充)

    目录: 一.伪类 二.样式 1.字体 2.背景图片 3.margin和padding 4.列表属性 5.float 6.clear 7.position 8.text-decoration(a标签下划 ...

  4. Python 学习笔记(十二)Python文件和迭代(一)

    文件 文件和文件夹 文件:文本文件.二进制文件 文件夹:(windows) G:\pythonWorkspace\python\study (linux/mac) /home/workspace/py ...

  5. python学习笔记-(十二)scoket编程基础

    socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. socket起源于Un ...

  6. Python 学习笔记(十二)Python文件和迭代(二)

    迭代 基本含义 迭代是重复反馈过程的活动,其目的通常是为了接近并到达所需的目标或结果.每一次对过程的重复被称为一次“迭代”,而每一次迭代得到的结果会被用来作为下一次迭代的初始值.  在计算科学中,迭代 ...

  7. python学习笔记(十二)python操作redis

    1.python要操作redis 首先需要安装redis模块,然后导入才能使用 安装:pip install redis 导入:import redis 2.连接redis r = redis.Red ...

  8. python学习笔记(十二):发送邮件

    我们在开发程序的时候,有时候需要开发一些自动化的任务,执行完之后,将结果自动的发送一份邮件,python发送邮件使用smtplib模块,是一个标准包,直接import导入使用即可,代码如下: impo ...

  9. Python学习笔记 (十二)偏函数

    摘抄:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014318447438 ...

  10. python学习笔记(十二)随机数模块

    import random,string print(random.randint(1,199))#1-199随机取一个整数,包含199 print(string.digits)#所有的数字0-9 p ...

随机推荐

  1. Android Studio多渠道打包的使用

    项目地址 https://github.com/mcxiaoke/gradle-packer-plugin 项目介绍 gradle-packer-plugin 是Android多渠道打包工具Gradl ...

  2. css样式整理

    字体属性:(font) 大小 {font-size: x-large;}(特大) xx-small;(极小) 一般中文用不到,只要用数值就可以,单位:PX.PD 样式 {font-style: obl ...

  3. 第二百五十五节,Bootstrap项目实战--关于

    Bootstrap项目实战--关于 html <!DOCTYPE html> <html lang="zh-cn"> <head> <me ...

  4. hdu 5443 The Water Problem(长春网络赛——暴力)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5443 The Water Problem Time Limit: 1500/1000 MS (Java ...

  5. 使用ANT编译项目报错 com.sun.image.codec.jpeg does not exist 解决方法

    项目开发中在对图片进行裁切处理的时候,有时候是会使用到 com.sun 包下的类时. 假设项目使用ant编译,会出现错误 com.sun.image.codec.jpeg does not exist ...

  6. GitHub搭建个人网站续

    来源:http://www.cnblogs.com/crazyacking/p/4678976.html http://www.cnblogs.com/crazyacking/category/716 ...

  7. 《SQL Server 2000设计与T-SQL编程》

    <SQL Server 2000设计与T-SQL编程> <SQL Server 2000设计与T-SQL编程>笔记1 http://dukedingding.blog.sohu ...

  8. JavaScript作用域原理——作用域根据函数划分

    一.一个for实例 <p id="scope3" style="color:red"></p> var pscope3 = docume ...

  9. 第十六篇:Linux系统编程中环境变量的使用

    前言 在 UNIX Like 系统中,存有各类系统/应用程序的环境变量,可通过修改之改变系统/应用程序的执行效果:除此之外,用户还可以定义自己的环境变量,供自己写的程序使用. 本文将说明如何在程序中设 ...

  10. Java Web项目BlogAutoGenerator编写日志1

    使用的数据库是MySQL,所以首先要在MySQL中创建database和表.建立数据库article_db,建立表blog,如下: create database article_db DEFAULT ...