变量与数据类型初相识 —— 数字、字符串与布尔值

变量

变量是编程语言的基本组成部分,数据类型则决定了变量存储和操作数据的方式。本文将带你快速掌握 Python 中最基础的三种数据类型:数字、字符串和布尔值,理解它们的特性与使用场景。

一、变量的本质

在 Python 中,变量本质是内存地址的标签。当我们执行 a = 10 时:

  1. 内存中创建一个整数对象10
  2. 变量名a指向该对象的内存地址
  3. 可通过id(a)查看具体地址值

注意:Python 是动态类型语言,变量无需提前声明类型。

二、数字类型(Numeric Types)

Python 支持三种数值类型:

1. 整数(int)

  • 特性:任意精度整数

  • 示例

    age = 25
    big_num = 12345678901234567890  # 长整型直接支持
    

2. 浮点数(float)

  • 特性:双精度浮点数,可能存在精度问题

  • 示例

    price = 9.99
    pi = 3.1415926535
    
  • 注意:避免直接比较浮点数,应使用math.isclose()

3. 复数(complex)

  • 特性:由实部和虚部组成

  • 示例

    z = 3 + 4j
    print(z.real)  # 3.0
    print(z.imag)  # 4.0
    

三、字符串类型(str)

字符串是 Unicode 字符序列,用单 / 双 / 三引号包裹:

name = 'FrostBoy'
message = "Hello, World!"
multi_line = '''第一行
第二行'''

字符串操作

  1. 索引与切片

    s = "abcdef"
    print(s[0])   # 'a'
    print(s[1:4]) # 'bcd'(左闭右开)
    print(s[::-1])# 'fedcba'(反转)
    
  2. 常用方法

    s = " Hello Python "
    print(s.strip())    # 去除首尾空格
    print(s.upper())    # 转大写
    print(s.count('o')) # 统计字符数
    
  3. 格式化

    age = 25
    print(f"我今年{age}岁")  # Python 3.6+推荐的f-string
    

四、布尔类型(bool)

布尔值只有TrueFalse两种状态,注意首字母大写。

布尔运算

print(True and False)  # False
print(True or False)   # True
print(not True)        # False

真值测试

以下值会被视为False

  • False
  • None
  • 数值 0(包括 0, 0.0, 0j)
  • 空序列(空字符串、空列表、空字典等)

五、类型转换

通过内置函数实现类型转换:

num_str = "123"
num = int(num_str)  # 转换为整数

decimal = 3.9
integer = int(decimal)  # 3(直接截断小数部分)

is_valid = "True"
bool_val = bool(is_valid)  # True(非空字符串视为True)

六、内存管理机制

Python 通过引用计数和垃圾回收自动管理内存:

  1. 每个对象维护__refcount__属性记录引用次数
  2. 当引用计数为 0 时,对象被自动回收
  3. 可通过sys.getsizeof()查看对象内存占用


细节决定成败!
个人愚见,如有不对,恳请斧正!

posted @ 2025-03-24 09:36  一点浩然气~  阅读(288)  评论(0)    收藏  举报