吐槽 & 备忘专用帖。
-
Python 3 整数除法用
//
,/
是精确除法,Python 2 整数除法用/
1
2
3
47 / 3
2.3333333333333335
7 // 3
2 -
Python 整数除法向下取整,而 C、C++、Java 中均向 0 取整(直接截断小数)
1
2
3
47 // -3
-3
-7 // 3
-3取模运算结果与除法一致:
1
2
3
47 % -3
-2
-7 % 3
2总是满足 除数 * 商 + 取模 = 被除数
要截断取整,可以:
1
2int(7 / 3)
2 -
Python 不支持方法重载,可以用默认参数和可变参数实现类似功能
-
Python
int
整数类型不存在溢出概念,溢出时自动扩充,因此也不存在最大最小整数的概念,如果要使用最大最小值可以用浮点定义:1
2
3
4float('inf')
inf
float('-inf') # 负无穷
-inf -
Python 是动态语言,自定义类中不能使用自己,因为自己还没被定义
-
Python 不支持常量(C/C++ 中的
const
,Java 中的final
) -
Python 类成员不支持
private
、public
之类的修饰,所有都默认是public
-
以单下划线
_
开头的,外部类仍可以直接使用,但用import *
不会默认导入 -
以双下划线
__
开头的,外部类可以间接使用
-
-
Python 类成员是类的成员,与实例无关,但可以被同名实例成员覆盖,即用实例无法访问该类成员,除非删除实例成员
-
Python 比较操作符
==
调用__eq__
方法,与 Java 中的equals
方法类似;is
与 Java 中的==
类似,用于判断同一性 -
Python 3 逻辑非
not
调用__bool__
方法,返回值与实现有关,有些容器为空则返回False
而有些容器返回True
-
Python 不支持数组,数组可初始化指定长度
list
实现 -
Python 不支持
do ... while ...
语法
近期评论