Python中Class的定义及使用教程
概述
在 Python 中,class 是面向对象编程的重要概念之一,它允许我们自定义一些对象类型,并封装相应的属性与方法。在本教程中,我将带领大家从基础到实战,深入掌握 Python 中 class 的定义及使用教程。
Class 的定义
在 Python 中,class 的定义格式通常如下:
class 类名:
def __init__(self, 参数1, 参数2, ..):
self.属性名1 = 参数1
self.属性名2 = 参数2
def 方法名(self, 参数1, 参数2, ..):
# 方法代码
其中,__init__
是一个特殊方法,用于对新对象的属性进行初始化,类似于其他编程语言中的构造函数。
Class 的使用
- 创建对象
创建一个类的对象,只需要使用类名加上括号即可:
class Person:
def __init__(self, name):
self.name = name
p1 = Person("Tom")
print(p1.name) # 输出 Tom
- 访问属性
可以通过对象的属性名进行访问和修改对象的属性:
class Person:
def __init__(self, name):
self.name = name
p1 = Person("Tom")
p1.name = "Jerry"
print(p1.name) # 输出 Jerry
- 访问方法
可以通过对象的方法名进行访问对象的方法:
class Person:
def __init__(self, name):
self.name = name
def say_hello(self):
print(f"Hello, my name is {self.name}")
p1 = Person("Tom")
p1.say_hello() # 输出 Hello, my name is Tom
- 继承
在 Python 中,类之间可以通过继承的方式构建出类的层次结构。子类可以继承父类的属性与方法。
class Animal:
def __init__(self, age):
self.age = age
class Dog(Animal):
def bark(self):
print("Wangwang")
d = Dog(3)
print(d.age) # 输出 3
d.bark() # 输出 Wangwang
示例说明
这里给出两个示例,分别演示了 class 的使用与继承的方法。
示例1:图书管理系统
在这个图书管理系统中,我们将书籍信息封装进 Book 类中。主要功能包括添加书籍、查询书籍、删除书籍等操作。
class Book:
def __init__(self, title, author, publish_date, price):
self.title = title
self.author = author
self.publish_date = publish_date
self.price = price
class Library:
def __init__(self):
self.books = []
def add_book(self, book):
self.books.append(book)
def query_book(self, title):
for book in self.books:
if book.title == title:
return book
return None
def remove_book(self, title):
for book in self.books:
if book.title == title:
self.books.remove(book)
return True
return False
# 创建 Book 对象
b1 = Book("The Great Gatsby", "F. Scott Fitzgerald", "April 10, 1925", 22.50)
b2 = Book("To Kill a Mockingbird", "Harper Lee", "July 11, 1960", 12.99)
b3 = Book("1984", "George Orwell", "June 8, 1949", 9.99)
# 创建 Library 对象
library = Library()
# 添加 Book 对象到 Library
library.add_book(b1)
library.add_book(b2)
library.add_book(b3)
# 查询书籍
book = library.query_book("1984")
print(book.title, book.author)
# 删除书籍
library.remove_book("To Kill a Mockingbird")
for book in library.books:
print(book.title)
示例2:动物类层次结构
在这个示例中,我们定义了一个 Animal 类作为所有动物类的父类,然后定义了一些特定的子类,比如 Dog、Cat 等。
class Animal:
def __init__(self, age, weight):
self.age = age
self.weight = weight
class Dog(Animal):
def bark(self):
print("Wangwang")
class Cat(Animal):
def meow(self):
print("Miaomiao")
dog = Dog(3, 10)
print(dog.weight) # 输出 10
dog.bark() # 输出 Wangwang
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python中class的定义及使用教程 - Python技术站