首先要明确的是:在python中,一切皆为对象。
从底层角度看,对象就是保存在内存中的一个数据块。从抽象层看,对象就是我们的代码模拟出的一个类的独立个体。
在python中变量不需要声明类型,也不需要提前定义。当你第一次为一个变量赋值的时候,也就创建了这个变量。
同时python也 是强类型的语言,他会根据你对变量赋的值动态确定变量的类型。
整型
python中的整形有以下特点:
1、是引用类型,不可变类型。
下面是一个例子:
a = 5
a = 7
2、整形内存池
python程序载入前,内存中就生成了一个整形内存池内池,用来存储常用范围的整数。而相同的整数会共享内存数据,这样就一定程度避免了申请内存带来的消耗。
当使用的整数超过这个整形池的范围时,才会去申请内存。
>>> a=1
>>> b=1
>>> a isb #is 运算符用来判断2个变量是否引用同一个对象
True>>> a=5666346666
>>> b=5666346666
>>> a isb
False
3、不区分长短,和符号
所有的整形数据都是int类。python3中的int可以存储比64位更大的整数,所以我们一般不会担心溢出的问题了 :)
4、2个数相除总是浮点型,即便2个都是int类型。若想整除,则使用 // 运算符
5/3 == 1.666666666666667
5//3 ==1
浮点数
python 中的浮点数用float表示,也是引用,不可变类型。
运算符
+ - * / %
//整除
** 幂运算 2**3 ==8
上面的运算符都支持与 = 组合,+= -= *= /= //= **=
注意:python中没有 ++ -- 运算符
类型转换
int()
float()
python的使用的是函数式的转化写法,而不是C# java中的将类型括起来的写法
有两种用处:
1、做强制类型转化
int(1.66) == 1
float(5) == 5.0
2、做解析用法,参数为字符串(其它语言加做parse() )
int("34") == 34
int("12.5") //error不能解析为整型
float("34.9") == 34.9
float("12") == 12.0