Java转Python入门之运算与循环

 

1 数学运算:

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

 

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

 

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

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

 

4 逻辑运算符,Java中是符号标识的&&,||,在Python中是英文andor标识的,非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一样采用短路规则,例如最后一个elifa>0if判断就已经结束了,不会再去判断b是否小于1.

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

结果为true1 true3 true4

 

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

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

 

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的对数

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>,一串字符串是每一位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<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一样都是基于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包:

     importdatetime
    


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值