导图社区 Python与Java的不同点
Python与Jave的不同点。解释器,注释变量,数据类型,输出,输入,转换数据类型,运算符,条件语句,循环语句。字符串,列表内容总结。
编辑于2022-05-04 23:18:48Python与Java的不同点
1. 解释器
1.1. 作用
运行文件
2. 注释
2.1. 单行注释
#注释内容
快捷键:Ctrl + /
2.2. 多行注释
'''注释内容''' 或"""注释内容"""
3. 变量
3.1. 严格区分大小写
3.2. 大驼峰:MyName,Java中的变量没有这个习惯
3.3. 下划线:my_name,Java中变量也没有这个习惯,Java常量是大写+下划线命名
4. 数据类型
除了布尔型的两个值的首字母是大写以外,其他数据类型首字母都是小写
type()获取数据的类型
4.1. 数值
int(整型)
float(浮点型),与Java相比,Python没有double类型
4.2. 布尔型
True(真)
False(假)
4.3. str(字符串)
4.4. list(列表)
4.5. tuple(元组)
4.6. set(集合)
4.7. dict(字典)
键值对,有点类似Java中的Map,又有点像json数据
5. 输出
5.1. 格式化符号
%s:字符串
f'...{变量名}...',其中{}里面可以是变量名表达式,f-格式化字符串是Python3.6中新增的格式化方法
%d:有符号的十进制整数
%06d,表示输出的整数显示位数,不足以0补全,超出当前位数则原样输出
%f:浮点数
%.2f,表示小数点后显示的小数位数,不足以0补全,超出位数则只保留有效位数
5.2. 转移字符
\n:换行
\t:制表符
一个tab键(4个空格)的距离
5.3. 结束符
end=""
表示在输出内容后面加上该符号表示结束,print()默认自带end="\n"换行结束符
6. 输入
6.1. input
当程序执行到input时,程序进入阻塞状态中,等待用户输入,输入完成之后才继续执行下面的代码
在Python中,input接收到的任何数据默认都是字符串数据类型
7. 转换数据类型
7.1. int(x [,base])
将x转换为一个整数
7.2. float(x)
将x转换为一个浮点数
7.3. str(x)
将对象x转换为字符串
7.4. eval(x)
用来计算在字符串中的有效Python表达式,并返回一个对象。即返回最接近x数值的数据类型
7.5. tuple(s)
将序列s转换为一个元组
7.6. list(s)
将序列s转换为一个列表
7.7. type(x)
返回x的数据类型
8. 运算符
8.1. 算数运算符
/
除。这与Java中的/不一样,Java表示整除
//
整除。Java没有这个运算符
**
指数
混合运算优先级顺序:() 高于 ** 高于 * / // % 高于 + -
8.2. 赋值运算符
多个变量赋值
左边是变量名字,右边是值,依次将右边的值按左边变量的顺序给其赋值
8.3. 复合赋值运算符
+=
-=
*=
/=
//=
%=
**=
都是运算符在左边,赋值符在右边,见名知意,先进行左边的运算符的运算,将计算的结果再赋值给变量。如果赋值运算符右边是个表达式,那先对表达式进行计算,再与复合赋值运算符计算。
8.4. 逻辑运算符
and、or、not
判断值可以是bool类型,也可以是数值类型,这与Java不同,Java只能判断boolean类型
9. 条件语句
9.1. if语法
if 条件:
与Java不同,Python的if结构体不是用{}括起来,而是通过一个tab(4个空格)
9.2. if...else...
if 条件:...else:...
注意else后面也有个冒号:
9.3. 多重判断
if 条件1:...elif 条件2:......else:...
注意这里的elseif缩写成elif
9.4. 三木运算符
c = a if a > b else b
如果a > b,就将a赋值给c,否则,将b赋值给c。if a > b 就取if左边的值,否则取else右边的值
10. 循环语句
10.1. while循环
while 条件:
通过tab缩进来区分是不是同一个结构体的语句
10.2. for循环
for 临时变量 in 序列:
10.3. else
当循环正常结束之后需要执行的代码
while...else:
for...else:
while和for都可以配合else使用,else下方缩进代码含义:当循环正常结束后执行的代码
break终止的循环,不会执行else部分代码。即使循环中有break关键字,但循环是正常结束,而不是break终止结束,那else部分的代码依旧会被执行
continue只是结束当前循环,进入下一次循环,如果以continue结束循环,那仍然是正常结束循环,需要执行else部分代码
11. 字符串
11.1. 特征
单引号''或者双引号""
三引号(单双都可以)'''内容'''或"""内容"""
三引号会将引号内的格式都当作字符串的内容,比如空格、tab、换行等
如果字符串里面有单引号或双引号,可以使用转义字符\,也可以单双引号的交替使用,比如外层用双引号,内容里面用单引号,或者外层单引号,内层双引号
11.2. 格式化输出
f'...{变量表达式}...',用f结构格式化输出字符串
11.3. 下标
下标又叫索引,就是编号
Python不需要转换,可直接通过字符串变量名+下标来获取对应位置的值
11.4. 切片
是指对操作对象截取其中一部分的操作
字符串、列表、元组都支持切片操作
语法
序列[开始位置下标:结束位置下标:不长]
不包含结束位置下标对应的数据,正负整数均可
步长是选取区间,正负整数均可,默认步长为1
11.5. 常用方法
查找
find()
检测某个子串是否包含在这个字符串中,如果存在,返回这个子串的开始位置下标,否则返回-1
如果开始位置和结束位置省略,表示在整个字符串序列中查找
index()
检测某个子串是否包含在这个字符串中,如果存在,返回这个子串的开始位置下标,否则返回-1
如果开始位置和结束位置省略,表示在整个字符串序列中查找
rfiand()
和find()功能相同,但查找方向从右侧开始
rindex()
和index()功能相同,但查找方向从右侧开始
count()
返回某个子串在字符串中出现的次数
如果开始位置和结束位置省略,表示在整个字符串序列中查找
修改
数据按照是否能直接修改氛围可变类型和不可变类型两种。字符串类型的数据修改的时候不能改变原有字符串,属于不能直接修改数据类型即不可变类型。
replace()
split()
split(分隔符)
split(分隔符,num)
num表示用分隔符分割的次数,最后返回的结果最多为num + 1个
join()
用一个字符或子串作为连接符,将多个字符串合并成一个字符串
连接符.join(多字符串组成的序列)
capitalize()
将字符串第一个字符转成大写,其他字符转成小写
title()
将字符串每个单词首字母转成大写
lower()
将字符串中大写转小写
upper()
将字符串中小写转成大写
lstrip()
删除字符串左侧空白字符
rstrip()
删除字符串右侧空白字符
strip()
删除字符串两侧空白字符
ljust()
返回一个原字符串左对齐,并使用指定字符(默认空格)填充至对应长度的新字符串
字符串序列.ljust(长度,填充字符)
rjust()
返回一个原字符串右对齐,并使用指定字符串(默认空格)填充至对应长度的新字符串
语法和ljest()相同
center()
返回一个原字符串居中对齐,并使用指定字符(默认空格)填充至对应长度的新字符串
语法和ljust()相同
判断
startwith()
检查字符串是否是以指定子串开头,是就返回True,否则返回False。如果设置开始和结束位置下标,就在指定范围内检查
字符串序列.startwith(子串,开始位置下标,结束位置下标)
endwith()
检查字符串是否以指定子串结尾,是就返回True,否则返回False。如果设置开始和结束位置下标,就在指定范围内检查
字符串序列.endtwith(子串,开始位置下标,结束位置下标)
isalpha()
如果字符串至少有一个字符并且所有字符都是字母,就返回True,否则返回False
isdigit()
如果字符串只包含数字,就返回True,否则返回False
isalnum()
如果字符串至少有一个字符并且所有字符都是字母或数字,就返回True,否则返回False
isspace()
如果在字符串中指包含空白,就返回True,否则返回False
空白可以是空字符串,也可以是只有空格的字符串
12. 列表
12.1. 常用方法
index()
返回指定数据所在位置的下标
列表序列.index(数据,开始位置下标,结束位置下标)
子主题