当前位置: 首页 > wzjs >正文

烟台网站seo服务短视频营销方式

烟台网站seo服务,短视频营销方式,wordpress 注册插件,最新网站制作目录 十二.静态方法 十三.类方法 十四.类对象 类对象的概念 类对象的作用 实例对象怎么用类对象 内置函数 - dir 十二.静态方法 概述 默认情况下,类中定义的方法是实例方法,即这个方法有一个默认的形参self,这个self会在方法被调用的…

目录

十二.静态方法

十三.类方法

十四.类对象

类对象的概念

类对象的作用

实例对象怎么用类对象

内置函数 - dir


十二.静态方法

概述

默认情况下,类中定义的方法是实例方法,即这个方法有一个默认的形参self,这个self会在方法被调用的时候指向对象。但是有些时候,我们并不需要对象的引用,即self没用,那该怎么处理呢?能不写self吗?

答:可以

静态方法的概念

如果一个方法不写self即不需要实例对象的引用,此时在定义方法的时候可以用@staticmethod对函数进行修饰,被修饰的函数就可以不写self

一句话:被@staticmethod修饰的方法,就是静态方法

class 类名:@staticmethoddef 静态方法名():pass

代码示例

class Calculator:"""计算器类"""def __init__(self):# 定义2个默认值self.num1 = 0self.num2 = 0@staticmethoddef show_menu():"""因为打印菜单功能方法并不需要self指向的对象,所以就考虑使用静态方法"""print("计算机 V2025.07")print("1. 加法")print("2. 减法")print("3. 乘法")print("4. 除法")print("5. 退出")def get_nums(self):self.num1 = int(input("请输入第1个数:"))self.num2 = int(input("请输入第2个数:"))def add(self):print(self.num1 + self.num2)def min(self):print(self.num1 - self.num2)def mul(self):print(self.num1 * self.num2)def div(self):print(self.num1 / self.num2)def run(self):while True:self.show_menu()op = input("请输入要进行的操作:")if op == "1":self.get_nums()self.add()elif op == "2":self.get_nums()self.min()elif op == "3":self.get_nums()self.mul()elif op == "4":self.get_nums()self.div()elif op == "5":break# 创建一个计算器对象
cal = Calculator()
# 调用计算器的运行方法
cal.run()运行效果:
计算机 V2025.07
1. 加法
2. 减法
3. 乘法
4. 除法
5. 退出
请输入要进行的操作:

简单总结

如果不需要用到对象,那么就可以将方法用@staticmethod进行修饰,如此一来此方法就变成了静态方法

十三.类方法

概述

为了更好的对类属性进行操作,Python提供了另外一种方法类方法。

类方法的概念

之前在学习静态方法的时候我们知道可以在方法的名字前面添加@staticmethod此时这个方法就是静态方法

与创建静态方法类似,如果想要让一个方法成为类方法我们只需要在这个方法的前面添加 @classmethod即可,与此同时需要在方法的第一个形参位置添加cls

class 类名:@classmethoddef 类方法名(cls):pass

示例代码

class Tool:tools_num = 0  # 定义一个类属性,用来存储共享的数据def __init__(self, name):self.name = nameTool.tools_num += 1def print_info_1(self):print("工具的总数为:", Tool.tools_num)@classmethoddef print_info_2(cls):print("工具的总数为:", cls.tools_num)tieqiao = Tool("铁锹")
chutou = Tool("锄头")
dianciluo = Tool("电磁炉")tieqiao.print_info_1()
Tool.print_info_2()
tieqiao.print_info_2()运行效果:
工具的总数为: 3
工具的总数为: 3
工具的总数为: 3

简单总结

  • 定义类方法时,前面添加@classmethod
  • 类方法的第一个形参,一般都叫做cls(当然了叫什么名字可以任意,但一般都用cls)
  • 调用类方法的时候,可以用实例对象、类对象调用,但无论用哪种方式调用,类方法中的cls指向类对象
十四.类对象

概述

之前在学习类属性的时候,我们提到过:类属性是可以在多个实例对象之间共享的属性。那么问题来了,类属性到底存在哪里呢?

答:类对象

类对象的概念

之前我们说到通过class定义的就是类(就是一个要创建的商品的模板),通过类名()创建出来的叫做实例对象。其实,定义的类(即用class定义的类)实际上也是一个对象。(试想即使我们把类称之为模板,模板不是空的,也是需要占用内存的)

定义的类其实就是一个对象,为了能够将这个对象与其创建出来的实例对象进行区分,将这个class定义的类叫做类对象

类对象的作用

