-
Notifications
You must be signed in to change notification settings - Fork 0
syntax
David Liu edited this page Jan 18, 2025
·
18 revisions
- Python import 并非只是把一个文本插入另一个文本而已。程序在第一次导入指定文件时,会执行如下steps: 1. 找到模块文件 2. compile into bytecode 3. 执行模块的代码。在这之后,导入相同模块时,会跳过这些steps,而只提取内存中已加载的模块对象。已加载的模块存储在
sys.modules
表对象中。 -
os.environ
vsos.getenv
-
os.environ['key']
raises an exception if the environmental variablekey
does not exist -
os.getenv('key')
does not raise an exception, but returnsNone
-
os.getenv
is a wrapper toos.environ.get
-
-
with
语句用于异常处理,封装了try…except…finally
编码范式,提高了易用性。-
with
语句实现原理建立在上下文管理器之上。 - 上下文管理器是一个实现
__enter__
和__exit__
方法的类。 -
with
语句的对象类必须是一个上下文管理器的实现
-
- getter and setter
-
is
vs==
-
is
: 指针相同 -
==
:值相同,常用于值和常量比较
-
- spread operator in python:
- for dict:
**
- for tuple:
*
- for dict:
- 不强制在构建对象时指定泛型的类型
- 函数的参数类型和返回类型只是一种文档注解(类型注解)。
- 用来增强代码可读性。
- 类型注解并不会强制执行类型限制,因此对函数的性能没有影响
- To check runtime type, use library
typeguard
- Don't use enum, use string
- Use
dict
than switch/case
- Auto formatter: autopep8
- basic syntax check:
python -m compileall -q .
请注意,根记录器的默认级别为 WARNING
Python 复数 4+3j 的类型为 ‘<class 'complex'>’
Python3 中,bool 是 int 的子类,True 和 False 可以和数字相加, True==1、False==0 会返回 True