1、在程序中设计表格,我们称之为:设计类(class) 2、在程序中打印生产表格,我们称之为:创建对象 3、在程序中填写表格,我们称之为:对象属性赋值# 1、设计一个类(类比生活中:设计一张登记表) class Student: name = None # 记录学生姓名 gender = None # 记录学生性别 nationality = None # 记录学生国籍 native_place = None # 记录学生籍贯 age = None # 记录学生年龄 # 2、 创建一对象(类比生活中:打印一张登记表) stu_1 = Student() # 3、对象属性赋值(类比生活中:填写表单) stu_1.name = '林君君' stu_1.gender = '女' stu_1.nationality = '中国' stu_1.native_place = '贵州' stu_1.age = '21' # 4、获取对象中的记录信息 print(stu_1.name) print(stu_1.gender) print(stu_1.nationality) print(stu_1.native_place) print(stu_1.age)
class 类名称: # class是关键字,表示要定义类了 类的属性: # 类的属性,即定义在类的变量(成员变量) 类的行为: # 类的行为,即定义在类中的函数(成员方法) 创建类对象的语法: 对象 = 类名称() 在类中定义成员方法和定义函数基本一致,但仍有细微区别: def 方法名( self ,形参1,......,形参 N ): 方法体 可以看到,在方法定义的参数列表中,有一个: self 关键字 self 关键字是成员方法定义的时候,必须填写的。 ·它用来表示类对象自身的意思 ·当我们使用类对象调用方法的是, self 会自动被 python 传入·在方法内部,想要访问类的成员变量,必须使用 self 语法: class 类名称: 成员变量 def 成员方法(self, 参数列表): 成员方法体 对象 = 类名称()# 定义一个带有成员方法的类 class Student: name = None def say_hi(self): print(f"大家好,我是{self.name},希望多多关照") # 传参方法 def say_hi2(self,msg): print(f"大家好,我是{self.name},{msg}") # 构建对象 stu = Student() stu.name = '张三' stu.say_hi() stu2 = Student() stu2.name = '李四' stu2.say_hi2("哎哟,不错哟")
设计一个闹钟类,里面包括id和价格,并且闹钟达到一定时间会发出响声
# 设计一个闹钟类 class Clock: id = None price = None # 设置闹钟声音 def ring(self): import winsound winsound.Beep(2000,3000) # 2000表示频率,3000表示持续时间 # 构建2个闹钟对象并让其工作 clock1 = Clock() clock1.id = "001" clock1.price = 19.9 print(f"闹钟ID是:{clock1.id},价格:{clock1.price}") # 调用方法 clock1.ring()
Python 类可以使用:__init__(),称之为构造方法 可以实现: ·在创建类对象(构造类)的时候,会自动执行。 ·在创建类对象(构造类)的时候,将传入参数自动传递给__init__方法使用。 init _()方法,称之为构造方法
class Student:
# 可以不用定义,在下面方法中进行声明
# name = None # 记录学生姓名
# tel = None
# age = None # 记录学生年龄
def __init__(self,name,age,tel):
self.name = name
self.age = age
self.tel = tel
stu = Student("张三",31,"12345678975")
print(stu.name)
print(stu.age)
print(stu.tel)
开学了有一批学生信息需要录入系统,请设计一个类, 记录学生的姓名、年龄、地址,这3类信息 请实现: ·通过 for 循环,配合 input 输入语句,并使用构造方法,完成学生信息的键盘录入 ·输入完成后,使用 print 语句,完成信息的输出 当前录入第1位学生信息,总共需录入10位学生信息请输入学生姓名:周杰轮 请输入学生年龄:31 请输入学生地址:北京 学生1信息录入完成,信息为:【学生姓名:周杰轮,年龄:31,地址:北京】当前录入第2学生信息,总需录入10位学生信息 请输入学生姓名:class Student: def __init__(self,name,age,address): self.name = name self.age = age self.address = address # 创建一个空列表,用于存储学生信息 students = [] # 外层循环,用于控制录入学生的数量 for i in range(3): # 内存循环,用于控制每个学生的信息录入 while True: name = input("请输入学生姓名:") age = input("请输入学生年龄:") address = input("请输入学生地址:") if name and age and address: break else: print("请完整录入学生信息") # 使用学生类实例化一个学生对象,并将学生信息加入到学生列表中 student = Student(name,age,address) students.append(Student) # 打印当前学生信息 print("学生{}信息录入完成,信息为:【学生姓名:{},年龄:{},地址:{}】".format(i+1, name, age, address))