Python 特性学习 (对比 Java 学习)
1. Python 基础数据类型和数据结构
1.1 数字类型
Python 相对于 Java 可支持的数值更丰富,这也是 Python 能够在数学领域热门的原因
整型:Python3 对于整性大小没有限制,可以存储长整型
浮点数:可正可负,可以用 a+bj 或者 complex(a,b) 表示
复数:可以用 a+bj 或者 complex(a,b) 表示
数字类型的特点:不可变,如果改变了数字类型的具体值,那么会重新分配地址空间
这里的不可变,指的是数字类型的值,一旦确认,其地址对应的值不可变,如果变量的值改变了,则将变量指向新的地址
id() 可以查看某个数据的地址,以此验证上述的说法
1.2 bool 函数
与 Java 相同,True 表示真,False 表示假;Python 可以使用 **bool()**来验证真假
1.3 字符串的处理
Java : ’ '表示一个字符;” “表示字符串
在Python中,使用双引号、单引号、三引号括起来的一系列字符就是字符串,无论是使用单引号还是双引号,都必须成对出现
那么如何区分使用场景呢? 举例如下:
一般情况,三者没啥区别;
但是:
1. 若字符串中带有 ’ ;那么为了区分,我们就是用”“括起来; 字符串中出现” 则反之用‘’ 括起来
2. 当字符串很长,我们需要转行,我们就可以全部写完以后,用‘’‘ ’‘’ 括起来
1.3.1 Python 字符串的格式化操作
符合 | 作用 |
---|---|
%c | 格式化字符 |
%s | 格式化字符串 |
%d | 格式化整数 |
%f | 格式化浮点数 |
print("My name is %s and my age is %d"%("bob",30))
2. Python 运算符和流程控制语句
2.1 运算符
相比Java ,+ - * / % 加、减、乘、除、取余五大基本算术运算符通用; 比较运算符通用;赋值运算符通用;位运算符通用
Python 特有:
算数运算符 | 作用 |
---|---|
// | 取整除 |
** | n 次 幂 |
成员运算符 | 作用 |
in | 表示在 *** 里面 |
not in | 不在*** 里面 |
身份运算符 | 作用 |
is | 是 *** |
is not | 不是 *** |
例如: 10 // 3 = 3; 5 **2 = 25
a = '123' b = '12'
print(b not in a)False
a = '123' b = '123'
print(b is a)
True
a = '123' b = '123'
print(b is not a)
False
Python 没有 自增自减运算符
Python 没有 三元运算符,但是有三元表达式
2.2 流程控制语句
和 Java 类似
3. Python 的核心数据结构和高级特性
类比 Java 的集合 Collection;Python 比较少,最核心的只有四种:
3.1 核心数据结构
3.1.1 列表 list
list = [1,2,3,4,5];
类比 Java 的 ArrayList
3.1.2 集合 set
set = {1,2,3,4}
类比 Java 里面的 set 集合;特点就是不能存储重复的元素,如果添加已存在的元素,会顶替掉旧的元素
3.1.3 元组
tuple = (1,2,3)
这个类比于 C 语言中的数组,一旦生成了tuple实例之后,既不能删除,也不能增加元素,固定的类型
3.1.4 字典
dic = {1:01, 2:02}
类比于哈希表,以 key-value的形式存储