为什么说”人生苦短,我用python“?_惠州计算机Python培训学校
作者:黄君发布时间:2021-05-18分类:惠州计算机学校浏览:810
1. Question
几个问题,这样能让初学者一目了然,有个大概的认识
1.1 Python是什么
是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年圣诞节为打发无聊时间,而开发的一个新的脚本解释程序,可以感觉下什么叫牛人,是ABC语言的一种继承,至于为什么选中Python作为语言名字,是因为他是一叫Monty Python的喜剧团体的爱好者,第一个公开发行版发行于1991年。
他的设计哲学是
优雅
明确
简单
完全的面向对象。函数,模块,数字,字符串都是对象,不想Java中还有基本类型,在Python中一切皆对象,那作为程序员的我们害怕找到对象吗,直接New一个呀,呵呵
这里写图片描述
1.2 人们为什么用Python
这个问题往往是入门者第一个问题,对此我在一本书找到了这样的解答:
软件质量
开发这效率
程序的可移植性
众多标准库支持
组件集成
享受乐趣
其他的不用多讲,需要详细了解的可以搜索下,我只是提供大家几个方面让大家了解,因为往往对于初学者,是迷茫的,因为不支持从什么方向去了解一个事物,而我就是提供方向的,具体的大家可以自己去了解。我只说下最后一个,详细的可以参考下这篇文章每个程序员都应该学习使用 Python或Ruby文章里面也说的很明白,总结几点就是:
代码量小
维护成本低
编程效率高
同一样问题,用不同的语言解决,代码量差距太多了,一般情况下python是java的1/5,所以说人数苦短,我用python,多留点时间泡妹子吧,不然就老了
这里写图片描述
1.3 Python是脚本语言吗
·
他是一种多用户语言,至于为什么大家的第一感觉是脚本语言,我是因为人们看他的他直接写一个文件,不需要什么编译,跟脚本似得,直接运行的就行了。所以说我也很难给你一个确定答案,我就举一些常见的应用场景:
脚本:可以写一些辅助自己开的脚本,就比如,Android开发,会涉及到一常用的命令,但是如果是在windows用bat写,这样弄到mac就没法运行的,所以可以用,python写。另外如果你是服务器管理员,那么python脚本很适合你,程序长了用bash写,你会砸电脑的
网站开发:他有强大的Django,Flask框架
科学计算:有Numpy和Matlab一样强的数值计算接口
图形界面程序开发:这个不用多解释,就是常见的那种界面啦
2. Python版Hello World
通常任何一门语言都有一个hello world的过程,呵呵,所以说我们这里也一样,因为通过他你会学习到该语言的一个最基本的程序框架和运行过程,这对应初学者才是最重要的。
既然前面也说了,可以把他当脚本语言,那我们就来个最简单的,操作步骤如下:
在你的工作目录下创建一个hello.py文件,别问我你不知道工作目录是什么,那你该学学计算机基础了
在该文件里写入
print 'hello world'
打开命令行,输入:
python hello.py
顺利的话你会看到hello world的输出,是不是感觉好简单,对,你没看错,就这么简单,现在你可以说你是一个python程序员了,呵呵~
3. Example
这里就举一个实际应用中的例子。场景是这样的最近一个日记软件本身的客户端不能用了,但是数据在sqlite数据库里呀,我们的需求是将里面的一些数据导出为txt文件,怎么这需求简单吧
3.1 Python
首先用python来解决这个问题,据跟上面的描述,我们很清楚的想到如下步骤:
连接sqlite3数据库
执行查询语句
打开文件
将查询的接口写入的刚刚打开的文件中
关闭数据
关闭文件
可以参考这篇文章拖放三部曲——从“把大象放进冰箱”说起
代码如下:
#!/usr/bin/python# -*- coding: cp936 -*-import sqlite3import HTMLParserimport codecsimport time
f=codecs.open('note.txt','a',"utf-8") #以追加方式打开一个文件conn = sqlite3.connect('note.db') #打开sqlite数据库print "Opened database successfully";#执行查询语句,返回一个cursorcursor = conn.execute("select created,weather,address,latitude,longitude,content from tb_notescontents,tb_notes where tb_notescontents.note_guid=tb_notes.guid")#遍历每一行for row in cursor: #取出改行的每一列
created= row[0]
weather= row[1]
address= row[2]
latitude= row[3]
longitude= row[4]
content= row[5]
html_parser = HTMLParser.HTMLParser()
d = time.localtime(created/1000)
currentTime = time.strftime('%Y-%m-%d %H:%M:%S',d) #因为原理的内容是经过html转义了,所以要转回来,形如:今天,
weather = html_parser.unescape(weather)
address = html_parser.unescape(address)
content = html_parser.unescape(content)
f.write(currentTime) #写入文件
f.write(' ')
f.write(weather)
f.write(' ')
f.write(address)
f.write(' ')
f.write(content)
f.write('\n')
f.write('\n')
f.write('\n')
conn.close() ## 关闭数据库f.close() #关闭文件print "Operation done successfully";
至于逻辑,我在上面步骤也写的很清楚了,另外程序也谢了很详细的注释,所以说就算你不懂python也能很容易的看懂。
可以看到我们大概只用了50行代码就完成了,这个小需求,但是如果用Java是什么结果呢
3.2 Java
首先的我们的找一个开发工具,就eclipse吧。创建一个项目,然后添加一个TestMan.java
工程结构如下:
这里写图片描述
在TestMan.java中写一个基本的程序框架
public class TestMain { public static void main(String[] args) {
}
}
连接sqlite3数据库
通过JDBC连接:但是因为jdbc(Java Data Base Connectivity,java数据库连接)是java连接数据库的一套抽象设计API,既然是抽象的所以是不能直接使用,要找到他的实现,既然是连接sqlite所以应该去sqlite官网或者从bitbucket这里下载,我下载的版本是sqlite-jdbc-3.8.11.2,下载完后将他放到eclipse的环境变量里,下载才把准备工作做完,下面才开始写代码
执行查询语句
打开文件
将查询的接口写入的刚刚打开的文件中
关闭数据
关闭文件
import java.io.BufferedWriter;import java.io.FileWriter;import java.io.IOException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import org.apache.commons.lang3.StringEscapeUtils;public class TestMain { public static void main(String[] args) { // load the sqlite-JDBC driver using the current class loader
Connection connection = null;
BufferedWriter bufferedWriter = null; try {
Class.forName("org.sqlite.JDBC"); // create a database connection
connection = DriverManager.getConnection("jdbc:sqlite:note.db");
Statement statement = connection.createStatement();
statement.setQueryTimeout(30); // set timeout to 30 sec.
ResultSet rs = statement
.executeQuery("select created,weather,address,latitude,longitude,content from tb_notescontents,tb_notes where tb_notescontents.note_guid=tb_notes.guid");
bufferedWriter = new BufferedWriter( new FileWriter("note.txt", true)); while (rs.next()) { // read the result set
String created = rs.getString("created");
String weather = rs.getString("weather");
String address = rs.getString("address");
String latitude = rs.getString("latitude");
String longitude = rs.getString("longitude");
String content = rs.getString("content"); // write to file
bufferedWriter.write(created); // 写入文件
bufferedWriter.write(" ");
bufferedWriter.write(weather);
bufferedWriter.write(" ");
bufferedWriter.write(address);
bufferedWriter.write(" "); // 转义html,可以看到我们又引用了commons-lang jar包
content = StringEscapeUtils.unescapeHtml4(content);
bufferedWriter.write(content);
bufferedWriter.newLine();
}
} catch (SQLException e) { // if the error message is "out of memory",
// it probably means no database file is found
System.err.println(e.getMessage());
} catch (Exception e) { // TODO Auto-generated catch block
e.printStackTrace();
} finally { try { if (connection != null)
connection.close();
} catch (SQLException e) { // connection close failed.
System.err.println(e);
} try { if (bufferedWriter != null) {
bufferedWriter.close();
}
} catch (IOException e) { // TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
现在大家可以看见了java和python的区别了吧,在java中什么功能也提供了,但是得引用各种jar,还得到处找去搜索或下载啦,各种肯爹,不过在python中很多常用库已经内置了,所以省去了很多麻烦,所以说以我个人感觉,python个适合解决工作中的一些小问题,当然大问题也是没有问题的啦。
点击咨询直接了解更多相关资料,我在惠州北大青鸟新方舟等你。
本文内容转载自网络,版权归原作者所有,如有侵权请联系我们进行删除。
标签:惠州计算机软件培训惠州计算件软件开发惠州计算机软件基础惠州计算机Python软件开发惠州Python培训学校惠州Python培训python基础教程python是什么python教程python入门
- 惠州计算机学校排行
- 标签列表
-
- Java (3694)
- 北大青鸟 (3713)
- 软件开发 (3613)
- JAVA (3413)
- UI设计入门 (2093)
- 惠州北大青鸟 (4375)
- 惠州IT培训 (2558)
- UI设计培训 (2090)
- 惠州UI设计培训 (2095)
- 惠州UI设计培训学校 (2090)
- 惠州计算机软件培训 (6260)
- 惠州计算件软件开发 (6260)
- 惠州计算机软件基础 (6261)
- 惠州计算机JAVA培训 (3574)
- 惠州计算机Java软件开发 (3620)
- 惠州计算机JAVA软件开发 (4645)
- 惠州计算机JAVA软件开发学校 (3338)
- 惠州计算机Java软件开发培训 (3338)
- 北大青鸟IT计算机学校 (5048)
- 北大青鸟IT软件学校 (5062)
- 北大青鸟IT学校 (5059)
- 惠州计算机UI设计软件开发 (2088)
- UI设计基础教程 (2088)
- UI设计是什么 (2088)
- UI设计教程 (2088)
- 网站分类
-
- 计算机教程
- 计算机入门
- 职业学校
- 新闻动态
- 专业课程
- 热门技术
- SEO
- 培训教程
- windows
- linux教程
- 系统集成
- 网站开发
- Html5
- 办公软件
- 师资力量
- 热点问答
- 联系我们
- 计算机学校
- 惠州计算机学校
- 河源计算机学校
- 广州计算机学校
- 深圳计算机学校
- 湛江计算机学校
- 佛山计算机学校
- IT计算机培训信息
- 设计专业
- UI
- 影视特效
- 游戏动漫设计
- Photoshop
- AI设计
- 软件教程
- Java技术
- C语言/C++语言培训
- C#
- Python技术
- PHP
- 数据库
- SQL Server
- 网络教程
- 网络安全
- 网络营销
- 软件专业
- 大数据专业
- 前端开发专业
- 软件测试专业
- Python专业
- 软件实施
- 珠海计算机学校
- 初中生学什么好
- 计算机认证
- 文章归档
-
- 2024年12月 (15)
- 2024年11月 (45)
- 2024年10月 (32)
- 2024年9月 (29)
- 2024年8月 (68)
- 2024年7月 (59)
- 2024年6月 (43)
- 2024年5月 (48)
- 2024年4月 (80)
- 2024年3月 (65)
- 2024年2月 (54)
- 2024年1月 (25)
- 2023年12月 (12)
- 2023年11月 (73)
- 2023年10月 (134)
- 2023年9月 (34)
- 2023年8月 (3)
- 2023年7月 (3)
- 2023年6月 (12)
- 2023年5月 (30)
- 2023年4月 (72)
- 2023年3月 (11)
- 2023年2月 (34)
- 2023年1月 (37)
- 2022年12月 (78)
- 2022年11月 (359)
- 2022年6月 (1193)
- 2022年5月 (570)
- 2022年4月 (1567)
- 2022年3月 (982)
- 2022年2月 (54)
- 2022年1月 (182)
- 2021年9月 (308)
- 2021年8月 (1704)
- 2021年7月 (2423)
- 2021年6月 (1806)
- 2021年5月 (1569)
- 2021年4月 (1380)
- 2021年3月 (1255)
- 2021年2月 (709)
- 2021年1月 (1521)
- 2020年12月 (3626)
- 2020年11月 (1646)
- 2020年10月 (1046)
- 2020年9月 (592)
- 最近发表
-
- 东莞信息:2024年长安镇技能创业咖啡节成功举办|||广州计算机软件培训
- 河源信息:本周六百企万岗职等你来市县镇联动大型招聘活动即将开幕!|||计算机培训学校招生
- 茂名信息:茂名组织劳动人事仲裁案件庭审观摩活动|||大学生计算机培训学校
- 茂名信息:茂名市人力资源和社会保障局相继开展诚信宣传四进主题实践活动|||广州市北大青鸟计算机职业培训学校
- 茂名信息:凝心聚力共筑平安茂名市人力资源和社会保障局开展平安建设暨一感两度宣传活动|||大学生计算机培训学校
- 汕头信息:汕头市人力资源和社会保障局开展宪法宣传周活动|||北大青鸟计算机培训中心
- 梅州信息:梅州市人社局开展2024年第四季度诚信文化主题宣传志愿服务活动|||电脑计算机编程培训学校
- 东莞信息:塘厦人社分局联合消防大队开展技工学校等机构消防安全培训|||广州计算机软件培训
- 东莞信息:塘厦塘厦镇成功举办优才服务区第二期业务提升培训班|||计算机软件培训学校
- 东莞信息:2024年横沥镇举办模具设计师职业技能大赛|||广州计算机软件培训