python面向对象的成员、属性等
#类成员:
#字段 self.xy =qq 。 xy=qq
#普通字段 (保存在对象里面)
#直接通过点(.)+ 字段 进行调用
#静态字段 (保存在类里面)
#静态字段属于类,在内存只保留一份 。 把公共的字段 放到类中 ,节省内存等好处
#代码从上到下解释到类就创建了
#可以通过 类.静态字段 进行访问
#方法 def xx()
# (保存在类里面)
#通过点(.) + 方法名 + 括号 进行调研
#通过 类 点(.) 方法名也可以调用 。 还是要在前面先实例化一个对象 #静态字段
class human:
address = "earth" #静态字段
def __init__(self,age):
self.age = age # 普通字段 h1 = human('20')
print(human.address) #通过类访问 静态字段
print(h1.address) #通过对象访问 静态字段 : 对象--> 类 --> 静态字段
print(h1.age) #通过对象访问 普通字段 #静态方法
class Foo:
def bar(self):
print('普通方法')
@staticmethod # 添加此装饰器后变成静态方法
def bar1(a): # 此处已经不需要self 了
print('静态方法:%s' %a) #f=Foo() # 不需要创建对象,也可以直接调用静态方法 (相当于一个函数了)
Foo.bar1(100) #通过类直接调用 #类方法
class Foo:
@classmethod
def classmd(cls): # cls 和 self意义差不多 ,此处写成 cls 。 cls 是当前类
print(cls) # cls 是类名,自动会传入
print('类方法') Foo.classmd() #属性
class Foo:
@property # 加了这个装饰器,p1 这个方法 调用起来就也可以和字段一样调用了。
def p1(self):
return 123
@p1.setter
def p1(self,var):
print(var)
@p1.deleter
def p1(self):
print('xx')
obj = Foo()
r=obj.p1 # 直接调用不需要括号 , 会直接调用 @property 下的 p1
print(r)
obj.p1=100 # 给他赋值(实际不会赋值), 会执行@p1.setter 下面的p1 (里面具体想做什么,你可以自己写) # 就是一个语法对应关系 和 赋值没关系
del obj.p1 # 删除它 (实际不会删除它), 会执行 @p1.deleter 下面的p1 # 就是一个语法对应关系 del 只是语法 不会删除的
python面向对象的成员、属性等的更多相关文章
- JavaScript面向对象(二)——成员属性、静态属性、原型属性与JS原型链
前 言 JRedu 上一篇博客中,我们介绍了JS中的面向对象,并详细的解释了this的指向问题.本篇博客,我们继续来学习JS的面向对象.来深入理解一下JavaScript OOP中的成员属性/方 ...
- python 面向对象类成员(字段 方法 属性)
一.字段 字段包括:普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同, 普通字段属于对象 静态字段属于类 class Province: # 静态字段 countr ...
- Python面向对象之成员修饰符
对于这些类成员有修饰符 之前定义字段country任何对象都可以访问,是公有的 可以定义为私用属性,只有类内部的方法可以调用,外部不能直接调用,但是可以间接调用 vim day7-10.py #!/u ...
- python面向对象之类成员
面向对象编程: OOP编程是利用类和对象来创建各种模型来实现对真实世界的描述,使用面向对象编程的原因一方面是因为它可以使程序的维护和扩展变得简单,并可以大大提高程序开发效率.另外,基于面向对象的程序可 ...
- python面向对象之类成员修饰符
类的所有成员分为: 公有成员,在任何地方都能访问 私有成员,只有在类的内部才能访问 私有成员和公有成员的定义不同:私有成员命名时,前两个字符是下划线.(特殊成员除外,例如:__init__.__c ...
- Python面向对象-类成员
类的成员可以分为三大类:字段.方法和属性: 注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多少对象,在内存中就有多少个普通字段.而其他的成员,则都是保存在类中,即:无论对象的多少,在 ...
- Python面向对象之私有属性和私有方法
01. 应用场景及定义方式 应用场景 在实际开发中,对象 的 某些属性或方法 可能只希望 在对象的内部被使用,而 不希望在外部被访问到 私有属性 就是 对象 不希望公开的 属性 私有方法 就是 对象 ...
- python面向对象之静态属性/静态方法/类方法/组合
继续学习,不要松懈 #!/usr/bin/env python # coding:utf-8 class Campus: def __init__(self,name,addr,type): self ...
- python 面向对象(二)成员
##################################总结########################### 类的成员: 变量: 实例变量 对象.属性=xxx 类变量 ...
随机推荐
- PHP验证器类Validator
Particle\Validator是一个小巧优雅的实用的PHP验证类库,提供了一个非常简洁的API.它无需依赖其他组件,提供友好的文档,并且有利于扩展. 安装 composer require pa ...
- 学习ZBrush到底需不需要用数位板?
在学习ZBrush时,要控制下笔的力度,而这一点是鼠标办不到的.这时就需要拥有一块手绘板.手绘板可以控制笔刷的力度. 在雕刻之前,要先来了解CG设计领域广泛应用的硬件产品—数位板,如图所示. 数位板又 ...
- 省选模板_STL
目录: 1. multiset 2. reverse 1.multiset namespace STL{ int main(){ multiset<int>::iterator s; mu ...
- Pyhton学习——Day34
# 任何语言都会发生多线程,会出现不同步的问题,同步锁.死锁.递归锁# 异步: 多任务, 多个任务之间执行没有先后顺序,可以同时运行,执行的先后顺序不会有什么影响,存在的多条运行主线# 同步: 多任务 ...
- 按时间划分备份MySQL脚本
按时间划分备份MySQL脚本 #!/bin/bash BASE_PATH=/data/dump/ JIRA_FILE_NAME=ZY798-`date +%Y%m%d%H%M%S`; cd /usr/ ...
- 为什么密信MeSince采用S/MIME加密?
S/MIME是Secure/Multipurpose Internet Mail Extensions (安全多用途互联网邮件扩展协议)的缩写,是采用PKI技术的用数字证书给邮件主题签名和加密的国标标 ...
- sqlserver中计算结果保留小数
经常要保留小数,在程序中计算太麻烦了,还要转换操作.直接在数据库中操作来得方便. 把数据类型定义成decimal/numeric类型,小数位看需要随意设,除数与被除数必须要有一个为decimal/nu ...
- BZOJ 3336 Black and White (插头DP)
题目大意: 给你一个n×m的网格,有一些格子已经被涂上了白色或者黑色,让你用黑色或白色填剩下的格子,且填好的网格必须保证: 1.对于任意2×2的子矩阵的4个格子,它们的颜色不能都相同 2.所有黑色的块 ...
- URL中一些特殊符号的替代符
下表中列出了一些URL特殊符号及编码 十六进制值 1.+ URL 中+号表示空格 %2B 2.空格 URL中的空格可以用+号或者编码 %20 3./ 分隔目录和子目录 %2F 4.? 分隔实际的 UR ...
- CodeForces 362E Petya and Pipes
Petya and Pipes Time Limit: 1000ms Memory Limit: 262144KB This problem will be judged on CodeForces. ...