Java转Python入门之运算与循环

 

1 数学运算:

加减乘除跟Java一样对应+-*/,xy次幂用x**y这个符号,取整用//,取余用%

 

2 比较运算符与java一摸一样><==!=

 

3 位运算符,python可以bin(x)取到x的以”0b”开头的二进制字符串,可以直接对十进制的参数进行二进制位运算符。左是<<, 右移是>>, 与是&, 或是|,按位取反是~,按位异或是^

         用下面一个例子来熟悉下:

Java转Python入门之运算与循环_第1张图片

 

4 逻辑运算符,Java中是符号标识的&&,||,在Python中是英文andor标识的,非java!标识的, Python是英文not

 

5 成员运算符,跟sql语法一样使用 in,notin

  例如:

 

6 身份运算符,这个一定要注意,跟Java差别很大,java判断两个对象是否“相等”有两种:一种是值相等equals,一种是引用相等==, python中值相等比较用==符号,引用相等比较用is is not。对于简单类型的我也做过比较,跟java的设计思想应该是一样的,底层用了享元模式

Java转Python入门之运算与循环_第2张图片


7 条件语句语法与Java不同,不支持switch,需要elif一个个判断,由于python语法是空格缩进的,所以IDE工具继续使用IDLE的话可读性很差,所以换成了pyCharm,安装步骤有个小伙伴已经写得很好了,详见http://www.jianshu.com/p/042324342bf4,使用参考https://www.cnblogs.com/yamei/p/5519818.html

Java转Python入门之运算与循环_第3张图片

条件判断中与java一样采用短路规则,例如最后一个elifa>0if判断就已经结束了,不会再去判断b是否小于1.

Pythonbool类型与Javaboolean类型差异较大,对true的判断与JS相同,空引用、空文本、0整数为false,其它都是trueTrueFalse首字母必须要大写,bool对字符串内的‘True’和‘False’不会做Java那种转化。

Java转Python入门之运算与循环_第4张图片

结果为true1 true3 true4

 

8 循环语法whilebreakcontinue、循环嵌套,python还提出了一个pass占位语句,个人觉得没什么意义,不做介绍;whilefor循环结束后可以接一个else做最后的处理。

         for循环与Java语法略有不同,更有点像Oracle的存储过程中写法

Java转Python入门之运算与循环_第5张图片

 

9 Python中的数学运算,是Python的强项,简单的绝对值、上整数、下整数等都具备,其他部分分为常量、三角函数、随机函数、运算函数4部分,需要import math包。

常量:math.e, math.pi

运算函数:exp(x)  返回ex次幂(ex),

                  log(x) ,以e为底的x的对数

log10(x) ,以10为底的x的对数

log(x,y),以y为底的x的对数

Java转Python入门之运算与循环_第6张图片

max(x1,x2,...) 返回集合内最大值,同理还有min()

round(x [,n])返回xn位小数上的四舍五入

sqrt(x) x开根号

随机函数:choice(seq)sql中随机取一个值

random() java一样,随机生成一个0-1之间的实数

shuffle(lst) lst随机排序

三角函数:sincostan等,python中是弧度制的,可以用radians(x)做角度转为弧度的运算,或者degrees(x)做弧度转为角度的运算。有个需要掌握的欧几里得范数hypot(x, y),计算所有参数平方和开根号,这个是机器学习中常用到的函数。

 

10 字符串运算,python中对字符串的理解为Java中的List,一串字符串是每一位char组成的一个集合。PythonString定义了很多强类型的占位符,%d占位数字,%s占位字符。


11 列表List运算函数

         删除某一项:dellist[n]

         List.append(x),列表为添加元素

         len(list),返回列表长度

         list.count(x),统计list中出现x元素的次数

         list.insert(index,x),x插入到listindex

         list.pop,用法与redis一样,取值加移出。

         list.remove(x),删除list中第一个x元素。

         list.sort(),排序

 

12 元祖比list简单,函数少,可以理解为不可修改的list,所以removedel等都不可以操作。

 

13 字典值运算,与Javamap操作相同

         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

Java转Python入门之运算与循环_第7张图片

 

14 关于时间的运算,与Java一样都是基于197011日午时间点来运算的,有timecalendardatetime几种处理时间的方式,不同的是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入门之运算与循环_第8张图片 Java转Python入门之运算与循环_第9张图片
     importdatetime
     Java转Python入门之运算与循环_第10张图片 Java转Python入门之运算与循环_第11张图片


你可能感兴趣的:(Python)