0
点赞
收藏
分享

微信扫一扫

第8章、类

吓死我了_1799 2022-02-12 阅读 64
python

目录

8.1、创建类和使用类

8.1.1、类的特性

  1. Python 中首字母大写的名称一般指类,类的实例不必
  2. 类中可以包含变量、函数
  3. 可以向类传递参数,实例中函数以方法的方式调用执行
  4. 类的定义使用class,在Python 2.7 中在括号中包含object
  1. 对于子类,括号中指定其父类
class fa_class_name():
	[省略]
class so_class_name(fa_class_name):
	[省略]

8.1.2、创建一个简单的类

  1. 创建一个Dog 类
#示例1
#代码
class Dog():
    def __init__(self, name, age):
        self.name = name
        self.age = age
    def sit(self):
        print(self.name.title() + " is now sitting.")
    def show_age(self):
        age_message = self.name.title() + " are " + str(self.age) + " years old."
        print(age_message)
    def change_age(self, age):
        self.age = age
my_dog = Dog("Bibi", 2)
my_dog.sit()
my_dog.show_age()
print(my_dog.age)
my_dog.change_age(4)
my_dog.show_age()
#输出
Bibi is now sitting.
Bibi are 2 years old.
2
Bibi are 4 years old.

  1. 说明:

8.1.3、类中的方法

  1. 对于类的声明,其中函数参数可以设定默认值,如同普通函数一般
  2. 修改类的实例中的变量(属性),可以直接通过"." 方法访问并修改,也可以通过类中的方法(函数)修改

8.2、继承

8.2.1、子类与父类

  1. 定义子类时,必须在括号中包含父类的名称
  2. 定义子类时,会从父类中获得所有方法,在子类中可不必声明父类所包含的方法

8.2.2、子类中的特点

  1. 因为子类继父类所有方法,子类定初始化时,需完成父类中参数的初始化
class fa_class_name():
	[省略]
class so_class_name(fa_class_name):
	def __init__(self, variable_name):
		super().__init__(variable_name)
	def extra_function_name():
		[省略]
  1. super() 函数是一个特殊的函数,帮助子类与父类关联起来,父类也称超类(superclass)
  2. 子类能包含父类所没有包含的方法,可以直接在子类中定义
  3. 父类中的方法可以在继承时重写,即得到与父类不同的一个方法,只需将需要重写的方法重新定义一次

8.2.3、将类做类中的属性

  1. 类中所包含的属性,可以是变量,同时,也可以是类

8.3、导入类

8.3.1、导入单个类

  1. 将类的定义写在一个模块中, 像导入函数一样,将类导入,类的名称首字母大写
  1. 同样,也可在一个模块中定义多个类

8.3.2、从一个模块中导入多个类

  1. 导入多个类时,将类名以"," 分隔开

8.3.3、导入整个模块

  1. 导入整个模块后,其中类的调用同模块中的函数一样,使用"." 方法
import [模块名]
example = [模块名].class_name(variable_name)
  1. 导入模块中的所有类,方法同样与函数的导入相同
举报

相关推荐

0 条评论