Python的变量与数据类型

文章目录

文章目录

前言

一、python的变量

1.python的基本变量

2.python的命名规则:

二、python的数据类型

1.2.整型(int)

2. 浮点型(float)

3.字符串(str)

4.布尔值(bool)

5.空值(None)

6.类型检测(type())

三、python的数据类型转换

1.整型转换(int())

2.浮点型转换(float())

3.字符串转换(str())

4.布尔值转换(bool())

5.类型转换总结表

四、总结

1. 变量核心要点

2. 6大核心数据类型速查表

3.类型转换黄金法则


前言

亲爱的开发者朋友们,欢迎来到Python编程基础的世界!无论你是刚从其他语言转投Python阵营,还是第一次接触编程,​​变量与数据类型​​都是必须跨越的第一道关卡。

在CSDN社区的日常答疑中,我们注意到:

  1. ​70%的Python初学者错误​​源于数据类型理解不透彻

  2. ​90%的算法错误​​可追溯到变量使用不当

  3. ​数据类型转换问题​​是项目中最常遇到的兼容性挑战

一、python的变量

1.python的基本变量

变量是存储数据的容器​​。Python中变量定义无需声明类型,直接赋值即可:

name = "Alice"       # 字符串变量  
age = 25             # 整型变量  
height = 1.65        # 浮点型变量  
is_student = True    # 布尔型变量

2.python的命名规则:

1.变量名只能包括数字,字母,下滑线,数字不能做为开头

2.区分大小写

3.不能使用关键字(以及内置函数)

4.如果变量名是多个英文单词 推荐 使用全小写 使用下划线分隔

5.变量名要有一定意义

6.如果一个标识符是全大写的  则认为他是一个常量(只是约定,不是强制)
 

二、python的数据类型

1.2.整型(int)

​特点​​:

  • 表示整数值

  • 可用二进制(0b开头)、八进制(0o开头)、十六进制(0x开头)声明

  • 内置bin()函数可将十进制转为二进制

# 整数声明示例
age = 25                     # 十进制
binary_num = 0b11001         # 二进制 (等价于十进制25)
hex_num = 0x19               # 十六进制 (等价于十进制25)

