Python变量

目录

1. 变量定义

2. 变量类型

3. 变量作用域

4. 变量类型转换

5. 常见操作

6. 变量作用域示例

扩展知识点1:

1. 单个下划线 _

2. 双下划线前缀 (__var)

3. 双下划线前缀和双下划线后缀 (__var__)


 

1. 变量定义

  • 定义变量:使用赋值运算符 = 将一个值赋给一个变量。
  • 命名规则
    • 变量名必须以字母(A-Z、a-z)或下划线 _ 开头。
    • 后续可以包含字母、数字(0-9)和下划线 _
    • 变量名区分大小写,例如 Variablevariable 是不同的变量。
    • 避免使用 Python 保留字(如 class, if, for 等)作为变量名。

示例:

x = 10
name = "Alice"
_age = 25

2. 变量类型

Python 是动态类型语言,变量的类型由值决定。常见的类型包括:

  • 整数 (int):用于表示整数值。

    num = 42
    

  • 浮点数 (float):用于表示小数值。

    pi = 3.14
    

  • 字符串 (str):用于表示文本。

    greeting = "Hello, World!"
    

  • 布尔值 (bool):用于表示真(True)和假(False)。

    is_active = True
    
  • 列表 (list):用于存储多个值,支持修改。

    numbers = [1, 2, 3, 4]
    

  • 元组 (tuple):用于存储多个值,不支持修改。

    coordinates = (10, 20)
    
  • 字典 (dict):用于存储键值对。

    student = {"name": "Alice", "age": 25}
    
  • 集合 (set):用于存储唯一值。

    unique_numbers = {1, 2, 3}
    

3. 变量作用域

  • 局部变量:在函数或块内部定义的变量,只在该函数或块内有效。

    def my_function():
        local_var = 10
        print(local_var)  # 输出: 10
    
    my_function()
    # print(local_var)  # 会引发 NameError
    

  • 全局变量:在函数外部定义的变量,在整个程序中有效。

    global_var = 20
    
    def another_function():
        print(global_var)  # 输出: 20
    
    another_function()
    

  • global 关键字:在函数内部修改全局变量的值时需要使用 global 关键字。

    global_var = 30
    
    def modify_global():
        global global_var
        global_var = 40
    
    modify_global()
    print(global_var)  # 输出: 40
    

4. 变量类型转换

  • 转换为整数:使用 int()

    num = int("42")
    

  • 转换为浮点数:使用 float()

    num = float("3.14")
    

  • 转换为字符串:使用 str()

    text = str(42)
    

  • 转换为列表:使用 list()

    lst = list((1, 2, 3))
    

  • 转换为元组:使用 tuple()

    tpl = tuple([1, 2, 3])
    

  • 转换为集合:使用 set()

    s = set([1, 2, 2, 3])
    

5. 常见操作

  • 赋值操作:给变量赋值,通常使用 = 运算符。

    a = 10
    

  • 多重赋值:一次性给多个变量赋值。

    x, y, z = 1, 2, 3
    

  • 交换值:使用 Python 的简洁语法交换两个变量的值。

    a, b = b, a
    

6. 变量作用域示例

# 全局变量
var = "Global"

def my_function():
    # 局部变量
    var = "Local"
    print(var)  # 输出: Local

my_function()
print(var)  # 输出: Global

扩展知识点1:

1. 单个下划线 _
  • 单个下划线前缀 (_var)

    • 用于指示变量是“受保护的”或“内部使用”的,不应该在模块外部直接访问。
    • 这种变量仍然是公共的,但加了下划线是一种约定,表示这是模块的内部实现细节。
    • 例如:_internal_variable

    示例:

    class MyClass:
        def __init__(self):
            self._internal_var = 42
    
    obj = MyClass()
    print(obj._internal_var)  # 仍然可以访问,但应避免直接访问
    

  • 单个下划线作为临时或不需要的变量

    • 在一些情况下,单个下划线用于表示临时变量或不需要的变量,尤其是在循环中。
    • 例如,在迭代时不关心索引值:
    for _ in range(5):
        print("Hello")
    

2. 双下划线前缀 (__var)
  • 双下划线前缀 (__var)

    • 用于实现名称修饰(Name Mangling),它会将变量名更改为 _ClassName__var,以防止子类意外覆盖父类中的变量。
    • 这种做法可以避免与子类中的变量名冲突,是一种强制性保护的方式。
    • 例如:__private_variable

    示例:

    class MyClass:
        def __init__(self):
            self.__private_var = 42
    
        def get_private_var(self):
            return self.__private_var
    
    obj = MyClass()
    print(obj.get_private_var())  # 输出: 42
    # print(obj.__private_var)  # 会引发 AttributeError
    
    # 使用名称修饰后访问
    print(obj._MyClass__private_var)  # 输出: 42
    

3. 双下划线前缀和双下划线后缀 (__var__)
  • 双下划线前缀和后缀 (__var__)

    • 用于 Python 的特殊方法或属性,这些方法和属性在 Python 中有特定的意义,比如 __init__, __str__, __len__
    • 这些是“魔法方法”或“特殊方法”,用于定义类的特定行为。

    示例:

    class MyClass:
        def __init__(self, value):
            self.value = value
    
        def __str__(self):
            return f"MyClass with value {self.value}"
    
    obj = MyClass(10)
    print(obj)  # 输出: MyClass with value 10
    

总结:

  • 单个下划线:表示变量是内部使用的或不重要的(但仍然可以访问)。
  • 双下划线前缀:用于名称修饰,防止与子类中变量冲突。
  • 双下划线前缀和后缀:用于特殊方法和属性,这些方法和属性有特殊用途和意义。
  • 20
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZZDICT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值