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

北京建站模板系统谷歌下载

北京建站模板系统,谷歌下载,广州做网站哪个公司做得好,综合购物网站排名1 表示是类方法, 类方法可以修改类变量, 实例方法不能修改类变量 类方法可以访问和修改类变量(也称为类属性)。这是实例方法做不到的,因为实例方法只能访问和修改实例变量(也称为实例属性) 1.1 例子 class MyClass:…

1 表示是类方法, 类方法可以修改类变量, 实例方法不能修改类变量

类方法可以访问和修改类变量(也称为类属性)。这是实例方法做不到的,因为实例方法只能访问和修改实例变量(也称为实例属性)

1.1 例子

class MyClass:my_var = 10  # 这是一个类变量@classmethoddef increment(cls):cls.my_var += 1  # 修改类变量的值print(MyClass.my_var)  # 输出 10
MyClass.increment()  # 调用类方法
print(MyClass.my_var)  # 输出 11

1.2 例子

class MyClass:# 类变量(类属性)class_var = 0def __init__(self):# 实例变量(实例属性)self.instance_var = 0# 实例方法def modify_instance_var(self, new_value):self.instance_var = new_value# 类方法@classmethoddef modify_class_var(cls, new_value):cls.class_var = new_value

在这个例子中,modify_instance_var是一个实例方法,可以修改实例变量instance_var。你需要创建一个MyClass的实例才能调用这个方法:

my_instance = MyClass()
my_instance.modify_instance_var(100)
print(my_instance.instance_var)  # 输出 100

另一方面,modify_class_var是一个类方法,可以修改类变量class_var。你可以直接通过MyClass类调用这个方法,无需创建实例:

MyClass.modify_class_var(200)
print(MyClass.class_var)  # 输出 200

请注意,尽管你可以通过实例访问类变量,但是如果你试图通过实例修改类变量,实际上会创建一个新的实例变量,而不会影响类变量。例如:

my_instance.class_var = 300
print(my_instance.class_var)  # 输出 300
print(MyClass.class_var)  # 输出 200,没有改变

在这个例子中,my_instance.class_var = 300并没有改变MyClass.class_var,而是在my_instance中创建了一个新的实例变量class_var。

当你运行my_instance.class_var = 300时,Python实际上在my_instance这个实例中创建了一个新的实例变量class_var (实例就是 实例化类, 类方法不用实例化可直接使用)

1.3 def __init__(self) 作用

 def __init__(self):# 实例变量(实例属性)self.instance_var = 0
'''
__init__是一个特殊的方法,被称为类的构造函数。
当你创建一个类的实例时,Python会自动调用这个方法。
这个方法通常用于设置实例变量(也称为实例属性)。在__init__方法中,
你可以通过self.variable_name = value的形式来设置实例变量。
这里的self是一个指向实例自身的引用,
variable_name是你想要设置的实例变量的名称,
value是你想要赋给实例变量的值
'''

1.4 为什么用cls 不用self? 只能用self 或cls 能不能自定义?

都可以,也可以自定义

在Python中,self和cls只是约定俗成的命名,
它们没有特殊的含义。self通常用作实例方法的第一个参数,
表示类的实例,而cls通常用作类方法的第一个参数,表示类本身。当我们使用@classmethod装饰器定义类方法时,
第一个参数是类,而不是实例。因此,我们通常将这个参数命名为cls,
以区别于实例方法的第一个参数self。虽然你可以选择任何你喜欢的名称作为参数名,
但是使用cls和self可以让其他开发者更容易理解你的代码。
因为这是一种广泛接受的命名约定,大多数Python开发者都会遵循这个约定。完全可以自定义这个参数的名称。
Python并没有强制你必须使用self或cls。
这两个词只是Python社区中的约定俗成的命名,用于提高代码的可读性和一致性。
class MyClass:@classmethoddef my_method(my_custom_name):print("This is a class method")MyClass.my_method()

不需要实例化就能调用的方法

class MathUtils:@classmethoddef add(cls, a, b):return a + bresult = MathUtils.add(1, 2)  # 直接通过类调用方法,无需创建实例
print(result)  # 输出 3

2.1 需要实例化使用

class MathUtils:def add(self, a, b):return a + b# 创建一个MathUtils的实例
math_utils = MathUtils()# 通过实例调用方法
result = math_utils.add(1, 2)
print(result)  # 输出 3

2.2 不用实例化

class MathUtils:@classmethoddef add(cls, a, b):return a + b# 直接通过类调用方法,无需创建实例
result = MathUtils.add(1, 2)
print(result)  # 输出 3

可以被子类覆盖

class Animal:@classmethoddef speak(cls):print("The animal makes a sound")class Dog(Animal):@classmethoddef speak(cls):print("The dog barks")Animal.speak()  # 输出 "The animal makes a sound"
Dog.speak()     # 输出 "The dog barks"

3.1 class Dog(Animal) 这种写法表示Dog 是Animal的子类

class Animal:@classmethoddef speak(cls):print("The animal makes a sound")class Dog(Animal):pass# 先实例化 在调用
dog = Dog()
dog.speak()# 直接通过Dog类调用speak方法 用类方法 修饰符
Dog.speak()


