Java基础学Python之环境与语法

来源:互联网 发布:宝马4s店整车编程收费 编辑:程序博客网 时间:2024/06/03 18:53

Java有很多年,做到后面发现Java在后台业务处理、微服务架构、系统框架建设等方面有突出的优点,但是在某些方面确实疲软,例如在研究机器学习时一些发杂的运算和演练用Java写起来费劲甚至基本写不出来,所以需要一种跟精进的脚本语言帮助做运算,所以选择转学Python,第一两条腿走路在研发这行能走得更远,第二利用Python敲开机器学习的大门,开拓自己的视野和事业。


Python下载地址:

https://wiki.python.org/moin/BeginnersGuide/Download

会发现有3中安装方式:

1 web-based installer是需要通过联网完成安装的

2 executable installer是可执行文件(*.exe)方式安装

3 embeddable zip file嵌入式版本

我链接有网络,选择第一种。

下载下来安装文件是:python-3.6.3-amd64-webinstall.exe

安装时有个custom选项自己可以进去看一眼,里面有配置环境变量和开发工具的选项,默认是选中的。

安装结束后看到配置好了环境变量(我安装时修改了home目录到c:\python,因为默认路径的实在太长了):

Path也要添加添加了C:\python,与Java Path无异


 

任何一种语言的开发都离不开奇强大的开发工具,所以我们还要准备Python的开发工具。

Python的开发分两类:

交互式编程:一来一回我们用工具与机器做交互,我们给出什么命令机器返回响应的结果,就像在pl/sql中直接写sql运行获取结果那样。

脚本式编程:将预先准备的程序丢给机器去执行,像pl/sql中执行写好的.sql文件,或者java –jar执行编译好的jar包这样,只能通过控制台信息和日志来获取执行结果,人不能与机器做交互。

IDE工具下载地址

https://wiki.python.org/moin/IntegratedDevelopmentEnvironments

里面推荐了很多开发工具,上面web-based installer默认安装的是IDLEIDLE是个交互式开发工具,适用于初期阶段,进阶以后要替换掉。

打开IDLE先感受下python

感觉有2点,第一点python语法比java精炼,第二点IDLE应该是给Linux等非图形化OS使用的,对于使用关了Eclipse开发java项目的研发人员来说后续想办法换个更好用的IDE吧。

 

 

官网提供了入门案例:

https://wiki.python.org/moin/SimplePrograms

我学习python是为研究“机器学习”铺路的,所以也需要掌握一些python关于算法的编程:

http://www.iplaypy.com/python-100/

按我个人的学习步骤这些代码量还能接受,我计划每个都敲一遍研究透,但是发现与java语法跨度太大,需要先寻求资料学习python的语法。

 

 

官网提供了入门案例:

https://wiki.python.org/moin/SimplePrograms

我学习python是为研究“机器学习”铺路的,所以也需要掌握一些python关于算法的编程:

http://www.iplaypy.com/python-100/

按我个人的学习步骤这些代码量还能接受,我计划每个都敲一遍研究透,但是发现与java语法跨度太大,需要先寻求资料学习python的语法。

 

Python基本语法:

1变量命名规则,可以理解跟java一样,由英文下划线数字组成,大小写敏感。

2一行可以执行多条命令用分号隔开(跟java一样),但是每行结尾的分号可以省略(如果你习惯性结尾加分号,那么跟java还是一样)

3还有一些保留字符,跟java也大同小异,略有区别

4 Python的代码块不是像java那样使用{}来控制的,而且java{}内对代码样式几乎没有限制;Python的代码块是通过“空白缩进”来控制的,做过SpringFramework微服务的java开发人员也不难理解这个概念,就像yml文件那样,根基空格的排列来代表所在的层级。

 给个案例:

排列不对会报错:unindent does not match any outer indentation level

PS:这也是打算放弃IDLE的原因之一,IDLE排版太差了)

5单行注释使用#java//,稍有不同;多行注释使用三个单引号或3个双引号封闭起来,java/** **/

6 Python语法上跟Js一样是弱对象类型,变量不需要声明类型,连var也给省去了,“变量名=变量值”格式。跟Java也要也有自己的GC回收机制,不需要开发人员维护内存。变量的赋值跟java一样都是用等号,还可以如此赋值:a,b,c=1,2,”c”

 

Python的基本数据类型:

很庆幸我是个Java老手,而且熟悉Redis的数据结构,所以Python的基本数据类型有很多可以借鉴的经验。

1数字类型,intlongfloatcomplex(复数),跟Java知识库一样。

2字符串类型,有点JavaStringRedis的双链List的感觉,subString的左标从0开始,右标从-1开始。示例:

3集合类型List,一个list[]封闭可以放不同类型的对象,从list中取值也是可以左右双向的,也是从0-1开始。示例:

4元祖类型tuple,跟List集合类型一样,但是要用小括号()进行封闭,并且是只读的。听起来是新玩意,其实有点像JavaEnum。元祖和List的区别示例:

5字典类型DictDictionary),用大括号{}进行封闭,跟Redis的字典类型一样,是个HashMap


原创粉丝点击