首页 > 编程语言 >python复习功课

python复习功课

时间:2023-01-18 10:44:05浏览次数:40  
标签:调用 复习功课 python num 实例 静态方法 方法 属性

一、类方法(实例方法、类方法、静态方法)

使用方式:

1.实例方法是必须实例化可访问构建方法中的实例属性,也可通过类名去使用类属性,常用是实例化类给到一个类对象,用类对象.方法名调用

2.类方法只能访问类属性,不能访问实列属性,调用可使用实例名.方法名调用,也可用类名.方法名调用

3.静态方法是无需关心类本身,可使用类属性,但不能使用实例属性,直接采用类名.方法名调用

区别:

三种方法中实例方法权限最高,可使用实例属性和类属性。其他两种是不能使用实例属性的,静态方法是将类转换为函数使用的一种特殊方法

使用场景:

实例方法:当不想让其他模块访问我的数据的时候,采用实例化方法,因为实例化的数据是动态传参的,保证安全。

类方法:当类属性是固定不变的,并且其他模块可以使用我的方法时候,可采用类方法,数据和方法共享。

静态方法:更为宽松的使用方式,使用对象调用和类名都可以调用,可以使用类属性,直接传参使用,当用对象调用静态方法时候无需关心构建方法。直接像调用函数一样使用

 

案例:

 1 class foo():
 2     num = 2
 3     def __init__(self,num):
 4         self.num= num
 5 
 6     def fun(self):
 7         print('---->实例属性:{}'.format(self.num))
 8 
 9     @classmethod
10     def fun1(cls):
11         print('---->类属性:{},或采用类名.属性调用(foo.num):{}'.format(cls.num,foo.num))
12     @staticmethod
13     def fun2(x,y):
14         print('---->静态方法直接调用,无需传入cls和self','计算得出:{}'.format(x+y))
15         print('---->直接调用类属性:{}'.format(foo.num))
16 
17 
18 
19 if __name__ == '__main__':
20     #实例化类
21     c  = foo(4)
22     #对象调用方法
23     c.fun()
24     #类方法调用
25     foo.fun1()
26     #静态方法调用
27     foo.fun2(10,20)
28     #对象调用静态方法
29     c.fun2(100,200)

 

标签:调用,复习功课,python,num,实例,静态方法,方法,属性
From: https://www.cnblogs.com/zwthinkbit1981/p/17059342.html

相关文章

  • pyenv离线安装Python
    ​​welcometomyblog​​使用pyenv安装python3.7.4,下载了很久没有下载成功,于是尝试离线安装一.手动下载python3.7.4pyenv安装python时会给出下载地址,去这个地址下......
  • Python爬虫-第四章-2-协程与异步
    协程:    单线程执行多任务执行时,当执行中程序处于I/O期间,异步可以让CPU选择性的切换到其他任务上#DemoDescribe:协程importasyncioimporttime'''协程所针对的......
  • python方法(函数)
    定义格式def方法名(参数1,参数2,参数3):#具体实现return#返回值参数默认值defdesc(name='no-name',age=0):print("%s%d"%(name,age))#调用desc......
  • python序列
    类似于Java和C的数组,但python的”数组“可操作性更强,以下是常用APIinsert指定位置插入arr=[0,1,20,3,40,5,60,7,80,9]#下标1位置后加入值,结果[0,1,81,......
  • python pip实用手册
    pip是python的包安装工具,类似于JavaScript的npm和yarn设置国内源国内源清华https://pypi.tuna.tsinghua.edu.cn/simple阿里http://mirrors.aliyun.com/pypi/simpl......
  • 【Python】爬虫笔记-开源代理池haipproxy使用
    大规模的数据采集需要用到代理池来突破IP封锁。一般代理池的构建是先爬取网上的免费代理,校验后存到数据库中,再提供给其他程序api。github上有很多现成的代理池能拿来用,在......
  • python基础: 流程控制
    目录流程控制1.流程控制的理论知识2.需要注意的知识点3.流程控制之分支结构流程控制1.流程控制的理论知识概念:就是按照一定的步骤来实现某些功能的语句,事物的流程控......
  • 正则表达式在python中的应用
    基本语法元字符.匹配除换行符外任意一个字符[a-z]一个字母字符[^a-z]一个非字母字符[0-9]一个数字字符[^0-9]一个非数字字符\b匹配单词......
  • Day01-Python环境安装
    一、Python简介1、开源代码是公开的,任何人都可以去查看,修改以及使用。2、版本包括CPython(由C编写,把python编译成中间态的字节码,然后有虚拟机解释),Jthon(将python代码编译......
  • python基础: 数据类型及其内置方法、类型转换
    目录基本数据类型数据类型的概述1.数据类型之整形--int2.数据类型之浮点型--float3.数据类型之字符型,也称字符串类型--str4.数据类型之列表--list5.数据类型之字典--dict6.......