一、Python 数据类型,可分为以下几大类:

1. 基本数据类型

  • 整数(int):如 10-50,支持任意大小的整数
  • 浮点数(float):如 3.14-0.52.0,表示带小数的数字
  • 布尔值(bool):只有两个值 True(真)和 False(假),常用于条件判断
  • 字符串(str):由字符组成的序列,用单引号 ' 或双引号 " 包裹,如 'hello'"Python"

2. 容器数据类型

  • 列表(list):有序、可变的元素集合,用方括号 [] 表示,如 [1, 2, 3]['a', 'b']
  • 元组(tuple):有序、不可变的元素集合,用圆括号 () 表示,如 (1, 2, 3)('a', 'b')
  • 字典(dict):键值对的无序集合,用花括号 {} 表示,如 {'name': 'Alice', 'age': 20}
  • 集合(set):无序、不重复的元素集合,用花括号 {}set() 表示,如 {1, 2, 3}set([1, 2, 3])

3. 特殊数据类型

  • NoneType:只有一个值 None,表示空值或无返回值
  • 复数(complex):如 3+4j,由实部和虚部组成

4. 其他类型

还包括函数、类、模块等,但这些通常被视为对象类型。

可以使用 type() 函数查看变量的数据类型,例如:

print(type(10))       # <class 'int'>
print(type('hello'))  # <class 'str'>
print(type([1,2,3]))  # <class 'list'>

二、python数据类型的代码展示:

# 基本数据类型
integer = 42                  # 整数(int)
floating = 3.14159            # 浮点数(float)
boolean = True                # 布尔值(bool)
string = "Hello, Python!"     # 字符串(str)
complex_num = 3 + 4j          # 复数(complex)
nothing = None                # 空值(NoneType)

# 容器数据类型
list_example = [1, "apple", 3.14, True]  # 列表(list)
tuple_example = ("red", "green", "blue") # 元组(tuple)
dict_example = {                         # 字典(dict)
    "name": "Alice",
    "age": 30,
    "is_student": False
}
set_example = {1, 2, 3, 3, 4}            # 集合(set),自动去重

# 打印各变量及其类型
print(f"整数: {integer}, 类型: {type(integer)}")
print(f"浮点数: {floating}, 类型: {type(floating)}")
print(f"布尔值: {boolean}, 类型: {type(boolean)}")
print(f"字符串: {string}, 类型: {type(string)}")
print(f"复数: {complex_num}, 类型: {type(complex_num)}")
print(f"空值: {nothing}, 类型: {type(nothing)}")

print(f"\n列表: {list_example}, 类型: {type(list_example)}")
print(f"元组: {tuple_example}, 类型: {type(tuple_example)}")
print(f"字典: {dict_example}, 类型: {type(dict_example)}")
print(f"集合: {set_example}, 类型: {type(set_example)}")

# 演示一些简单操作
print("\n列表的第一个元素:", list_example[0])
print("元组的长度:", len(tuple_example))
print("字典中'name'的值:", dict_example["name"])
print("集合中是否包含5:", 5 in set_example)

三、不同数据类型的转换

# 基本数据类型之间的运算
# 整数与浮点数运算(结果为浮点数)
int_num = 10
float_num = 3.5
print(f"整数 + 浮点数: {int_num} + {float_num} = {int_num + float_num}, 结果类型: {type(int_num + float_num)}")

# 整数与布尔值运算(True=1, False=0)
bool_true = True
bool_false = False
print(f"\n整数 + True: {int_num} + {bool_true} = {int_num + bool_true}")
print(f"整数 * False: {int_num} * {bool_false} = {int_num * bool_false}")

# 字符串相关运算
str1 = "Hello"
str2 = "World"
print(f"\n字符串拼接: {str1} + {str2} = {str1 + str2}")
print(f"字符串重复: {str1} * 3 = {str1 * 3}")

# 字符串与其他类型的转换运算
num_str = "123"
print(f"\n字符串转整数: {num_str} -> {int(num_str)}, 类型: {type(int(num_str))}")
print(f"整数转字符串: {int_num} -> {str(int_num)}, 类型: {type(str(int_num))}")

# 容器类型的运算
list1 = [1, 2, 3]
list2 = [4, 5, 6]
print(f"\n列表拼接: {list1} + {list2} = {list1 + list2}")
print(f"列表重复: {list1} * 2 = {list1 * 2}")

set1 = {1, 2, 3}
set2 = {3, 4, 5}
print(f"\n集合交集: {set1} & {set2} = {set1 & set2}")
print(f"集合并集: {set1} | {set2} = {set1 | set2}")
print(f"集合差集: {set1} - {set2} = {set1 - set2}")

# 不同类型之间的转换
print(f"\n列表转集合(去重): {list_example} -> {set(list_example)}")
print(f"元组转列表: {tuple_example} -> {list(tuple_example)}")

# 会报错的类型运算(取消注释可查看错误)
# print("字符串与数字直接相加会报错: " + 123)  # 这行代码会抛出TypeError

