Py3基本语法

标准输入输出

input()中读入 由于input()只能读入字符串,因此读入其他类型需要强制类型转换 比如n=int(input())

如果读入的数据有空格,则需要使用 input().split()分割(默认以空格为分割点) 比如读入一个list a=list(map(int,input().split()))

换行输出 print() 不换行输出print(res,end=' ')

循环

for i in range(i,j):[i,j-1]上进行遍历 for x in arr: 在数组arr上进行遍历,元素为x

数据类型

bool类型:TrueFalse大写

常用方法

排序

对于一个list

  1. a.sort()
  2. a[i:j]=sorted(a[i:j])

运算符

浮点数除法符号是: / 整除(向下取整)的符号是: // py没有!作为取反的符号 **是计算幂次,如10**0.5计算sqrt(10)

数据结构

c++ vector ->python list 初始化 arr = [0]*n 不能这样arr=[]*n

C++ map -> python dict

dict.get(key,defalut_value):取dict[key]value如果不存在这个键值对,则创建dict[key]=defalut_value

数学函数

开根号 import math math.sqrt(num)

函数的定义

def func(参数1,参数2): return 默认只读全局变量,如果要修改全局变量则需要传参

函数必须声明在最上方

卡常

import sys input = lambda:sys.stdin.readline().strip()

使用pypy3解释器 PyPy3 和 Python3(CPython)最大的差异在于解释器实现方式性能表现。Python3 是官方默认的 C 语言实现,而 PyPy3 是用 RPython 编写的替代实现,并引入了 JIT(即时编译) 技术,可在运行时将热点代码编译为机器码,从而显著提升速度。

性能差异方面,PyPy3 在计算密集型任务中通常比 CPython 快 2~10 倍,尤其在长循环、大量数学计算等场景中优势明显。

内存与启动时间上,PyPy3 启动时内存占用略高且启动较慢,但长时间运行的程序中,其垃圾回收机制可能更高效。

兼容性方面,Python3 对所有 Python 包(尤其是 C 扩展)支持最佳,而 PyPy3 对部分 C 扩展(如部分 NumPy、SciPy 模块)可能不兼容。不过,对于纯 Python 项目,PyPy3 几乎可无缝替换。

敲代码

shift + tab将代码块整体向左缩进 tab将代码块整体向右缩进