c语言编程笔录

首页 >   > 笔记大全

笔记大全

Python中下划线的含义及用法有哪些

更新时间:2024-01-02

引言

Python是一门高级编程语言,具有简单易用、功能强大、可扩展性好、跨平台等特点。在Python的世界中,下划线作为一个常见的符号,它有多种不同的含义和用法。本文将介绍Python中下划线的各种用法。

1. 变量名的含义

在Python中,下划线可以用作变量名的一部分。下划线在变量名中的使用有以下几种含义:

  • 单个下划线(_)代表一个临时变量,表示这个变量的值可以被忽略。在函数返回多个值时,可以使用单个下划线来表示不需要的变量。
  • 单个下划线(_)在解释器中作为特殊变量使用。例如,可以在交互式解释器中使用单个下划线来表示上一个表达式的结果。
  • 双下划线(__)在类定义中用作私有变量。私有变量是一个特殊的变量,只能在类的内部使用。在类外部不能使用这些变量。
  • 双下划线开头和结尾的变量(__var__)是Python中的特殊变量,通常是一些内置变量。使用这种命名方式可以避免与用户定义的变量重名。

_temp_value = 5
print(_temp_value)

def func():
    a, _, c = 1, 2, 3
    return a, c

print(func())

2. 模块名中的含义

在导入模块时,下划线也可以作为模块名的一部分。下划线在模块名中的使用有以下几种含义:

  • 以单个下划线开头的模块(_module)是私有模块。私有模块是指不想被其他代码直接引用的模块。
  • 以双下划线开头的模块(__module)是Python的内置模块。
  • 以双下划线开头和结尾的模块(__module__)是特殊模块。这些模块通常是由解释器生成的,用于实现一些特殊功能。

import math
import random
import _csv

print(math.pi)
print(random.randint(1, 10))
print(_csv.reader)

3. 方法名和函数名中的含义

在方法名和函数名中,下划线也可以使用。下划线在方法名和函数名中的使用有以下几种含义:

  • 以单个下划线开头的方法或函数(_method/ _function)是私有方法或函数。私有方法或函数只能在定义它们的类中使用。在函数名中使用单个下划线,也表示这个函数应该被视为私有函数。
  • 以双下划线开头的方法(__method)是Python中的特殊方法。这些方法具有特殊的用途,例如__init__()方法用于初始化对象。

class MyClass:
    def _private_method(self):
        print("This is a private method.")
    
    def public_method(self):
        print("This is a public method.")
        self._private_method()

obj = MyClass()
obj.public_method()

4. 参数名的含义

下划线还可以用作函数参数名的一部分。在函数参数名中的下划线表示这个参数是一个占位符,它的值不会被使用。下划线在函数参数名中可以有以下几种用法:

  • 单个下划线作为位置参数的占位符。
  • 单个下划线作为关键字参数的占位符。
  • 双下划线作为参数名的前缀,用于避免与关键字参数重名。

def my_func(a, b, _):
    print(a, b)

my_func(1, 2, None)

def my_func2(a, b, *, _c):
    print(a, b, _c)

my_func2(1, 2, _c=3)

def my_func3(a, b, *, __c):
    print(a, b, __c)

my_func3(1, 2, __c=3)