1.python是一种解释性语言
逐行解释运行
代码错误会在运行到那一行的时候才会报错
例如
str+int
但是编译性语言,会在编译阶段就报出错误,所有代码均未运行
因此,理论上需要代码开发人员更加注意这些代码细节
一、基础检测方法
解释器预检查
1.Python解释器在运行前会扫描基础语法结构(如括号匹配、冒号缺失等),但仅限明显错误
2.IDE实时提示
PyCharm/VSCode:实时标记语法错误(如未闭合引号、错误缩进)
功能:波浪线提示+悬停错误说明
示例:if True print(“error”) 会直接报SyntaxError。
3.检查工具 pip install pylint
2.Python的动态类型(Dynamic Typing)
是它的核心特性之一,指变量在运行时才确定其类型,且类型可以随时改变。以下是具体解释:
a.类型与变量解耦
变量本身没有固定类型,其类型由当前赋值的对象决定。
b.运行时类型检查
类型错误(如字符串与数字相加)只在代码执行到该行时才会报错
3.Python的渐进式类型(Type Hints)
Python 3.5+ 支持类型注解(如def greet(name: str) -> str),但:
仍为动态类型(注解不影响运行时)
补充一个小知识点:
一个变量可以赋值为不同的类型数据,那么是动态类型,例如python, js, 不可以则是静态类型:java
变量混合操作允许隐式转换,那么是弱类型,js, 不允许则是强类型,python,java
因此总结:
python: 动态的强类型(一个变量可以允许不同类型,不允许隐式转换)
java: 静态的强类型(一个变量不可以允许不同类型,不允许隐式转换)
js: 静态的弱类型(一个变量可以允许不同类型,允许隐式转换)
4.提高可读性
a. PEP 8规范
b.函数单一职责原则
c.函数写注释
d.早返回 early return
e.日志代替打印
f.添加异常处理