【Python】python基础知识-数据类型
一、Python 数据类型,可分为以下几大类:
1. 基本数据类型
- 整数(int):如
10、-5、0,支持任意大小的整数 - 浮点数(float):如
3.14、-0.5、2.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 = 1或x, y, z = 1, 2, 3 - 变量命名规则:只能包含字母、数字和下划线,不能以数字开头,区分大小写
2. 运算符
- 算术运算符:
+、-、*、/(浮点数除法)、//(整数除法)、%(取余)、**(幂运算)
-** 比较运算符 :==、!=、>、<、>=、<=
- 逻辑运算符 :and、or、not
- 赋值运算符 :=、+=、-=、*=等
- 成员运算符 **: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.面向对象编程的四大核心特性:
-
封装(Encapsulation)
将数据和操作数据的方法捆绑在一起,隐藏内部实现细节,只通过公开的接口与对象交互。
例:一个“手机”对象,用户只需知道按电源键开机(接口),无需知道内部电路如何工作(细节)。 -
继承(Inheritance)
允许创建新类(子类)继承现有类(父类)的属性和方法,实现代码复用和扩展。
例:“学生”类可以继承“人”类的基本属性(姓名、年龄),再添加自己特有的属性(学号、班级)。 -
多态(Polymorphism)
不同对象对同一操作可以有不同的实现方式。
例:“动物”类有“叫”的方法,“猫”类实现为“喵喵叫”,“狗”类实现为“汪汪叫”。 -
抽象(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 是一门支持面向对象编程的语言,同时也支持其他编程范式(如面向过程),可以根据需求灵活选择。
更多推荐



所有评论(0)