# 进制转换示例
print(bin(25))               # 输出: 0b11001
print(binary_num)            # 输出: 25(自动转为十进制)
print(hex_num)               # 输出: 25

    2. 浮点型(float)

    特点:

    • 表示小数

    • 支持科学计数法(3e8表示3×10⁸)

    • 具有精度问题(0.1 + 0.2 ≠ 0.3)

    # 浮点数声明示例
    price = 9.99
    sci_num = 3e8                # 300,000,000(光速)
    sci_num2 = 314e-2            # 3.14
    
    # 精度问题示例
    print(0.1 + 0.2)             # 输出: 0.30000000000000004(精度误差)
    print(3.14 == 314e-2)        # 输出: True
    3.字符串(str)

    ​声明方式​​:

    1. ​单引号​​:'文本'

    2. ​双引号​​:"文本"

    3. ​三引号​​:'''多行文本'''"""多行文本"""

    ​转义字符​​:

    • \n:换行符

    • \t:制表符(缩进)

    • \\:反斜杠本身

    # 字符串示例
    name = 'Alice'                  # 单引号
    message = "Hello, Python!"      # 双引号
    path = "C:\\python\\"    # 转义反斜杠
    
    # 三引号多行文本
    docstring = '''
    Python文档字符串(Docstring):
    通常用于函数说明、类注释和模块文档
    支持多行文本无需特殊处理
    '''
    print(docstring)
    
    # 转义字符使用
    print("第一行\n第二行\t缩进处理")  # 输出带换行和缩进的文本
    4.布尔值(bool)

    ​特点​​:

    • 仅有TrueFalse两个值

    • 通常用于条件判断和逻辑运算

    • 注意首字母大写

    # 布尔值示例
    is_adult = True
    has_license = False
    
    # 实际应用
    age = 18
    print(age >= 18)   # 输出: True
    print(10 == "10")  # 输出: False
    5.空值(None)

    ​特点​​:

    • 表示空值或无值

    • 特殊的单例对象(内存中只有一个None)

    • 常用于变量初始化

    # None使用示例
    uninitialized = None
    result = None
    
    # 典型应用场景
    def find_user(id):
        # 如果未找到用户返回None
        return None
    
    user = find_user(999)
    if user is None:
        print("用户不存在")  # 会执行此句
    6.类型检测(type())

    ​方法​​:

    • type(变量):返回变量类型

    • isinstance(变量, 类型):检查类型是否匹配(推荐)

    # 类型检测示例
    print(type(10))          # <class 'int'>
    print(type(3.14))        # <class 'float'>
    print(type("text"))      # <class 'str'>
    print(type(True))        # <class 'bool'>
    print(type(None))        # <class 'NoneType'>
    
    # 检查类型正确方式
    value = 100
    print(isinstance(value, int))   # True
    print(isinstance(value, float))  # False

    数据类型总结表

    数据类型

    表示方式

    示例

    类型检测

    ​整型(int)​

    整数

    250b11001

    type(25) → <class 'int'>

    ​浮点型(float)​

    小数/科学计数

    9.993e8

    type(3.14) → <class 'float'>

    ​字符串(str)​

    单/双/三引号

    "Hello"'''多行'''

    type("text") → <class 'str'>

    ​布尔值(bool)​

    True/False

    TrueFalse

    type(True) → <class 'bool'>

    ​空值(None)​

    None

    None

    type(None) → <class 'NoneType'>

    三、python的数据类型转换

    1.整型转换(int())

    ​转换规则​​:

    ​浮点数转换​​:直接舍去小数部分(​​不四舍五入​​)

    print(int(3.14))   # 输出:3(取整)
    print(int(-2.9))   # 输出:-2(负数向零取整)

    ​数字字符串转换​​:仅限纯数字字符串

    print(int("42"))     # 输出:42(十进制)
    print(int("1010", 2))  # 输出:10(二进制字符串转十进制)

    布尔值转换​​:

    print(int(True))    # 输出:1
    print(int(False))   # 输出:0

    非数字字符串转换​​:

    会报错

    # 以下会导致 ValueError: invalid literal for int()
    # int("42.5")   # 包含小数点
    # int("abc")    # 包含字母

    2.浮点型转换(float())

    ​转换规则​​:

    整数转浮点数​​:添加 .0 后缀

    print(float(5))    # 输出:5.0
    

    ​数字字符串转换​​:

    print(float("3.14"))    # 输出:3.14
    print(float("2.5e2"))   # 输出:250.0(科学计数法)

    ​混合内容转换​​:

    print(float(True))     # 输出:1.0
    print(float(False))    # 输出:0.0

    无效字符串处理​​:

    # 以下会导致 ValueError
    # float("$9.99")  # 包含货币符号
    # float("10a")    # 包含字母

    3.字符串转换(str())

    ​转换规则​​:

    ​万能转换​​:将任何对象转为可读字符串

    print(str(100))         # "100"
    print(str(3.14))        # "3.14"
    print(str(True))        # "True"

    ​复杂对象转换​​:

    print(str([1, 2, 3]))   # "[1, 2, 3]"
    print(str({"name": "Alice"}))  # "{'name': 'Alice'}"
    print(str(None))         # "None"

    4.布尔值转换(bool())

    ​转换规则​​:

    基本转换逻辑​​:

    # 假值(False)
    print(bool(0))         # False
    print(bool(""))        # False(空字符串)
    print(bool(False))     # False
    print(bool(None))      # False
    
    # 真值(True)→ 除假值外都是True
    print(bool(1))         # True
    print(bool(" "))       # True(含空格的字符串)
    print(bool([]))        # True(空列表)
    print(bool(0.0001))    # True

      特殊容器转换​​:

      # 容器空值处理
      print(bool([]))        # False → 空列表
      print(bool({}))        # False → 空字典
      print(bool(()))        # False → 空元组
      
      # 非空容器
      print(bool([0]))       # True

      5.类型转换总结表

      转换函数

      可转换类型

      示例

      转换规则

      ​int()​

      浮点数

      int(3.14) → 3

      舍去小数

      数字字符串

      int("42") → 42

      需纯数字

      布尔值

      int(True) → 1

      T=1, F=0

      ​float()​

      整数

      float(5) → 5.0

      添加.0

      数字字符串

      float("3.14") → 3.14

      支持小数和e

      ​str()​

      任意类型

      str(100) → "100"

      转为字符串

      str(True) → "True"

      保留原意

      ​bool()​

      数字

      bool(0) → False

      0为假

      字符串

      bool("") → False

      空串为假

      容器

      bool([]) → False

      空容器为假

      注意​​:数据类型转换在数据处理中极为常用,特别是在:

      • 用户输入处理(input()始终返回字符串)

      • 不同系统接口数据对接

      • 数值计算前的类型检查

      四、总结

      1. 变量核心要点

      1. ​定义本质​​:动态类型标签(a=10 → a="text" 无需重声明)

      2. ​命名铁律​​:

        • 严禁关键字(如 andwhile

        • 数字不能开头(2var ❌)

        • 大小写敏感(age≠Age

      3. ​内存机制​​:变量存储的是​​数据地址​​而非数据本身

      2. 6大核心数据类型速查表

      类型

      标识

      特征

      高频操作

      ​整型​

      int

      整数
      0b1101(二进制)

      bin()进制转换

      ​浮点型​

      float

      小数/科学计数(3e8)

      round(3.1415,2)四舍五入

      ​字符串​

      str

      单引号/双引号/三引号
      支持转义符\n\t

      切片text[0:3]
      .split()分割

      ​布尔型​

      bool

      True/False

      逻辑判断if is_valid:

      ​列表​

      list

      可变序列[1,"a",True]

      .append()添加
      .pop()删除

      ​空值​

      NoneType

      唯一值None

      变量初始化占位

      3.类型转换黄金法则

       ​1.智能转换套路​​:

      # 从字符串到数值的标准处理流程
      user_input = input("请输入数字:")  
      if user_input.isdigit():  # 先检测再转换
          num = float(user_input) * 1.1
      else:
          print("输入无效!")

      2.转换函数四天王​​:

      | 函数 | 典型场景 | 高危陷阱 |
      |------|----------|----------|
      int() | 网页分页参数→数值 | int("3.14") ❌ 需先转float |
      float() | 金融数据计算 | float("$9.99") ❌ 需去除货币符号 |
      str() | 数据拼接日志输出 | 自动调用对象的__str__方法 |
      bool() | 条件判断简化 | bool([])→False(空容器为假) |

      3.​必知避坑指南​​:

      浮点精度陷阱:0.1+0.2 ≠ 0.3 → 用round()decimal模块

      空值检测:总是用is None而非== None

      布尔转换:非0数字、非空容器均为True

      评论
      添加红包

      请填写红包祝福语或标题

      红包个数最小为10个

      红包金额最低5元

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

      抵扣说明:

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

      余额充值