赞
踩
规范像一门语言的语法、语感。了解规范帮助更好地理解别人写代码的思路。这是一篇学习笔记。
python中,一个字=一个字符,一个空格也算一个字符
比如,Hello World的个数:
string = "Hello World"
print(len(string)) # 输出:11
string = "Hello\tWorld\n" # 制表符\t和换行符\n也都被认为是一个字符
print(len(string)) # 输出:12
1.运算符两边需要空1格
2.列表、字典、元组和参数列表中,逗号后使用一个空格
# 正确的空格使用
a = 1
b = a + 2
my_list = [1, 2, 3, 4]
3.左括号后不用空,右括号前不用空
1.导入时,不同级别之间空1行
导入顺序:标准库、第三方库、应用程序指定的导入,每组之间用1个空行分隔。
import os
import sys
from third_party_library import Django
from local_module import local_class
2.类定义之间用2个空行;类中的函数定义之间用1个空行。
class FirstClass:
def method_a(self):
pass
def method_b(self):
pass
class SecondClass:
def method_c(self):
pass
(pass是当方法体还没具体想好时,占位用的。不影响整体代码执行)
异常处理是一种机制,用于捕获和处理程序运行过程中可能出现的错误和异常情况。
就像活动策划时要考虑2种情况:1.能想到的可能异常情况(越具体越好)&实在想不到用一个通用异常代替(比较宽泛);2.没有异常。最后不论1,2,都要让人知道活动流程的进度。
这分别对应异常处理程序中关键字expect,else,finally所实现的功能。
try:
# 可能会引发异常的代码块
result = 10 / 2
except ZeroDivisionError:
# 处理捕获到的 ZeroDivisionError 异常
print("除数不能为零")
else:
# 没有异常发生时执行的代码块
print("计算结果:", result)
finally:
# 无论是否发生异常,都会执行的代码块
print("程序结束")
except语句,可以指定一个或者多个异常类型,用于捕获特定类型的异常。大体分为两种:1.能想到很具体的,2.想不到只能通用概括为异常。分别对应
try:
# 可能会引发异常的代码块
result = 10 / 0 # 除以0会引发 ZeroDivisionError 异常
except ZeroDivisionError:
# 处理捕获到的 ZeroDivisionError 异常
print("除数不能为零")
(此例是具体的异常:ZeroDivisionError 类型)
try:
# 可能会引发异常的代码块
result = 10 / 0
except Exception:
# 处理捕获到的任何异常
print("发生了异常")
(此例没有指定具体的异常类型,所以用通用的Exception 类)
格式化就是按照一定规则进行排版。
传统方法是用%占位,弊端是可读性差、错误难以发现、功能有限而且不安全。
常用的方法是.format()和f-string
name = "Alice"
age = 25
# 使用 format()
print("Hello, {}. You are {} years old.".format(name, age))
# 使用 f-string(Python 3.6+)
print(f"Hello, {name}. You are {age} years old.")
对我而言,命名规则很重要。在此之前,只是知道大小驼峰命名法,但以为选固定一种就要全程统一,所以对一个程序里出现不一样的命名很迷惑也很不舒服。不过,现在觉得这种对变量都小写、常量都大写、类名驼峰法的区分真香!
【1】https://zhuanlan.zhihu.com/p/401127513
【2】官方PEP8 规范 https://peps.python.org/pep-0008/#global-variable-names
【3】小白友好 https://mp.weixin.qq.com/s/Hq4-vapFewu5ywrfIaflKw
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。