我们知道实例对象是类 (即类对象)创建出来的,所以类对象对于实例对象而言是共享的,既然是共享的那么就干脆将实例对象都有的而且不变化的内容存储到类对象即可,这样会减少内容的占用。那哪些东西会存储在类对象中呢?

  1. 类属性
  2. 所有的方法

对你没有看错,除了熟知的类属性之外,类对象中存储了class定义的所有的方法(无论是魔法方法、实例方法、静态方法 、类方法都在类对象中存储),因为方法(函数)的代码是不变的,变化的仅仅是数据而已。

实例对象怎么用类对象

每个实例对象中都会有一个额外默认的属性__class__,这个属性指向了创建当前对象的模板即类对象,所以当调用实例对象.xxx()时,实际上实例对象.__class__.xxx()

内置函数 - dir

既然我们知道了实例对象中有默认的__class__,那除了它之外还有哪些呢?怎么查看呢?

dir(实例对象)
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__','__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', 
'__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', 
'__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 
'__weakref__']

这么多以__开始的属性或方法不用现在就研究它们的含义和使用方式,在后期的学习中用到什么我们就研究什么。


文章转载自:

http://Ep5V7Roh.pdmmL.cn
http://C4EVoXYH.pdmmL.cn
http://zmzN8MMo.pdmmL.cn
http://8eRpTNvq.pdmmL.cn
http://rBbYpGH0.pdmmL.cn
http://XWrA4WVl.pdmmL.cn
http://YRUH8Jg1.pdmmL.cn
http://yQnXRBOV.pdmmL.cn
http://eczoB1WO.pdmmL.cn
http://YCXUhiLW.pdmmL.cn
http://iMIHi486.pdmmL.cn
http://HMR8CanS.pdmmL.cn
http://DOja1k2R.pdmmL.cn
http://ysTKe7LH.pdmmL.cn
http://fT7KoK7h.pdmmL.cn
http://2uURaxxG.pdmmL.cn
http://gCsK4XBn.pdmmL.cn
http://CrPtfoHr.pdmmL.cn
http://sqgo6Tpc.pdmmL.cn
http://0QSgibcZ.pdmmL.cn
http://LoBk7AFI.pdmmL.cn
http://VryqAJ3t.pdmmL.cn
http://Pb1mxv1z.pdmmL.cn
http://fGdapEMB.pdmmL.cn
http://bdagcmGj.pdmmL.cn
http://HmP6wTvL.pdmmL.cn
http://FJ7DU4g3.pdmmL.cn
http://jnuShIKN.pdmmL.cn
http://QkYmMlx7.pdmmL.cn
http://vNH6lQs7.pdmmL.cn
http://www.dtcms.com/wzjs/630653.html

相关文章:

  • 帮别人做网站 开票内容是什么企业网站开发的感想
  • 吉林分销网站建设东乌珠穆沁旗网站建设
  • 古镇 网站建设如何设计产品网站建设
  • iis7.0网站错误代码解决重庆旅游网站建设
  • 海淀网站建设龙岩一直免费的服务器下载
  • 淘宝联盟交钱建设网站润商网站建设
  • 做网站应该用多少分辨率化工网站建站模板下载
  • 网站主机购买东莞建设网站软件
  • 旅游网站设计的建设原则绿色长春app
  • 做外贸怎么登陆国外网站12306网站建设投标书
  • 如何在网站中做公示信息北京朝阳区最好的小区
  • 大型综合新闻门户网站织梦模板wordpress强大吗
  • 小公司让我用织梦做网站卖网站怎样做
  • 做网站什么配置够用专业北京网站建设公司哪家好
  • 外国人做中国英语视频网站淘宝客网站可以做分销吗
  • 如何防止别人攻击自己的网站jsp门户网站开发
  • 网页调用 wordpress 图片编辑器中国十大seo
  • 广州网站制作选哪家中国联通与腾讯设立混改合营企业
  • 关于网站建设实训报告46设计网站官网
  • 微小店网站建设用途网站搭建费用
  • 哈尔滨php网站开发公司经营网站备案
  • 做网站数据库要建什么表wordpress中设置ajax分页
  • 用竹片做的网站番禺做网站企业
  • 一定火网站建设定制上传网站安装教程视频
  • 网站图片用什么软件做pageadmin的应用
  • 怎么做网站底部备案号wordpress极简模版
  • 温州网站优化关键词规范网站建设情况的报告
  • 北京最好的网站建设中小企业管理课程培训
  • 学校网站建设成功公司推广网站怎么做
  • 网站开发有哪些书籍woocommerce做零售网站