python学习笔记(二十二)实例变量、实例方法、类变量、类方法、属性方法、静态方法
实例变量:在类的声明中,属性是用变量来表示的。这种变量就称为实例变量,也就是成员变量。
实例方法:在类中声明的方法,例如: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学习笔记(二十二)实例变量、实例方法、类变量、类方法、属性方法、静态方法的更多相关文章
- python学习笔记(十二)之函数
牛刀小试: 定义一个无参函数 >>> def myFirstFunc(): ... print("Hello python") ... print("h ...
- Python学习笔记第十二周
目录: 数据库介绍 mysql 数据库安装使用 mysql管理 mysql 数据类型 常用mysql命令事务 索引 创建数据库 外键 增删改查表 权限 python 操作mysql ORM sqla ...
- Python学习笔记第二十二周(前端知识点补充)
目录: 一.伪类 二.样式 1.字体 2.背景图片 3.margin和padding 4.列表属性 5.float 6.clear 7.position 8.text-decoration(a标签下划 ...
- Python 学习笔记(十二)Python文件和迭代(一)
文件 文件和文件夹 文件:文本文件.二进制文件 文件夹:(windows) G:\pythonWorkspace\python\study (linux/mac) /home/workspace/py ...
- python学习笔记-(十二)scoket编程基础
socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. socket起源于Un ...
- Python 学习笔记(十二)Python文件和迭代(二)
迭代 基本含义 迭代是重复反馈过程的活动,其目的通常是为了接近并到达所需的目标或结果.每一次对过程的重复被称为一次“迭代”,而每一次迭代得到的结果会被用来作为下一次迭代的初始值. 在计算科学中,迭代 ...
- python学习笔记(十二)python操作redis
1.python要操作redis 首先需要安装redis模块,然后导入才能使用 安装:pip install redis 导入:import redis 2.连接redis r = redis.Red ...
- python学习笔记(十二):发送邮件
我们在开发程序的时候,有时候需要开发一些自动化的任务,执行完之后,将结果自动的发送一份邮件,python发送邮件使用smtplib模块,是一个标准包,直接import导入使用即可,代码如下: impo ...
- Python学习笔记 (十二)偏函数
摘抄:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014318447438 ...
- python学习笔记(十二)随机数模块
import random,string print(random.randint(1,199))#1-199随机取一个整数,包含199 print(string.digits)#所有的数字0-9 p ...
随机推荐
- Tensorflow 梯度下降实例
# coding: utf-8 # #### 假设我们要最小化函数 $y=x^2$, 选择初始点 $x_0=5$ # #### 1. 学习率为1的时候,x在5和-5之间震荡. # In[1]: imp ...
- 审批流_state_selection 相关用法
审批流 _state_selection 前部分参数代表:新加的状态 后部分参数代表:原有系统的状态
- hdu 1232:畅通工程(数据结构,树,并查集)
畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- KVC/KVO之KVO
本章将分为三个部分: KVO是什么 KVO有什么用 KVO例子 KVO是什么 KVO,即NSKeyValueObserving,一个非正式的Protocol,提供一种机制来间接观察其他对象属性的变化. ...
- angularjs1+nodejs搭建的个人博客 实战个人项目
项目地址:https://github.com/MrZwqShuai/Micro-agency-Demo
- webpack配置(一)
这里再配置的时候走了些弯路,现在,把配置前的准备工作做好很重要: 首先,安装node.js,当然,npm也就有了: 其次,安装xampp,主要是为了配置Apache: 安装好后,xampp---htd ...
- 动态加载script文件
动态加载script文件: http://www.cnblogs.com/skykang/archive/2011/07/21/2112685.html
- [Gradle] 给已存在的 task 添加依赖
需求:在编译宿主 APP 之前先编译两个插件 SamplePlugin1 和 SamplePlugin2 tasks.whenTaskAdded { task -> if (task.name ...
- Navicat连接阿里云(centos7.3)的MySQL数据库遇到的问题及解决方法
注:本文涉及到的解决方案都是我遇到的问题的对应解决方案,不一定适用于每一个人,如果问题仍然存在,请继续百度查询其他解决方法 1. 首先是登录阿里云MySQL的一些必要信息(登录其他云主机的mysql ...
- style,currentStyle和getComputedStyle的区别
样式表有三种方式 内嵌样式(inline Style) :是写在Tag里面的,内嵌样式只对所有的Tag有效. 内部样式(internal Style Sheet):是写在HTML的里面的,内部样式只对 ...