python类中修改属性值的3种方法

 时间:2026-02-13 14:31:35

1、首先,新建一个水果大类,其中给shelflife属性指定一个默认值。代码示例如下:

class Fruit():


   """定义一个水果大类"""
   def __init__(self,name,color):
       self.name = name
       self.color = color
       self.shelflife = 7
   def read_shelflife(self):
       print(self.name + " has a shelf life of " + str(self.shelflife) + " days.")

python类中修改属性值的3种方法

2、接着,创建一个my_fruit实例,并通过句点表示法访问水果的保质期。

my_fruit = Fruit("watermelon","green")


my_fruit.read_shelflife()

python类中修改属性值的3种方法

3、然后我们通过直接修改属性的方法,将shelflife的值改成10,接着调用read_shelflife的方法重新访问属性值,发现属性值发生了变化。代码示例如下:

my_fruit.shelflife = 10


my_fruit.read_shelflife()

python类中修改属性值的3种方法

1、有时候我们不希望直接修改属性值,这个时候可以定义一个方法专门用来修改属性的值。代码示例如下:

def update_shelflife(self,shelflife):


  """ 将水果保质期设置为指定的值"""
  my_fruit.shelflife = shelflife

python类中修改属性值的3种方法

2、接着向方法传递实参并调用方法,发现属性值同样发生了变化。代码示例如下:

my_fruit.update_shelflife(10)


my_fruit.read_shelflife()

python类中修改属性值的3种方法

3、通过定义方法来修改属性值时,我们还可以对修改做一下限定,比如禁止将保质期这个属性增加。代码示例如下:

def update_shelflife(self,shelflife):


   """
   将水果保质期设置为指定的值
   禁止将保质期天数增加
   """
   if shelflife < self.shelflife:
       self.shelflife = shelflife
   else:
       print("You can't increase the shelf life.")

python类中修改属性值的3种方法

4、对属性修改做了限制之后,再传递实参调用方法时,不满足条件的情况下,属性值不会发生改变。如图。

python类中修改属性值的3种方法

1、我们还可以通过定义方法对属性的值进行递减或者递增,比如将保质期递减,代码示例如下:

def reduce_shelflife(self, shelflife):


   """将保质期天数减少指定的数"""
   self.shelflife -= shelflife

python类中修改属性值的3种方法

2、定义了属性值递减的方法后,向方法传递实参并调用方法。代码示例如下:

my_fruit.reduce_shelflife(2)


my_fruit.read_shelflife()

python类中修改属性值的3种方法

1、方法1:直接修改属性的值

方法2:通过方法修改属性的值 

方法3:通过方法对属性的值进行递减/增

python类中修改属性值的3种方法

  • 小程序收藏功能如何做
  • 如何快速整理html和css代码
  • DEV C++头文件解析
  • 如何使用visual studio 2013 创建一个简易窗口
  • Mathematica实战范例:[6]人口分布图2
  • 热门搜索
    三亚旅游景点地图 五台山旅游团 西沙群岛旅游报价 杭州旅游景点介绍 鸟巢水立方旅游攻略 张家界旅游攻略网 成都市内旅游景点大全 旅游论坛排名 浙江的旅游景点 肇庆有什么旅游景点