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默认安装的是IDLE,IDLE是个交互式开发工具,适用于初期阶段,进阶以后要替换掉。
打开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数字类型,int、long、float、complex(复数),跟Java知识库一样。
2字符串类型,有点Java的String与Redis的双链List的感觉,subString的左标从0开始,右标从-1开始。示例:
3集合类型List,一个list用[]封闭可以放不同类型的对象,从list中取值也是可以左右双向的,也是从0和-1开始。示例:
4元祖类型tuple,跟List集合类型一样,但是要用小括号()进行封闭,并且是只读的。听起来是新玩意,其实有点像Java的Enum。元祖和List的区别示例:
5字典类型Dict(Dictionary),用大括号{}进行封闭,跟Redis的字典类型一样,是个HashMap。
- Java基础学Python之环境与语法
- 零基础学Python之二集成开发环境(IDE)
- [零基础学python]模板中的语法
- Java环境与语法
- “零基础学python”之windows环境下python环境的安装配置(图文)
- Java基础篇--环境搭建与基本语法(一)
- java基础之语法
- Java之语法基础
- Java基础之语法
- Java基础之语法
- Python基础语法与C、JAVA差异点
- Python学习笔记:与Java 基础语法对比
- Python 基础语法与数据类型
- JAVA基础 之 语法基础
- Java基础之基础语法
- java基础之语法基础
- Python学习之基础语法
- 自学Python之 基础语法
- ORACLE 快照Snapshots
- Mysql语句常见查询(基础篇)
- Resharper禁用Ctrl+单击转到定义
- C语言--选择结构的程序设计
- 疯狂输出⚔ Java中函数中定义及应用
- Java基础学Python之环境与语法
- python实现n个数中选出m个数
- BZOJ 3669 . JZOJ 3754. 【NOI2014】魔法森林
- 一个jsp页面引入另一个jsp页面的三种方式 及静态引入和动态引入的区别
- Learning NServiceBus Sagas.pdf 英文原版 免费下载
- 例题8-12 奇怪的气球膨胀 UVa12627
- HYNU 第三次周赛
- 定时任务设计(二):Quartz
- Java面试近一个月的面试总结