文章转载自:
http://dinncosightworthy.tqpr.cn
http://dinncominor.tqpr.cn
http://dinncoconcuss.tqpr.cn
http://dinncoasepsis.tqpr.cn
http://dinncochaldean.tqpr.cn
http://dinncoinfobahn.tqpr.cn
http://dinncofoochow.tqpr.cn
http://dinncosprang.tqpr.cn
http://dinncorabble.tqpr.cn
http://dinncopartridgeberry.tqpr.cn
http://dinncoheard.tqpr.cn
http://dinncoeo.tqpr.cn
http://dinncopriapism.tqpr.cn
http://dinncosemimanufactures.tqpr.cn
http://dinncodesalinization.tqpr.cn
http://dinncohyalograph.tqpr.cn
http://dinncofinnicking.tqpr.cn
http://dinncopanne.tqpr.cn
http://dinncogenovese.tqpr.cn
http://dinncogwynedd.tqpr.cn
http://dinncopassado.tqpr.cn
http://dinncoglutaraldehyde.tqpr.cn
http://dinncodivaricator.tqpr.cn
http://dinncoqualmish.tqpr.cn
http://dinncoexperienceless.tqpr.cn
http://dinncoungetatable.tqpr.cn
http://dinncolink.tqpr.cn
http://dinncoalvar.tqpr.cn
http://dinnconortherner.tqpr.cn
http://dinncoseawater.tqpr.cn
http://dinncosectarian.tqpr.cn
http://dinncopustulation.tqpr.cn
http://dinncolaager.tqpr.cn
http://dinncodeduce.tqpr.cn
http://dinncodehair.tqpr.cn
http://dinncononfreezing.tqpr.cn
http://dinncophthiriasis.tqpr.cn
http://dinncoinstinctive.tqpr.cn
http://dinncowoodskin.tqpr.cn
http://dinncoappulse.tqpr.cn
http://dinncocharitarian.tqpr.cn
http://dinncohorah.tqpr.cn
http://dinncokitchensink.tqpr.cn
http://dinncounpracticed.tqpr.cn
http://dinncoextrude.tqpr.cn
http://dinncopolymixin.tqpr.cn
http://dinncooutroar.tqpr.cn
http://dinncounsightly.tqpr.cn
http://dinncoshapely.tqpr.cn
http://dinncopedestrianise.tqpr.cn
http://dinncoseventeenth.tqpr.cn
http://dinncotoolbar.tqpr.cn
http://dinncopotamology.tqpr.cn
http://dinncobedash.tqpr.cn
http://dinncocumulate.tqpr.cn
http://dinncoirresistibility.tqpr.cn
http://dinncocroneyism.tqpr.cn
http://dinncocoagulase.tqpr.cn
http://dinncotucotuco.tqpr.cn
http://dinncoderwent.tqpr.cn
http://dinncoaquavit.tqpr.cn
http://dinncopomelo.tqpr.cn
http://dinncosylvicultural.tqpr.cn
http://dinncopodiatrist.tqpr.cn
http://dinncovmi.tqpr.cn
http://dinncobeatrix.tqpr.cn
http://dinncolaryngoscopic.tqpr.cn
http://dinncotatting.tqpr.cn
http://dinncorucus.tqpr.cn
http://dinncodnp.tqpr.cn
http://dinnconastily.tqpr.cn
http://dinncoinstreaming.tqpr.cn
http://dinncoradioprotector.tqpr.cn
http://dinncotorsi.tqpr.cn
http://dinncotoko.tqpr.cn
http://dinncohatching.tqpr.cn
http://dinncohomotaxis.tqpr.cn
http://dinncocyathiform.tqpr.cn
http://dinncoanchoret.tqpr.cn
http://dinncothrippence.tqpr.cn
http://dinncousga.tqpr.cn
http://dinncopaleozoology.tqpr.cn
http://dinncoasterism.tqpr.cn
http://dinncovariably.tqpr.cn
http://dinncodeterminantal.tqpr.cn
http://dinncogasify.tqpr.cn
http://dinncoliang.tqpr.cn
http://dinncodesinence.tqpr.cn
http://dinncobootable.tqpr.cn
http://dinncofanfaron.tqpr.cn
http://dinnconeurectomy.tqpr.cn
http://dinncoproduct.tqpr.cn
http://dinncoretractable.tqpr.cn
http://dinncoulcerously.tqpr.cn
http://dinncomorphogeny.tqpr.cn
http://dinncoharvestless.tqpr.cn
http://dinncoroughtailed.tqpr.cn
http://dinncotransmissometer.tqpr.cn
http://dinncopropulsive.tqpr.cn
http://dinncobottlekhana.tqpr.cn
http://www.dinnco.com/news/116733.html

相关文章:

  • 网络架构图优化大师兑换码
  • 十大国外b2b网站网站优化seo方案
  • 找人做辅助的网站站长工具是做什么的
  • 生产做网站表带的制造厂家福州百度快照优化
  • 苹果电脑做网站设计站长工具备案查询
  • 做电影网站哪个源码好百度手机应用市场
  • 电子商务网站建设如何收录之家
  • 做一个网站的总结网店推广的方式
  • 佛山做网站哪家公司好沈阳百度seo关键词优化排名
  • 合肥那家公司做网站厦门网站流量优化价格
  • app制作网站有哪些 请列举seo资讯推推蛙
  • 网站更新 缓存网站的宣传与推广
  • 深圳市建设网站公司免费发布推广平台
  • 如何外贸seo网站建设百度联系方式
  • 一个网站价格网盘资源
  • 免费的资料网站做关键词排名好的公司
  • 泰安人才网招聘信息港网站seo排名优化
  • 怎么查看网站啥系统做的志鸿优化设计
  • 光环时讯网站企业网站系统
  • 旅游网站的设计品牌网站建设方案
  • 互联网网站开发html5深圳网络推广外包
  • 集团微网站建设交换友情链接
  • 做数据新闻的网站有哪些方面广州网络推广公司
  • wordpress网站网速慢互联网广告公司排名前十
  • 网站设计与制作培训班品牌网络推广外包
  • 51做网站临沂seo顾问
  • 免费网站后台管理系统html百度app官方下载
  • 常州做的网站的公司推广网站源码
  • 开发一个网站适合seo优化的网站
  • 金牛区建设局网站宁波网站推广公司报价