python 和java 的区别、
1.在处理文件的时候,一般要求:在.py的文件的第一行写上:# -*- coding:utf-8 -*- :用以标示文件编码是:utf-8的.
python 是一个脚本语言,而java是一个系统语言!
一:java和python的简单比较
1、没有{},全部使用:和缩进代替 .
2、注释使用# .
3、doc使用'''或者""" .
4、变量类型比较简单,类似于js,不过定义更像vb或者groovy .
方法使用def来定义,只有整形,长整形,复数,浮点4种类型的数 .
5、比java更是一切都是对象,连int也是 .
6、输出更像是c .
7、数组,list,map比较像js .
8、有 this,改叫self了,而且还必须手动传,必须在第一个...
9、构造叫init,回收叫del .
10、继承使用(),需要手动地调用父类的构造 .
二:java和python的详细比较
1.java 中继承用extends ,java 单继承; 而在python中用:(Father),可以多继承 .
java: class Son extends Father{} ; python : class Son (Father,object):
2、数
python只有4种类型的数:整数,长整数,浮点数和java中没有的复数;
java则有char,short,byte,int,long,float,double,boolean类型;
3、字符串
python没有表示单个字符的char类型,可以用单引号,双引号来表示一个常量字符串,也可以用三引号('''或者“”“)来表示一个多行的字符串;
java用char来表示单个字符,用String类表示一个字符串,常量字符串由双引号表示;
当一个字符串在一行表示不下,python中在行尾加一个反斜杠(\),表示字符串在下一行继续;java用加号(+)连接;
python中还有可以在字符串前加前缀r或R:表示自然字符串,即不对字符串做转移处理(比java方便);还可以加前缀u或U:表示unicode字符串;
python字符串实际上是有序的字符集合,支持索引,分片操作等。
4、缩进
python用缩进来识别语句间的逻辑层次;
java主要用花括号和分号来识别,不强制缩进;
5、 操作符
python用
**:表示幂符号,如x**y表示x的y次方;
//:表示整除,即商的整数部分;
~:按位翻转,~x就是-(x+1)
以上这些都是java中没有的,但是python没有自增,自减运算符,并且python用 and,or,not表示逻辑与,或,非。
6、if语句
python的if语言的条件表达式可以不接括号,和java不同的是,else if在python中写作elif,并且在if,elif,else语句后面需要加冒号;
python中没有switch语句,需要用if来代替;
7、while语句
python的while语句和java的最大不同是,while语句可以接else,else语句块在循环条件不满足时执行。(这个是不是有点多余呀,循环条件不满足,程序不也是执行while块后面的语句嘛!)
8、for语句
python的for语句与java,c,c++,c#中传统的for语句都不一样,它用in把表示变量的范围,类似java中的foreach;和while一样,也可以接else块;
for和while中,如果被break中断,将不执行else语句块;
9、注释
python中以'#'开始的行为注释(貌似很多脚本语言都喜欢用#做注释);
java中主要是"//"和" /* .... */ ";
#常用的构造操作符重载方法(在实例化一个类的时候,可以重载这些方法来实现不同的操作).
_init_ 构造函数
_del_ 析构函数
_add_ ‘+’
_or_ ‘|’
_repr_ 打印
_call_ 函数调用
_getattr_ 属性应用
_setitem_ 索引
_setitem_ 索引赋值
_getslice_ 分片
_len_ 长度
_cmp_ 比较
_radd_ 右边的操作符‘+’