三、除了数据类型,还应知道的知识?

Python 基础知识还有很多重要的基础知识,除了前面提到的数据类型,以下是一些核心概念:

1. 变量与赋值

  • 变量无需声明类型,直接赋值即可使用(动态类型)
  • 支持多变量赋值:a = b = c = 1x, y, z = 1, 2, 3
  • 变量命名规则:只能包含字母、数字和下划线,不能以数字开头,区分大小写

2. 运算符

  • 算术运算符+-*/(浮点数除法)、//(整数除法)、%(取余)、**(幂运算)
    -** 比较运算符 ==!=><>=<=
    -
    逻辑运算符 andornot
    -
    赋值运算符 =+=-=*=
    -
    成员运算符 **:in(判断元素是否在容器中)、not in

3. 流程控制

-** 条件语句 **:if-elif-else 结构

score = 85
if score >= 90:
    print("优秀")
elif score >= 80:
    print("良好")
else:
    print("加油")

-** 循环语句 **:

  • for 循环(遍历序列或可迭代对象)
    for i in range(5):
        print(i)
    
  • while 循环(满足条件时执行)
    count = 0
    while count < 3:
        print(count)
        count += 1
    
  • 循环控制:break(终止循环)、continue(跳过当前循环)

4. 函数

  • def 定义函数,支持参数和返回值
    def add(a, b):
        return a + b
    
  • 支持默认参数、关键字参数、可变参数(*args**kwargs
  • 函数可以嵌套定义,也可以作为参数传递

5. 模块与包

  • 模块是包含 Python 代码的文件,通过 import 导入
    import math
    print(math.sqrt(16))  # 4.0
    
  • 包是多个模块的集合,通过目录结构组织
  • 常用内置模块:math(数学运算)、datetime(日期时间)、os(操作系统交互)等

6. 异常处理

  • 使用 try-except 捕获和处理错误,避免程序崩溃
    try:
        result = 10 / 0
    except ZeroDivisionError:
        print("除数不能为零")
    finally:
        print("无论是否出错都会执行")
    

7. 面向对象编程(OOP)

  • 类(class)是对象的模板,对象是类的实例
    class Person:
        def __init__(self, name):  # 构造方法
            self.name = name
        
        def greet(self):  # 类方法
            print(f"Hello, {self.name}")
    
    p = Person("Alice")
    p.greet()  # 输出 "Hello, Alice"
    
  • 核心概念:封装、继承、多态

8. 文件操作

  • open() 函数操作文件,支持读(r)、写(w)、追加(a)等模式
    with open("file.txt", "w") as f:  # with 语句自动关闭文件
        f.write("Hello, File!")
    

四、面向对象编程

面向对象编程(Object-Oriented Programming,简称 OOP)是一种编程思想和方法论,它将程序中的数据和操作数据的方法封装在“对象”中,通过对象之间的交互来完成程序功能。

核心思想是**“以对象为中心”**,将现实世界中的事物抽象为程序中的“对象”,每个对象都包含:

  • 属性(数据):描述对象的特征(如人的姓名、年龄)
  • 方法(函数):描述对象的行为(如人会说话、走路)

1.面向对象编程的四大核心特性:

  1. 封装(Encapsulation)
    将数据和操作数据的方法捆绑在一起,隐藏内部实现细节,只通过公开的接口与对象交互。
    例:一个“手机”对象,用户只需知道按电源键开机(接口),无需知道内部电路如何工作(细节)。

  2. 继承(Inheritance)
    允许创建新类(子类)继承现有类(父类)的属性和方法,实现代码复用和扩展。
    例:“学生”类可以继承“人”类的基本属性(姓名、年龄),再添加自己特有的属性(学号、班级)。

  3. 多态(Polymorphism)
    不同对象对同一操作可以有不同的实现方式。
    例:“动物”类有“叫”的方法,“猫”类实现为“喵喵叫”,“狗”类实现为“汪汪叫”。

  4. 抽象(Abstraction)
    忽略次要细节,提取核心特征,形成类的模板。
    例:定义“汽车”类时,只需关注“行驶”“刹车”等核心行为,忽略具体零件的细节。

2.简单代码示例(Python):

# 定义一个“人”类(模板)
class Person:
    # 属性(数据)
    def __init__(self, name, age):
        self.name = name  # 姓名
        self.age = age    # 年龄
    
    # 方法(行为)
    def greet(self):
        print(f"你好,我叫{self.name},今年{self.age}岁")

# 创建对象(实例化)
person1 = Person("小明", 20)
person2 = Person("小红", 18)

# 调用对象的方法
person1.greet()  # 输出:你好,我叫小明,今年20岁
person2.greet()  # 输出:你好,我叫小红,今年18岁

面向对象编程的优势在于:

  • 代码结构清晰,更接近人类对现实世界的认知
  • 便于维护和扩展,适合大型复杂程序开发
  • 提高代码复用率,减少重复劳动

Python 是一门支持面向对象编程的语言,同时也支持其他编程范式(如面向过程),可以根据需求灵活选择。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