Python语言在“程序设计基础”课程中的应用探讨
2023-05-30史文孙曼曼李春辉
史文 孙曼曼 李春辉
摘要:随着科技的发展,人们的生活发生了巨大变化,新时代教育也发生了巨大变化。Python语言备受公司、大学的青睐,“程序设计基础”课程的应用范围逐渐扩大,Python语言课堂教学越来越受到重视和广泛关注,成为重要的研究课题。文章主要分析“程序设计基础”课程教学存在的问题,并提出相应的对策,论述Python语言在“程序设计基础”课程中的应用,对后疫情时期课程教学改革进行分析,对后续教学进行探索。
关键词:Python语言;“程序设计基础”课程;教学改革;应用
中图分类号:G642文献标志码:A文章编号:1008-3561(2023)03-0113-04
Python語言是一种面向对象、解释型、动态型的编程语言,其具有简单易学、类库丰富、可拓展等特点,并且比较接近自然语言,备受公司、大学的青睐,在“程序设计基础”课程中广泛应用。本文论述Python语言在“程序设计基础”课程中的应用,对后疫情时期课程教学改革进行分析,对后续教学进行探索。
一、Python语言的特点
Python语言具有以下特点。一是简单易学。Python语言的强制缩进使得它具有较好的阅读性。Python语言是一种高级编程语言,这使得用Python语言编写程序时不需要考虑底层的细节。这些性质使编程人员能够专注于解决问题,提高编程效率。二是类库丰富。Python语言的标准库包括文件、GUI、数据库等多种操作。使用类库,很多功能不需要从头编写,可以直接调用库函数实现。除此之外,Python语言还有第三方库,通过导入第三方库,同样可以调用第三方库的函数直接使用。三是可扩展。Python语言可以兼容C或者C++语言程序片段,这使得Python语言具有一定程度的保密性和扩展性。四是解释性。当编译Python程序时,Python解释器通过将源代码转换为字节码,最后转换为机器可识别的机器语言。Python解释器不但使得Python语言更加简单,而且使得Python程序更加容易移植。此外,Python语言还具有可移植性、可嵌入性等特点。
二、“程序设计基础”课程分析
“程序设计基础”课程是面向计算机网络技术、软件技术、大数据等相关专业的一门基础课程,后续课程包括“数据清洗”“文本挖掘技术与应用”“大数据应用开发”“人工智能应用开发”等。
1.“程序设计基础”课程简介
本学院“程序设计基础”课程以Python语言为中心,课程包括变量、数据类型、注释、函数、文件操作、异常、面向对象编程等内容。学生通过本课程学习可以掌握Python开发的基础知识,可以独立开发简单的Python应用程序。从高等教育对接劳动力市场来看,无论是中低端产业的发展,还是高端制造业和新型服务业的业务扩大,都需要爱岗敬业、忠于职守、精通专业知识、开拓创新的人才。为对接学生就业,本课程包括能力目标、知识目标和素质目标。能力目标:能熟练搭建开发环境,能用Python语言编写简单的计算程序,能对文件进行简单的读、写、修改,能调用标准库函数和第三方库函数,能进行面向对象程序设计。知识目标:了解Python语言概念,掌握Python基本数据类型,掌握运算符的用法,理解循环语句和条件语句,熟练字符串的操作方法,掌握列表和元组的操作方法、使用方法,掌握字典和集合的基本操作方法,理解函数的定义和调用方法,掌握程序的异常处理。素质目标:具有团队合作能力、编写技术文档的能力,具有热爱科学、崇拜技术的基本素质。团队合作可以提高整体效率,编写技术文档可以提高项目的预见性和自觉性,热爱科学可以提升科研能力,崇拜技术可以增强编程的积极性。
2.“程序设计基础”课程教学存在的问题及对策
“程序设计基础”课程教学还存在一些问题,如教师实践能力较差、教材单一、教学方法单一等。为提高教师的实践能力,学校可让教师参加顶岗实习,到企业进行实训,并且参与的项目要紧跟行业发展和社会需求,使得实践内容与社会发展紧密相连。同时,要鼓励教师考取职业证书,通过“岗课赛证”综合育人模式将更多的实践技能传授给学生。教师“顶岗实习”和考取相关职业证书可以增强实践能力,以更好地适应课程教学需要。为解决教材单一的问题,教师可鼓励学生阅读相关论文,参加各种信息技术竞赛,观看课程教学讲座。这不仅可以提高学生的理论水平,还能增强学生的实践能力,让学生了解学科的前沿动态,开拓学生国际视野。同时,教师可采取“理论+实践”两本教材帮助学生巩固理论知识,增强实践能力。为解决教学方法单一的问题,教师可增加课堂实践活动,培养学生学习兴趣,激发学生学习潜能,如角色表演、绘画比赛和趣味性游戏练习等。同时,教师要采用多种教学方法,如讲授法、讨论法、实验法等。增加课堂实践活动,采用多种教学方法,使得学生学习兴趣更高,动手能力更强,思维更开阔。
三、Python语言在“程序设计基础”课程的应用
1.Python的基本语法
输入和输出函数。Python 3提供了Input()函数来获取用户的输入数据,Input()函数可以让程序暂停,等待用户输入数据。当获取用户的输入数据后,程序把用户数据以字符串的形式存储在一个变量(变量名区分大小写)中。Python 3同样提供了Print()函数进行输出,输出字符串时,需要用单引号或双引号括起来;输出变量时,在括号里直接写入变量名称;变量与字符串同时输出或者多个变量同时输出时,需要用英文的“,”隔开。
分支语句。Python语言提供了简单的If语句、 If-else语句、If-elif-else语句和嵌套的If语句,这些语句可以使得程序只执行某些程序片段而非全都执行。与C和Java语言不同的是if语句判断条件无需括号,需要在判断条件后加上英文的“:”和相应的缩进来区别内部的语句块,这同样适用于Elif子句。不同的是Else子句后没有判断条件,仍然需要英文的“:”和相应的缩进来区别内部的语句块,在内部的语句块里可以循环嵌套If语句、If-else语句和If-elif-else语句。
循环语句。Python语言采用While和For循环语句来设计循环。While循环语句是先进行判断,再执行语句块(循环体)。也就是说,程序如果刚进入循环时不满足条件,那么,就不执行内部的循环体。为了避免死循环,需要设置循环趋向于结束的语句。For循环语句是先将序列中的值赋变量,再执行语句块(循环体)。与While循环语句不同的是,For循环语句中序列为空或者变量已经遍历序列中所有元素,就不执行内部的循环体。这里有两种方式结束循环,即Continue语句和Break语句。Continue语句可以跳出当前循环,直接进入下一次循环,Break语句可以直接结束循环。
序列。序列包括字符串、列表、元組、字典和集合。序列的第一个元素的索引是0,第二个元素的索引是1,以此类推,第n个元素的索引是n-1,序列可以通过索引来访问序列的一个或多个元素。字符串是由数字、字母、下划线组成的连续字符,主要用作概念说明或函数解释。列表是包含0个或多个元素的长度可变的有序序列,主要用作存储数据组。元组是包含0个或多个元素的长度不可变的有序序列,主要作用是存储不可变数据组。字典是0个或多个“键:值”对组成的长度可变的无序序列,“键”是Python语言中任意不可变数据类型中的一种,“值”可以是任意数据类型,它主要用作存储数据间映射或者对应的数据组。集合是0个或多个数据项的无序组合,主要用作存储同一类数据,字典是特殊的集合。
函数。函数是指可以被主程序直接或者间接引用的具有特定功能的代码段。在Python语言中,定义函数的一般形式为:def函数名([形式参数列表]):函数体。其中,形式参数列表是调用该函数时,传递给函数的一个或者多个值(也可以为空)。调用函数的一般形式为:函数名([实际参数列表])。实际参数列表是传递给函数的参数,同样可以为空。函数可以进行嵌套,也可以进行递归(直接或间接调用函数自身)。返回值是函数向调用的代码传递的数据,通过Return语句实现,没有返回值时,可以用Return None标示,返回值也可以省去。
面向对象程序设计。面向对象程序设计是一种计算机编程架构,它的核心概念是类和对象。类是对一群具有相同特征和行为的事物的抽象,对象是类的实例化。定义类的基本语法格式如下:class类名:类体。其中,类名的首字母需要大写,类体包括变量和方法的定义。创建对象的语法格式为:对象名=类名(),创建完对象后,可以通过以下方式访问类中的变量和方法:对象名。类中的变量名和对象名。方法名([参数])。创建类的对象时,系统会调用构造方法,用于实现类的初始化;删除对象时,Python解释器会调用析构方法,用于释放类占有的资源。Python同样具有面向对象程序设计的三个基本特征:封装、继承和多态。
2.Python语言与C、Java语言的对比
Python和Java语言是面向对象的语言,而C语言是面向过程的语言;Java语言需要运行在Java虚拟机中,而Python和C语言不需要虚拟环境;C语言可以直接编译成机器码,而Python和Java语言都需要编译成字节码这一过程;C语言使用“指针”,而Python和Java语言没有“指针”的概念;C语言可以直接操作串口,而Python语言需要导入第三方库,Java语言则需要导入第三方jar包。
3. Python语言的学习意义
第一,学习Python语言能使学生更好地找到工作。Python语言在大数据和人工智能领域的广泛应用,使得公司更乐意聘用精通Python、JavaScript、Database等技术的专业人才,在如此广阔的市场需求下(中软国际、普华永道、中国移动等公司的招聘需求),学生学习Python语言,能找到更好的工作。第二,Python语言在商业领域取得成功。Python语言是Rackspace公司的核心技术。Nick Borko(Racksp ace公司应用开发部门的主管)这样总结:为了使Rackspace公司引领托管管理行业,Rackspace公司的主管决定使用Python语言来对接企业和处理公司内部业务(使用原有数据库接口),这使得整个系统变得更加快速和高效。另外,Union Investment公司发现Python语言的应用及其各种各样的库非常适合开发定制的机器学习工具,以有效应对金融时间序列带来的复杂挑战。
4.后疫情时期课程教学的改革
新型冠状病毒肺炎疫情发生以来,党和国家高度重视,第一时间启动防控措施,施行一系列防控政策,带领全国人民与新型冠状病毒肺炎做斗争。这期间,按照教育部要求,启动在线教育,我校使用慕课、“超星学习通”(“超星直播”和“超星课堂”)等平台和抖音、钉钉、腾讯课堂、腾讯会议等软件进行在线教育,加大云计算、大数据、虚拟现实、人工智能等新技术的应用,拓展学生立体化学习空间。定期举办教育教学能力提升培训,提升教师在线教育水平和综合素质。教师在线上教育过程中,应增强学习任务之间的关联性,充分引导学生利用在线平台完成课前、课中和课后任务,帮助学生深化所学知识和技能。在线教育应加强数据共享,这可以减少重复资源,降低数据的错误率,同时能加强数据的安全防护,防止个人信息的泄露。在疫情防控期间,经过教研组的讨论和学院领导批准,学院修改了考核方案,将期末考核为主的考核改为基于过程的考核。
在线学习平台详细记录了学生的学习情况,教师可以即时获取学生学习状况和相应分值,并通过大数据统计与分析,获取学生知识体系中的薄弱环节。这样,教师可针对学生薄弱环节调整教学内容,使得下一阶段教学能够适应学生的学习需要。同时,教师要坚持“以评促建”的原则,采用多元化评价方式,将学习过程评价与学习结果评价相结合,这样可以更加全面、准确、客观地反映学生的学习情况,帮助教师提高教学水平和扩展专业发展的内涵,实现教学相长。在课堂上,教师可进行传统文化、“红色文化”,帮助学生树立正确的三观。由于部分学生家里没有电脑或电脑配置较低,教师可采用“菜鸟工具”的Python3在线工具帮助学生在线编程,也可以使用“EduCoder在线实践教学平台”进行在线实验。平台里有名师的在线精品课程、校企教学资源库和校企实践案例库等,教师可利用现有案例进行在线教学。
5.對课程的后续探索
通过上文的分析,Python语言的特点、基础语法、Python与C、Java语言的异同、课程目标、课程的思政元素和课程教学改革一目了然,后续将对课程进行以下探索。
第一,GUI(Graphical User Interface,图形用户界面)编程。GUI编程是指通过图形的方式显示的可操作的用户界面。Python语言常用的GUI工具包括Tkinter、wxPython、PyGTK、PyQt等。通过这些工具包,我们可以创设更多应用程序,例如计算器、TimPlayer、迪士尼的“卡通城在线”等。第二,数据处理及可视化。数据处理是将大量的数据进行分类、整理、加工,可视化是将分析后统计的数据以图、表的形式显示出来。常见的图表包括饼图、折线图、柱形图、散点图、雷达图、金字塔图、矩阵图、帕累托图等。常见的应用包括视觉数据展示、电影票房收益统计、国民失业情况统计、每人每日平均消费量统计等。第三,基于FAQ的智能答疑机器人。基于FAQ的问答机器人把学生经常咨询的问题和答案保存在后台,对于学生输入的问题,首先在后台进行查找,如果能够找到相同或者相似的问题,就可以直接将答案告诉学生,不需要经过问题理解、信息检索、答案抽取等处理过程。这不仅提高了系统的运行效率,还提高了答案的准确性。根据课程将学生常见问题和答案保存下来,还可以设置教师人工答疑,帮助学生快速掌握课堂知识的疑难点,加深师生感情。
四、结语
经过Python语言在“程序设计基础”课程上的探索,Python语言的特性、与C和Java语言的区别、Python语言未来的发展更加清晰,并且结合思政教育和在线教育,丰富了课程的教学形式,让课程更有温度。未来,将逐步探索Python语言的GUI编程、数据处理及可视化和基于FAQ的智能答疑机器人,重点研究快速处理数据和将数据以人性化的方式展现出来。
参考文献:
[1]人民网.办好人民满意的高等教育[EB/OL].(2022-3-23)[2022-9-13] .https://baijiahao.baidu.com/s?id=1728037941011832777&w fr=spider&for=pc.
[2]中关村在线.Java和C退位!Python成为最常用编程语言[EB/ OL]. (2021-10-9)[2022-9-13]https:// baike.baidu.com/ refere nce/407313/7d24cx-OJXDy4kkUqMje-rRwI2zQtaToLgHOyaD0D-SMw lHGB9xWWMyJpbHzQ0J1fx089yshDgZeUvkw8fW M- nyBDeUA_ J6YzgNluzhXMo-B8lRcanhTEUL.
[3]NickBorko. Python is Rackspaces CORE Technology[EB/OL]. [2022-9-13]. https://www.python.org/success-stories/python-israckspac es--core-technology/.
[4] Christian Mandery,Nikolas Gerlich. Python for Financial Machine Learning at Union Investment [EB/OL]. [2022-9-13]. https://www.python. org/success-stories/python-for-financialmachine-learning-at-union-investment/.
Exploration of Application of Python Language in the Course of "Fundamentals of Program Design"
Shi Wen, Sun Manman, Li Chunhui
(Xuchang Computer Application Engineering Technology Research Center, Henan Province, Xuchang 461000, China; Xuchang Vocational Technical College, Henan Province, Xuchang 461000, China)
Abstract: With the development of science and technology, great changes have taken place in peoples lives and in education in the new era. Python language is favored by companies and universities. The application scope of the course"fundamentals of program design" has gradually expanded. Python language classroom teaching has received more and more attention and has become an important research topic. The article mainly analyzes the problems in the teaching of the course"fundamentals of program design", puts forward corresponding countermeasures, discusses the application of Python language in the course "fundamentals of program design", analyzes the teaching reform in the post epidemic period, and explores the follow-up teaching.
Key words: Python language;"fundamentalsofprogramdesign"course; education reform;application