52收稿日期:2020 - 09 - 04
作者简介:孙泽龙(1989 - ),男,陕西西安人,西安职业技术学院动漫软件学院助教,硕士;
王萍利(1972 - ),女,陕西渭南人,西安职业技术学院动漫软件学院副教授,硕士.
孙泽龙,王萍利
(西安职业技术学院 动漫软件学院,陕西 西安 710077)
摘 要:Python能成为广泛应用的高级编程语言,主要得益于拥有丰富程序包资源库,能够直接被程序方便调用,通过阐述信息技术中Python语言的特点,以Python科学计算之基本绘图、Python图像处理和数据分析进行了应用举例.
关键词:Python语言;科学计算;数据分析;图像处理
中图分类号:G711 文献标志码:A 文章编号:(2020)04-52-05
1 Python语言的特点
面对第四次工业革命的发展,人工智能与物联网将引领IT技术走向新的应用,Python程序设计语言作为科技浪潮领域首选的编程语言,高职院校软件相关专业也开设该门课程,帮助学生探索培养人工智能时代的编程思维.Python语言于1989年由荷兰人吉多·范罗苏姆创立,1991年初,有了Pyton语言第一个公开发行版Python语言的简洁性、开发效率高、易于维护等特点使其成为一门通用性语言,即编译一次,处处运行[1].Python是一种可解释性语言,相比于其他编程语言Python更易学、易读、易容易上手.Python语言的免费开源和拥有丰富强大的第三方类库使得可以高效的开发各种需求场景应用,Python语言广泛的应用得益于能够把诸如C/
C++、Java等语言各种模块联结起来,因此形象的称之为“胶水语言”.从科学计算、图像处理到web 游戏应用开发、Python语言很适合快速建立一些大型系统的程序原模型.
2 科学计算之基本绘图实例
随着云计算、大数据技术等新兴领域对数据计算和分析的需求,Python拥有很强大的关于科学计算库,
如Numpy库在数值计算领域中可以用来存储和处理大型矩阵,矩阵运算、矢量处理、精密运算等数值编程.SymPy库用于数学符号的计算库,如数学中常用的自然数E、圆周率pi、虚数i等进行数学公式的符号演算推导及证明.Matplotlib库可以把基于科学的数据可视化展示,生成如曲线、直方
图、2D、3D等根据需要的各种图形,它是Python面向对象著名的绘图库,提供了许多方便调用的API 命令[2].
1.1 Python科学计算之基本绘图实例
plot是标准的绘图库,通过调用函数plot(x,y)就可以创建一个具有绘图窗口的图形(其中y是x的函数).输入的参数为具有相同长度的数组或列表.如下图所示绘制的是一条正弦函数一个周期内变化的曲线,根据横纵轴坐标值不断变化,可以手动设置参变量,inestyle用于设置线条样式,指定matplotlib默认为英文字体,设定x的取值范围,从 - n到n,完成调用plot函数设定取值范围的变化.python实现使用300个采样点来绘制sin(x)函数曲线,并且每隔四个点的位置设置标记.运行代码后sin (x)曲线函数结果如图1所示:
import numpy as np
import matplotlib.pyplot as plt
x=np.linspace( - np.pi,np.pi,150)
samples=x[::3]
plt.plot(samples,np.sin(samples),color=’red’,marker=’*’)
plt.title(‘sin(x)’)
plt.show()
图1 sin(x)曲线函数
1.2 柱状图绘制实例
Python扩充程序库中Matplotlib库可以完成2D 绘图库,这使得通过编程可以形象直观完成图形图表的
绘制,如图所示使用Matplotlib类库对于数据图形化处理生成柱状图,如图2所示柱状图可视化数据,Python生成柱状图编程实现:
import matplotlib.pyplot as plt
num_list = [1.1,2.6,7.8,4.3]
plt.bar(range(len(num_list)), num_list,color='rgby')
plt.show(
)
图2 柱状图可视化数据
1.3 正态分布曲线应用
统计学里经常会见到使用正态分布曲线,它代表了一类很特殊的随机数,这种分布不是人为制造出来的,而正是大自然规律的直接体现,正如从大量随机数中到了用数学语言描述通用规律的方法,正态分布在数理统计和数值分析中占有很重要的地位,它的应用极其广泛,生活中许多随机现象都近似服从正态分布,比如测量的误差、车间产品的尺寸、炮弹落点的分布、统计测试分数、农作物的收获量等,统计数据需要大量重复,当重复次数越多,抽样取其平均值的结果就越精确.编程实现Python实现正态分布,通过设置均值μ和标准差δ完成绘制正态分布概率密度函数图如图3所示,编程实现如下:
import numpy as np
import matplotlib.pyplot as plt
53
54import math u = 0 u01 = - 2
sig = math.sqrt (0.2)
x = np.linspace (u - 3 * sig, u + 3 * sig, 50)y_sig = np.exp ( - (x - u ) ** 2 / (2 * sig ** 2)) / (math.sqrt (2 * math.pi ) * sig)
print (x )print ("=" * 20)print (y_sig)
plt.plot (x, y_sig, "r - ", linewidth=2)id (True )plt.show (
)
图3 正态分布概率密度函数图
3 数据分析应用
大数据时代对数据分析与数据挖掘有着广泛需求,利用Pyhton语言的第三方库函数就能实现数值分析的应用优势,因此越来越多的程序员和科研人员也开始使用Pyhton语言完成辅助数据分析工作,日常生活中人们使用智能手机和各种智能设备每天都会产生海量的数据,相信不远的未来,随着物联网的普及,大量的智能终端设备产生的数据一定会成几何级数的增长,因为面临数据采集的规模将是空前的[3].很好的处理这些数据可以为各种公司筛选需要发送定制服务的精准客户.通过消费数据分析了解特定人的消费习性,这样才能精确的
投放广告或服务给需要的目标客户.Pyhton语言相比较传统的数据处理和统计分析绘图软件R语言,因为更易学使得实际产品构建功能和数据科学方面应用更加广泛.Python的生态系统正逐步完善和提供跨平台支持,这也促进了开发人员在选择数据分析方面优先考虑Python语言[4].
通过引入requests库可以从web上自动下载网页,实现连接和解析数据,使用这些数据完成对数据分析和处理的可视化效果,变现形式可以图表、柱状图、散点图等,数据的可视化分析可以提高实验或科研人员的信息处理和综合分析能力.爬取网页数据编程实现:
import requests
if __name__=="__main__":
response = ("https://book.douban/subject/26829016/")
content = t.decode ("utf - 8")print (content )import requests
url="https://channel.jd/men.html"try:
(url )r.raise_for_status ()
print ("获取数据失败")
4 图像处理应用实例
在工程领域中对图像的分析处理涉及更多的是数字图像,它由一组数字阵列组成并用来表示图像,阵列中每个元素即为一个像素,数字图像中每个像素点由二进制编码来表示.信息技术的不断发展使得我们对图像处理能力提出了更高的要求.图像处理中图像彩模式可以使用红、绿、蓝三颜体系进行变化叠加,它们的取值范围均是0 - 255之间,三颜通过组合包括了人类视力所能感知的
55所有颜.PIP库是一个具有强大图像处理能力功能的第三方库,Image是PIP库中代表一个图像的类(对象),可以完成图像加载,图像是一个三维数组,维度分别是高度、宽度和像素RGB值,生成二维数据和灰度的变化,取图像灰度和横纵图像梯度值,可以实现图像的手绘效果[5].校园背景原图图片如图4、运行代码后校园背景图片轮廓手绘效果如图5所示,Python图像处理应用示例编程实现:
from PIL import Image import numpy as np
a = np.asarray (Image.open ('xzy.jpg').convert ('L')).astype ('float')
depth = 10. grad = np.gradient (a ) grad_x,grad_y = grad grad_x = grad_x*ad_y = grad_y*depth/100.
A = np.sqrt (grad_x**2 + grad_y**2 +1.)uni_x = grad_x/A uni_y = grad_y/A uni_z = 1./A
vec_el = np.pi/2.2 vec_az = np.pi/4.
dx = np.cos (vec_el )*np.cos (vec_az ) dy = np.cos (vec_el )*np.sin (vec_az ) dz = np.sin (vec_el )
b = 255*(dx*uni_x + dy*uni_y + dz*uni_z )b = b.clip (0,255)
im = Image.fromarray (b.astype ('uint8')) im.save ("xzy2.jpg"
)
图4 校园背景原图图片
图5 校园背景图片轮廓效果
5 结语
伴随着云计算与大数据时代大量应用的落地,Python程序设计语言开放、简洁和丰富的第三方工具包,使得具有得天独厚的处理各种数据的优势,以科学计算、数据分析和图像处理为应用实例,阐述了Python语言的特点,今后教学实践将继续以Python语言为载体,“新工科”建设为指导,设计和挖掘更多基于Pyhton语言的应用案例,提升教育教学水平和激发学生学习兴趣[6].
[参考文献]
[1]嵩天,礼欣,黄天羽. Python语言程序设计基础[M ].
北京:高等教育出版社,2017.
[2]Jan Erik Solem,朱文涛,袁勇(译).Python计算机视觉
编程[M ].北京:人民邮电出版社,2014.
[3]张若愚.Python 科学计算[M ].北京:清华大学出版社,
2012.
[4]王碧瑶.基于Python的网络爬虫技术研究[J ]. 数字技
术与应用,2017(5):31-33.
[5]李国军.数字图像处理的一种新方法[J ]. 鞍山师范学
python新手适合的软件院学报,2016(2):69 - 73.
[6]王小银,王曙燕,孙家泽.Python语言程序设计[M ].
北京:清华大学出版社,2017.
[审 稿:吴 鹃,责任编辑:王磊强]
56Characteristics and Application of Python Language in
Information Technology
SUN Ze-long,WANG Ping-li
(School of Animation Software, Xi’an Vocational and Technical College, Xi’an 710077, China )
Abstract: Python can be widely used as a high-level programming language, mainly due to its rich package resource library, which can be directly and conveniently called by the program. Through expounding the characteristics of Python language in information technology, Python basic drawing
of scientific calculation, Python image processing and data analysis are used as examples.
Key words: Python language;scientific calculation;data analysis;image processing
Study on the Urgency of Information-based Teaching in
Colleges and Universities during the Epidemic Period
——Taking Chengde Vocational College of Applied Technology as an Example
LI Jian 1,GE Xin 2
(1Sports Arts Department, Chengde Vocational College of Applied Technology, Chengde 067000, China;2School of Preschool
Education, Chengde Vocational College of Applied Technology, Chengde 067000, China )
Abstract: During the epidemic period, colleges and universities across the country were forced to postpone the opening of school in the spring, and information-based teaching was pushed to the front stage. In the actual teaching, both teachers and students were confronted with the shortage of
hardware and software facilities, teachers' teaching experience, teaching conditions, teaching materials, students' electronic equipment, learning materials, learning supervision and other practical difficulties. This paper analyzes the difficulties in the above mentioned teaching, and puts forward some countermeasures, such as scientific and reasonable curriculum setting, reasonable supervision measures, integration of teaching resources, integration of curriculum ideological and politics, etc., so as to effectively implement information-based teaching.
Key words: epidemic situation;informatization;teaching;difficulties;countermeasures
(上接第34页
)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论