python中自定义函数方法的调用与局部变量修改

文章介绍了如何在Python中定义和使用一个名为Student的类,包括类变量、实例变量、构造函数、方法(如获取学生信息和课程安排)、类方法(数据预处理)以及静态方法。示例展示了如何创建类的实例、操作实例属性和类属性,以及调用相关方法。
摘要由CSDN通过智能技术生成
class Student:
    #2、类变量
    stu_class='应用统计'
    stu_teacher='li'
    stu_cnt=60
    #1、实例变量
    def __init__(self,sname,sno,sage,sdept):
        self.sname=sname
        self.sno=sno
        self.sage=sage
        self.sdept=sdept
        pass
    
    def get_info(self):
        stu_dict={'class':self.stu_class,'name':self.sname,'sno':self.sno,'age':self.sage,'dept':self.sdept}
        return  stu_dict

    def course(self,day):
        if day.weekday()==3:#周一为0
            print('周四课程:spss和python')
        elif day.weekday()==4:
            print('周五课程:数学建模')
            pass
        pass
    @classmethod #类方法用于数据预处理,将输入的字符串进行切割
    def data_pre(cls,stu_info):#'sun 5 18 math'
        sname,sno,sage,sdept=stu_info.split()
        return Student(sname,sno,sage,sdept)

    @staticmethod #静态方法,不需要用到实例变量,用于打印课表
    def course_s(day):
        if day.weekday() == 3:  # 周一为0
            print('周四课程:spss和python')
        elif day.weekday() == 4:
            print('周五课程:数学建模')
            pass
        pass

    pass
stu1=Student('zhang',1,20,'math')#创建名为stu1的Student类的实例对象,并传入四个参数'zhang',1,20,'math'
stu2=Student('zhao',2,19,'math')#创建名为stu1的Student类的实例对象,并传入四个参数'zhao',2,19,'math'
print(stu1.get_info())#调用stu1实例对象的get.info()方法获取并打印学生的信息:'class':'应用统计学','name':'zhang','sno':1,'age':19,'dept':'math'
print(stu2.get_info())#调用stu1实例对象的get.info()方法获取并印学生的信息:'class':'应用统计学','name':'zhao','sno':2,'age':19,'dept':'math'
print(stu1.sname)#打印出实例对象stu1的sname属性:zhang
stu1.speciality='唱歌'#增加实例属性:为stu1增加特长的属性
print(Student.stu_cnt,stu1.stu_cnt,stu2.stu_cnt)#打印类属性:stu,实例stu1、stu2的班级人数 输出结果:60 60 60
stu1.stu_class='应用统计一班'#修改stu1的班级属性为‘应用统计一班’
stu2.stu_class='应用统计二班'#修改stu1的班级属性为‘应用统计二班’'
print(Student.stu_class,stu1.stu_class,stu2.stu_class)#打印stu,stu1,stu2对象的班级信息:应用统计,应用统计一班,应用统计二班
Student.stu_class='应用数学'#修改类变量,将班级改为应用数学
Student.m_teacher='chen'#增加类变量m_teacher为chen
import datetime#导入datetime模块
stu1.course(datetime.datetime(2023,5,5))#调用实例方法course,输出结果为:周五课程:数学建模
stu3=Student.data_pre('sun 5 18 math')#调用Student类的data_pre方法,并将字符串'sun 5 18 math'作为参数传递给该方法。然后将返回值赋值给变量stu3
print(stu3.get_info())#获取学生stu3的信息,并将其存储在一个字典中返回:{'class':'应用数学','name':sun,'sno':'5','age':'18','dept':'math'}

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值