跳至正文
View Categories

1 min read

主要内容 #

  • 类对象的创建
  • 类对象的使用
  • 类对象的修改
  • 1. 类对象的创建 #

    创建类对象的过程,又称为类的实例化。
    对已定义好的类进行实例化,其语法格式如下:

    变量名 = 类名(参数)

    定义类时,如果没有添加 __init__() 构造方法,又或者添加的 __init__() 中仅有一个 self 参数。
    则创建类对象时的参数可以省略不写。

    例如,如下代码创建了名为 Person 的类,并对其进行了实例化:

    class Person: #定义一个人类
        '''
        这是一个Person类的定义
        '''
        # __init__函数,实例化时为每个实例定制自己的属性
        def __init__(self, name, age, weight): # __init__函数,实例化时为每个实例定制自己的属性
            self.name = name
            self.age = age
            self.weight = weight
    
    Someone_1 = Person(name='小强', age=1, weight=18)
    print(Someone_1.name, Someone_1.age, Someone_1.weight)
    
    Someone_2 = Person(name='小杰', age=2, weight=20)
    print(Someone_2.name, Someone_2.age, Someone_2.weight)

    2. 类对象的使用 #

    定义的类只有进行实例化,也就是使用该类创建对象之后,才能使用。
    总的来说,实例化后的类对象可以执行以下操作:

    • 访问或修改类对象具有的实例变量;
    • 调用类对象的方法。

    访问类的属性(变量)的方法,格式如下:

    类对象名.变量名 # 使用英文句点 “.” 来访问对象中的变量
    类对象名.方法名(参数) # 使用英文句点 “.” 来访问对象中的方法

    例如:

    class Person: #定义一个人类
        '''
        这是一个Person类的定义
        '''
    	def __init__(self, name, age, weight):
    		self.name = name
    		self.age = age
    		self.weight = weight
    
    	def think(self, a, b):
    		print(a,' + ',b,' = ',a+b)
    	
    	def Information(self):
    		print("%s今年%d岁,体重%d公斤" % (self.name, self.age, self.weight))
    
    Someone = Person('小杰', 18, 60)  #创建对象
    print(Someone.name)   #访问类对象的属性
    Someone.Information()  #访问类对象的方法,由于只有一个self参数,所以不需要传入参数
    Someone.think(10,100)   #访问类对象的方法

    3. 类对象的修改 #

    在创建一个对象时,可以通过构造函数给对象的属性赋值
    在创建好对象之后,也可以对对象的属性进行修改。
    直接给对象的属性赋值,即可修改,比如:

    class Person: #定义一个人类
        '''
        这是一个Person类的定义
        '''
    	def __init__(self, name, age, weight):
    		self.name = name
    		self.age = age
    		self.weight = weight
    	
    	def Information(self):
    		print("%s今年%d岁,体重%d公斤" % (self.name, self.age, self.weight))
    
    Someone = Person('小杰', 18, 60)  #创建对象
    Someone.Information()  #修改前的信息
    
    Someone.name = '大杰'
    Someone.age = 28
    Someone.weight = 80
    Someone.Information()  #修改后的信息


    注意,Python支持添加新的实例变量或者删除已有的实例变量,也支持给类对象动态添加方法。
    但是这样就会打乱实例的结构,尽量不用

    4. 小结 #

    • 创建类对象的过程,又称为类的实例化
    • 类对象的使用:调用属性和方法
    • 类对象的修改:直接赋值

    习题 #

    • 实现人这个类,包含类属性:role,包含实例属性:name,height,age,sex,location,包含方法:打印所有属性
    • 构建如下几个类对象(实例),并且打印出所有属性:
    • 小明,100cm,10岁,男,上海
    • 老李,175cm,50岁,男,北京
    • 小红,105cm,11岁,女,上海