python创建一个学生类(class),实现增删改查
时间: 2023-05-01 13:06:51 浏览: 75
可以通过定义一个类,并在其中定义方法实现增加、删除和修改功能,通过调用这些方法实现对类的操作,例如:
```
class Student:
def __init__(self, name, age):
self.name = name
self.age = age
self.grades = {}
def add_grade(self, subject, grade):
self.grades[subject] = grade
def delete_grade(self, subject):
del self.grades[subject]
def update_age(self, new_age):
self.age = new_age
```
以上是一个简单的Student类,实现了增加、删除和修改学生成绩和年龄的功能。可以在程序中实例化该类,进行具体的操作:
```
student1 = Student("张三", 18)
student1.add_grade("数学", 90)
student1.update_age(19)
student1.delete_grade("数学")
```
以上代码实现了对student1的创建、加入数学成绩、改变年龄和删除数学成绩的操作。
相关问题
创建一个学生学籍系统,包括姓名学号性别成绩,实现增删改查打印功能
好的,这里提供一个简单的学生学籍系统的代码示例,使用 Python 语言实现。这个学生学籍系统包括四个基本的操作:增加学生信息、删除学生信息、修改学生信息、查询学生信息和打印所有学生信息。具体实现如下:
```python
class Student:
def __init__(self, name, id, gender, score):
self.name = name
self.id = id
self.gender = gender
self.score = score
class StudentSystem:
def __init__(self):
self.students = []
def add_student(self, name, id, gender, score):
student = Student(name, id, gender, score)
self.students.append(student)
print("学生信息添加成功!")
def del_student(self, id):
for student in self.students:
if student.id == id:
self.students.remove(student)
print("学生信息删除成功!")
return
print("该学生不存在!")
def update_student(self, id, name=None, gender=None, score=None):
for student in self.students:
if student.id == id:
if name != None:
student.name = name
if gender != None:
student.gender = gender
if score != None:
student.score = score
print("学生信息修改成功!")
return
print("该学生不存在!")
def search_student(self, id):
for student in self.students:
if student.id == id:
print("姓名\t学号\t性别\t成绩")
print("{}\t{}\t{}\t{}".format(student.name, student.id, student.gender, student.score))
return
print("该学生不存在!")
def print_all(self):
print("姓名\t学号\t性别\t成绩")
for student in self.students:
print("{}\t{}\t{}\t{}".format(student.name, student.id, student.gender, student.score))
if __name__ == '__main__':
ss = StudentSystem()
ss.add_student("张三", "001", "男", 90)
ss.add_student("李四", "002", "女", 80)
ss.del_student("003")
ss.del_student("002")
ss.update_student("001", name="王五", gender="女")
ss.search_student("001")
ss.print_all()
```
在这个示例代码中,我们定义了两个类:`Student` 类和 `StudentSystem` 类。`Student` 类表示一个学生对象,具有姓名、学号、性别和成绩四个属性;`StudentSystem` 类表示一个学生学籍系统,具有增加、删除、修改、查询和打印五个功能。其中,增加、删除、修改和查询函数都需要提供学生的学号作为参数来定位到具体的学生对象。在 `add_student()` 函数中,我们创建了一个新的 `Student` 对象,并将其添加到学生列表中;在 `del_student()` 函数中,我们使用 `remove()` 方法从学生列表中删除指定学生对象;在 `update_student()` 函数中,我们通过检查传入的参数是否为 `None` 来确定是否需要修改学生的属性;在 `search_student()` 函数中,我们遍历学生列表查找指定学生对象,并将其姓名、学号、性别和成绩打印出来;在 `print_all()` 函数中,我们遍历学生列表并将所有学生的信息打印出来。
在主函数中,我们创建了一个 `StudentSystem` 对象,并分别测试了增加、删除、修改、查询和打印五个功能。你可以根据自己的需求对代码进行修改和扩展。
编写一个能够增删改查的学生管理系统
好的,以下是一个简单的学生管理系统,支持增加学生、修改学生、删除学生和查询学生信息的功能。
```
import mysql.connector
# 连接数据库
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
# 创建学生表
mycursor = mydb.cursor()
mycursor.execute("CREATE TABLE students (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL, gender ENUM('Male', 'Female') NOT NULL, birthday DATE NOT NULL, email VARCHAR(50), phone VARCHAR(20), address VARCHAR(100), department VARCHAR(50), major VARCHAR(50), grade INT, class_no INT)")
# 添加学生
def add_student(name, gender, birthday, email, phone, address, department, major, grade, class_no):
sql = "INSERT INTO students (name, gender, birthday, email, phone, address, department, major, grade, class_no) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)"
val = (name, gender, birthday, email, phone, address, department, major, grade, class_no)
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "记录插入成功。")
# 修改学生信息
def update_student(id, email, phone, address):
sql = "UPDATE students SET email = %s, phone = %s, address = %s WHERE id = %s"
val = (email, phone, address, id)
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "记录更新成功。")
# 删除学生
def delete_student(id):
sql = "DELETE FROM students WHERE id = %s"
val = (id,)
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "记录删除成功。")
# 查询学生信息
def query_student(name):
sql = "SELECT * FROM students WHERE name = %s"
val = (name,)
mycursor.execute(sql, val)
myresult = mycursor.fetchall()
for x in myresult:
print(x)
# 测试
add_student("张三", "Male", "2002-01-01", "zhangsan@example.com", "12345678901", "北京市朝阳区", "计算机科学与技术系", "计算机科学与技术", 2019, 1)
update_student(1, "zhangsan_new@example.com", "12345678901", "北京市海淀区")
delete_student(1)
query_student("张三")
```
以上代码使用了Python和MySQL数据库,通过连接数据库并创建学生表来实现学生信息的管理。其中,add_student()函数实现了添加学生的功能,update_student()函数实现了修改学生信息的功能,delete_student()函数实现了删除学生的功能,query_student()函数实现了查询学生信息的功能。最后,通过测试函数来验证这些功能是否正常。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)