Python--知识补充

1. 代码规范

编写代码时,除了实现功能外,还需要遵循一定的规范,以提高代码的可读性和可维护性。

1.1 命名规范

  1. 文件夹:小写字母 + 下划线连接,例如:commands​、data_utils​。

  2. 文件:小写字母 + 下划线连接,例如:page.py​、db_convert.py​。

  3. 变量:

    • 全局变量:大写字母 + 下划线连接,例如:NAME = "qyiao"​。
    • 局部变量:小写字母 + 下划线连接,例如:data = [11, 22, 33]​。

1.2 注释

注释是程序员编写代码时的重要部分,方便后续维护和理解代码。

  1. 文件夹注释:在文件夹中创建 README.md​ 文件,描述文件夹的用途。

  2. 文件注释:在文件开头添加注释,描述文件的功能和用途。

    """
    这个文件主要为项目提供工具和转换的功能,初次之外还有日志....
    例如:
        ...
        ...
        ...
    """
    
  3. 代码注释:在关键代码处添加注释,解释代码的逻辑。

    name = "qyiao"
    # 在名称后面添加一个nb
    data = name + "nb"
    print(data)
    

1.3 TODO 注释

使用 TODO​ 注释标记需要后续完成的任务。

# TODO: 这里需要添加异常处理逻辑

1.4 条件嵌套

尽量减少条件语句的嵌套层级,通常不超过 3 层。

不推荐:

if condition1:
    if condition2:
        if condition3:
            # 逻辑代码

推荐:

if not condition1:
    return
if not condition2:
    return
if not condition3:
    return
# 逻辑代码

1.5 简单逻辑先处理

在处理复杂逻辑时,先处理简单的逻辑,减少代码的复杂度。

示例:

if not num.isdecimal():
    print("用户输入的格式错误")
    return
num = int(num)
if num > 4 or num < 0:
    print("范围选择错误")
    return

1.6 循环优化

尽量减少循环次数,提高代码效率。

不推荐:

key_list = []
value_list = []
for key, value in info.items():
    key_list.append(key)
    value_list.append(value)

推荐:

key_list = list(info.keys())
value_list = list(info.values())

1.7 变量和值

变量和值之间应保持适当的空格,提高代码可读性。

推荐:

name = "qyiao"
age = 19

不推荐:

name="qyiao"
age= 18

2. 知识补充

2.1 pass 语句

​pass​ 是一个空语句,用于保证代码块的完整性。

示例:

if condition:
    pass
else:
    pass

2.2 is 与 == 的区别

  • ​==​:比较两个值是否相等。
  • ​is​:比较两个对象的内存地址是否相同。

示例:

v1 = []
v2 = []
print(v1 == v2)  # True,值相等
print(v1 is v2)  # False,内存地址不同

2.3 位运算

位运算是对二进制数的操作,常用于底层编程和网络协议中。

  1. 与运算(&):两个位都为 1 时,结果为 1。

    a = 60  # 60 = 0011 1100
    b = 13  # 13 = 0000 1101
    c = a & b  # 12 = 0000 1100
    
  2. 或运算(|):两个位中有一个为 1 时,结果为 1。

    a = 60  # 60 = 0011 1100
    b = 13  # 13 = 0000 1101
    c = a | b  # 61 = 0011 1101
    
  3. 异或运算(^):两个位不同时,结果为 1。

    a = 60  # 60 = 0011 1100
    b = 13  # 13 = 0000 1101
    c = a ^ b  # 49 = 0011 0001
    
  4. 取反运算(~):对二进制数取反。

    a = 60  # 60 = 0011 1100
    c = ~a  # -61 = 1100 0011
    
  5. 左移运算(<<):将二进制数向左移动指定位数。

    a = 60  # 60 = 0011 1100
    c = a << 2  # 240 = 1111 0000
    
  6. 右移运算(>>):将二进制数向右移动指定位数。

    a = 60  # 60 = 0011 1100
    c = a >> 2  # 15 = 0000 1111
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值