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

2025-10-29 08:38:26

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种方法

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