目录
本人刚刚学过java,所以我会在下文中进行Java和python的比较,以加深对python的理解和记忆:
学完Java在学python感觉,python是个格式非常严谨的语言,所以学习python时一定要注意格式
python的数据类型有哪些
在刚刚学过的Java语言中我们常用的数据类型有字节(byte)、短整型(short)、整型(int) 、浮点型的单精度(float)、双精度的(double)、以及布尔型的true和false等等;下面作总结;
Java八大基本类型总结
-
八大基本类型可以分为三大类,数值型,布尔类型,字符型
-
数值型可以分为整数类型(byte,short,int,long)和浮点型数据(float,double)
-
布尔型(boolean)true和false;
-
字符型(char)占两个字节;
-
-
每个基本类型都对应着自己的包装类,为什么会有包装类(我们Java讲究万事万物皆对象,基本类型也不例外,所以有了八大基本类型的包装类)
-
包装类可以使得基本类型也可以像引用类型一样,好比一个对象可以去调用常用的方法,各个基本类型的包装类中就封装了对基本类型操作的一些方法;
-
-
八大类型的相互转换:
-
转换原则:通过字节长队理解,小字节可以转向大字节(防止溢出).(byte , short)和char之间不会相互自动转换。Boolean类型不参与转换,
-
注:任何浮点类型不管占用多少个字符,都比整数型容量大
char和short可表示的种类数量相同,但是char可以取更大的整数
-
python基本类型总结
python的数据类型的定义有点像JavaScript一样,使用字面量来定义数据类型,不会像java和C语言一样先声明类型然后定义值,而是直接赋值,然后通过值的数据类型来确定数据类型;
Java定义基本数据类型方式:
int a = 12;
double d = 1.23;
python定义数据类型方式:
num = 1.23
str1 = "字符串1"
由此可以看出,python在定义类型时不需要说明数据类型、他是根据等号后面的字面量来判断数据的具体类型;
python数据类型具体有哪些
python数据类型主要分为以下七大类:
Numbers(数字)、Boolean(布尔)、String(字符串)、List(列表)、Tuple(元组)
Dictionary(字典)、Set(集合)
python 的七个标准数据类型中又可以从可变和不可变的角度分类:
不可变数据类型(4 个):Number(数字)、Boolean(布尔)、String(字符串)、Tuple(元组);
可变数据类型(3 个):List(列表)、Dictionary(字典)、Set(集合)。
什么是可变不可变呢
在 Python 中,数据类型分为可变和不可变两种类型。
不可变类型
不可变类型的值在被创建后就不能被修改,每当改变这个值时,就会生成一个新的对象。例如:
- 数字类型(int, float, complex, ...)
- 字符串类型(str)
- 元组类型(tuple)
例如下面代码中,对于字符串和元组进行修改操作都会报错:
s = "Hello World"
s[2] = 'a' # TypeError: 'str' object does not support item assignment
t = (1, 2, 3)
t[1] = 4 # TypeError: 'tuple' object does not support item assignment
可变类型
可变类型的值在被创建后可以被修改,而且修改后还是原来的对象,不需要生成新的对象。例如:
- 列表类型(list)
- 字典类型(dict)
- 集合类型(set)
例如下面代码中,对于列表和字典进行修改操作是可以的:
lst = [1, 2, 3]
lst[1] = 4
print(lst) # [1, 4, 3]
d = {'name': 'Tom', 'age': 18}
d['age'] = 20
print(d) # {'name': 'Tom', 'age': 20}
总之,理解 Python 数据类型中的可变和不可变非常重要,因为它们有着不同的行为和使用方式,掌握好它们的特性能够更好地编写 Python 代码。
python类型比较
列表、元组、字典、集合的比较:
列表[ ](list):有序可改变集合,允许重复数据。
元组( )(tuple):有序不可改变集合,允许重复数据。
集合{ }(set):无序无索引(索引为键值)集合,无重复数据。
字典{ }(dictionary):无序,可变,有索引集合,无重复数据。
python类型转换
属性 | 解释 |
---|---|
int(x) | 将x转化为一个整数,向下取整 |
float(x) | 将x转化为一个浮点数 |
tuple(s) | 将序列s转化为一个元组 |
list(s) | 将序列s转化为一个列表 |
其他的类型转换格式都大同小异, 只需变换字母即可,就不做赘述了;
学完python最大的感悟:
学完Java在学python感觉,python是个格式非常严谨的语言,所以学习python时一定要注意格式,比如:python并没有明确的开始和结束标志,编程语言一般会使用明确的符号标记一个作用域的开始和结束。
例如 C、Java、JavaScript 等常见语言都是用
"{"
和"}"
来标记一个块作用域的开始和结束:但是python却没有,他是完全靠缩进和格式来确定开始和结束