Java转Python入门之运算与循环
来源:互联网 发布:万宝宝 知乎 编辑:程序博客网 时间:2024/05/22 03:45
1数学运算:
加减乘除跟Java一样对应+-*/,x的y次幂用x**y这个符号,取整用//,取余用%。
2比较运算符与java一摸一样>、<、==、!=等
3位运算符,python可以bin(x)取到x的以”0b”开头的二进制字符串,可以直接对十进制的参数进行二进制位运算符。左是<<,右移是>>,与是&,或是|,按位取反是~,按位异或是^。
用下面一个例子来熟悉下:
4逻辑运算符,Java中是符号标识的&&,||,在Python中是英文and和or标识的,非java是!标识的, Python是英文not
5成员运算符,跟sql语法一样使用 in,notin
例如:
6身份运算符,这个一定要注意,跟Java差别很大,java判断两个对象是否“相等”有两种:一种是值相等equals,一种是引用相等==,在python中值相等比较用==符号,引用相等比较用is和 is not。对于简单类型的我也做过比较,跟java的设计思想应该是一样的,底层用了享元模式。
7条件语句语法与Java不同,不支持switch,需要elif一个个判断,由于python语法是空格缩进的,所以IDE工具继续使用IDLE的话可读性很差,所以换成了pyCharm,安装步骤有个小伙伴已经写得很好了,详见http://www.jianshu.com/p/042324342bf4,使用参考https://www.cnblogs.com/yamei/p/5519818.html
条件判断中与java一样采用短路规则,例如最后一个elif,a>0后if判断就已经结束了,不会再去判断b是否小于1.
Python的bool类型与Java的boolean类型差异较大,对true的判断与JS相同,空引用、空文本、0整数为false,其它都是true,True和False首字母必须要大写,bool对字符串内的‘True’和‘False’不会做Java那种转化。
结果为true1和 true3和true4
8循环语法while、break、continue、循环嵌套,python还提出了一个pass占位语句,个人觉得没什么意义,不做介绍;while和for循环结束后可以接一个else做最后的处理。
for循环与Java语法略有不同,更有点像Oracle的存储过程中写法
9 Python中的数学运算,是Python的强项,简单的绝对值、上整数、下整数等都具备,其他部分分为常量、三角函数、随机函数、运算函数4部分,需要import math包。
常量:math.e, math.pi
运算函数:exp(x) 返回e的x次幂(ex),
log(x),以e为底的x的对数
log10(x),以10为底的x的对数
log(x,y),以y为底的x的对数
max(x1,x2,...)返回集合内最大值,同理还有min()
round(x [,n])返回x在n位小数上的四舍五入
sqrt(x)对x开根号
随机函数:choice(seq),sql中随机取一个值
random()与java一样,随机生成一个0-1之间的实数
shuffle(lst)将lst随机排序
三角函数:sin、cos、tan等,python中是弧度制的,可以用radians(x)做角度转为弧度的运算,或者degrees(x)做弧度转为角度的运算。有个需要掌握的欧几里得范数hypot(x, y),计算所有参数平方和开根号,这个是机器学习中常用到的函数。
10字符串运算,python中对字符串的理解为Java中的List<char>,一串字符串是每一位char组成的一个集合。Python给String定义了很多强类型的占位符,%d占位数字,%s占位字符。
11列表List运算函数
删除某一项:dellist[n]
List.append(x),列表为添加元素
len(list),返回列表长度
list.count(x),统计list中出现x元素的次数
list.insert(index,x),将x插入到list的index处
list.pop,用法与redis一样,取值加移出。
list.remove(x),删除list中第一个x元素。
list.sort(),排序
12元祖比list简单,函数少,可以理解为不可修改的list,所以remove、del等都不可以操作。
13字典值运算,与Java中map<key,value>操作相同
dict[key]=value修改元素添加key-value;
dict.items()返回key-value的集合
dict.keys(),dict.values()与java相同
dict.pop(key),取出并删除
dict.clean()清空map
dict.get(key,defaultValue)根据key取值并设置不存在的默认值
deldict[key],删除某一key-value
14 关于时间的运算,与Java一样都是基于1970年1月1日午时间点来运算的,有time、calendar、datetime几种处理时间的方式,不同的是Java是毫秒为单位的long类型,python是秒为单位的浮点类型。
importtime包:
time.time( ),获取当前距离1970的秒数
time.asctime([tupletime])将time格式转换成Tue Dec11 18:07:14 2008格式的时间string,相当于java中的dateFormat。
time.clock( ),计算cpu耗时
time.sleep(secs)线程休眠secs秒数
importcalendar包:
- Java转Python入门之运算与循环
- Python入门 之 循环
- Java 入门 之 数组与循环
- Python入门与进阶学习笔记之运算符
- Python入门之循环分支
- Python入门(四)Python运算符、条件语句、循环语句
- Python之分支与循环
- Python入门与进阶学习笔记之分支、循环、条件与枚举
- Python入门:逻辑判断与运算符
- Python 入门之 运算符+控制流
- Java基础应用之循环控制(使用while与自增运算符循环遍历数组)
- Java转Python入门之IO
- Swift快速入门之分支与循环
- JAVA运算符之 与
- Java入门基础之【循环结构】8
- 深入浅出Java入门 之 运算符
- Java入门基础之【运算符】7
- Java循环运算--作业
- Unity3D启动时卡在项目Loading界面的解决方法
- vim按键说明
- 如何努力才能成为编程高手
- 十二月目标
- Hive的数据模型之桶表
- Java转Python入门之运算与循环
- MongoDB的使用
- 继承ViewGroup
- LeetCode 477. Total Hamming Distance
- SAP Fiori For iOS
- 自定义view实现无线轮播
- webview
- ShoneSharp语言(S#)的设计和使用介绍系列(4)— 入门概述
- 状压dp Survival