python不同与java,python是弱类型语言,也叫动态类型语言。在给一个变量赋值为数字后还可以赋值为字符串,但是都同属于面向对象语言。python按照自己的分类方式可以分为六大类:
一. Number(相当于JAVA八类型中的(byte,int,short,long,doble,float,Boolean))
1.int类型(相当于byte,int,short,long)
2.float(相当于float,double)
3.bool(相当于double)
4.complex(复数)(python独有)
(1)在java中byte,short,int,long各占 1,2,4,8个字节。
import sys
name=0
print(type(name))
print(sys.getsizeof(name))
以上代码输出的是
<class 'int'>
24
一个1在java的int类型中占8个字节,在python的int就要占24个字节。 但是给name赋值为1之后,又会变成28个字节。所以在python中数据的类型所占的内存字节是随着值的增大而变化的;
int 类型初始为24个字节。
int 类型,每2 ** 30增加4个字节。
对比java对超过16位以上数值处理需要BigDecimal处理,而python一个int用到底。
(2)值得一提的是,为了便于阅读大数字python可以如下操作:
name=100_000_000
二.String 字符串类型。(java的基本类型有字符,而字符串属于引用类型)
相比于java,python的字符串更加的灵活,单,双引号都可以表示。这样就可以在单引号中用双引号,双引号中用单引号。
print('hi python,"ni hao" ')
System.out.println("hi java,\"ni hao\"");
目前发现python中还有字符串的api title()可以将每个单词字母的首字母大写。如果java要实现这个功能,就得先截取数组,遍历数组,截取单个单词首字母,toupcase(),再拼接。就比较麻烦了。