类的成员

一、字段

- 字段可以分为'普通字段'和'静态字段'两种

- 普通字段(保存在对象中,执行时只能通过对象来进行访问)

- 静态字段(保存在类中,在内存中只保存一份数据(可以有效地节约内存的空间),执行时可以通过对象来访问,也可以通过类来访问)

class Province:
country = '中国' # 静态字段 def __init__(self, name):
self.name = name # 普通字段 def show(self): # 方法
print(self.name) Beijing = Province('北京')
Shanghai= Province('上海')
print(Beijing.name, Province.country) # 通过类来访问静态对象country
print(Shanghai.name,Shanghai.country) # 通过对象来访问静态对象country
===>北京 中国
===>上海 中国

二、方法

- 方法可以分为三种'普通方法'、'静态方法'以及'类方法'三种

- 普通方法,保存在类中,通过对象来调用,self参数为对象

- 静态方法,保存在类中,通过类来直接调用

静态方法的特殊之处:1、self 参数不再是必须的

            2、在方法前加上装饰器 @staticmethod

            3、也可以传入对应的参数

- 类方法,    保存在类中,通过类来直接调用,cls参数为类

类方法的特殊之处:    1、需要参数,一般使用为 cls

             2、在方法前加上装饰器 @classmethod

应用场景:

- 当对象中需要保存值,调用方法时需要使用对象中的值,此时使用普通方法更为合适

- 当不需要任何对象中的值时,使用静态方法或类方法比较合适

class Method:
# 普通方法
def nml(self):
print('普通方法') # 静态方法
@staticmethod
def stm():
print('静态方法') # 类方法
@classmethod
def cls(cls):
# 一般在类方法中的参数为cls ,cls 是类名
print('类方法') Method.stm()
Method.cls()
===>静态方法
===>类方法

三、属性(特性)

属性,保存在类中

class Info:
@property
def med1(self):
print('med1') def med2(self):
print('med2')
def med3(self,v):
print(v)
def med4(self):
print('med4') per = property(fget=med2,fset=med3,fdel=med4) obj = Info()
obj.med1
ret = obj.per # fget的访问方式
obj.per = 'med3' # fset的访问方式
del obj.per # fdel的访问方式
===>med1
===>med2
===>med3
===>med4

Python学习 :面向对象 -- 类的成员的更多相关文章

  1. Python学习:类和实例

    Python学习:类和实例 本文作者: 玄魂工作室--热热的蚂蚁 类,在学习面向对象我们可以把类当成一种规范,这个思想就我个人的体会,感觉很重要,除了封装的功能外,类作为一种规范,我们自己可以定制的规 ...

  2. Python之面向对象类和对象

    Python之面向对象类和对象 定义一个类:class 定义类的语法: class Test(object): """ 类里定义一类事物共同的技能. 可以是变量,也可是函 ...

  3. Java面向对象——类的成员

    Java面向对象——类的成员 摘要:本文主要介绍了类的常见成员. 属性 属性称为成员变量,一般来讲不用赋值,因为有默认值,另外显式赋值没有意义会导致所有由此类创建对象都是此值. 默认值 Boolean ...

  4. python面向对象(类的成员及类方法)

    类的普通成员 字段 方法 属性 类的高级成员 静态字段 静态方法 属性方法   类方法 类成员修饰符 类的成员 类的成员可以分为三大类:字段.方法和属性 注:所有成员中,只有普通字段的内容保存对象中, ...

  5. python基础学习笔记——类的成员

    一. 细分类的组成成员 之前咱们讲过类大致分两块区域,如下图所示: 每个区域详细划分又可以分为: class A: company_name = '老男孩教育' # 静态变量(静态字段) __ipho ...

  6. Python面向对象 | 类的成员

    一. 细分类的组成成员 之前咱们讲过类大致分两块区域,静态字段部分和方法部分. 每个区域详细划分又可以分为: class A: company = '阿里巴巴' # 静态变量(静态字段) __tel ...

  7. Python面向对象(类的成员之属性)

    day24 类的成员之属性 class Foo(): def bar(self): print("bar") @property def per(self): ') return ...

  8. Python面向对象(类的成员之方法)

    day24 类的成员之方法 - 普通方法,保存在类中,由对象来调用,self > 对象 - 静态方法,保存在类中,由类直接调用 - 类方法,保存在类中,由类直接调用,cls > 当前类 c ...

  9. Python面向对象(类的成员之字段)

    day24 类的成员之字段 # 字段         - 普通字段,保存在对象中,执行只能通过对象访问         - 静态字段,保存在类中,  执行 可以通过对象访问 也可以通过类访问 clas ...

随机推荐

  1. Oracle - ORA-28547: Connection to server failed,probable Oracle Net admin error (Navicat)

    一.异常 用Navicat连接Oracle数据库时抛出的异常 二.方案 使用 Oracle 安装目录 \Oracle\product\11.2.0\dbhome_1\BIN 下的 oci.dll 替换 ...

  2. 第一个c程序和vs2017 在打开MFC rc文件时找不到rcdll.dl

    第一个c程序 #include<stdio.h> int main() { ; ; printf_s("请输入两个数字:"); scanf_s("%d,%d& ...

  3. Linux 下LNMP环境搭建_【all】

    LNMP = Linux + Nginx + Mysql + PHP 1.0 Linux环境搭建 Linux 系统安装[Redhat] 1.1. FastCGI介绍 1.什么是CGI(common g ...

  4. 使用 Nginx 对 ASP.NETCore网站 或 Docker 等进行反向代理,宝塔面板对 ASP.NET Core 反向代理

    1,Nginx 的 配置文件 Nginx 可以配置反向代理.负载均匀等, 其默认配置文件名为 nginx.conf . 一般存放于 /你的安装目录/nginx/conf  下 Nginx 加载配置信息 ...

  5. scala当中的特质trait

    1.将trait作为接口使用 Scala中的trait是一种特殊的概念: 首先先将trait作为接口使用,此时的trait就与Java中的接口 (interface)非常类似: 在trait中可以定义 ...

  6. pwnhub_WTP攻击思路--self-xss高级利用

    1.self-xss+302跳转构造csrf的利用: 1.login.php 存在跳转2.http://54.223.108.205:23333/login.php?redirecturl=//vps ...

  7. programming-languages学习笔记--第6部分

    programming-languages学习笔记–第6部分 */--> pre.src {background-color: #292b2e; color: #b2b2b2;} program ...

  8. 剑指offer 最小的k个数 、 leetcode 215. Kth Largest Element in an Array 、295. Find Median from Data Stream(剑指 数据流中位数)

    注意multiset的一个bug: multiset带一个参数的erase函数原型有两种.一是传递一个元素值,如上面例子代码中,这时候删除的是集合中所有值等于输入值的元素,并且返回删除的元素个数:另外 ...

  9. HttpURLConnection与HttpClient学习

    转载HttpURLConnection与HttpClient浅析 一.HttpURLConnection的使用 import org.slf4j.Logger; import org.slf4j.Lo ...

  10. Spring(十四)之事务

    事务管理 一个数据库事务是一个被视为单一的工作单元的操作序列.这些操作应该要么完整地执行,要么完全不执行.事务管理是一个重要组成部分,RDBMS 面向企业应用程序,以确保数据完整性和一致性.事务的概念 ...