各位小伙伴们好!今天咱们不谈高深的技术,就聊聊Python的那些基础但超级实用的知识点。无论你是刚开始学习还是已经写了一点代码,这些知识点都值得掌握!
我发现很多Python初学者容易在某些基础概念上掉坑,结果代码总是莫名其妙出错,写得也不够优雅。所以今天就给大家整理了10个Python入门必学的基础知识,包你学完之后能少走不少弯路!
1. 数据类型和变量
Python最基本也是最常用的数据类型有这几种:整数、浮点数、字符串、布尔值、列表、元组、字典和集合。每种类型都有各自的特点和用法。
先看一些简单例子:
# 整数和浮点数
age = 25 # 整数
price = 19.99 # 浮点数
print(type(age), type(price))
# 字符串 - 可以用单引号或双引号
name = 'Python爱好者'
greeting = "你好,世界!"
print(name, greeting)
# 布尔值 - 只有True和False
is_student = True
has_experience = False
print(is_student, has_experience)
接下来是几种复合数据类型:
# 列表 - 可变序列
fruits = ['苹果', '香蕉', '橙子']
fruits.append('西瓜')
print(fruits) # 输出: ['苹果', '香蕉', '橙子', '西瓜']
# 元组 - 不可变序列
coordinates = (10, 20)
# coordinates[0] = 15 # 这会报错,因为元组不能修改
print(coordinates)
# 字典 - 键值对
student = {'name': '小明', 'age': 18, 'score': 95}
print(student['name']) # 输出: 小明
student['grade'] = '高三' # 添加新键值对
print(student)
# 集合 - 无序且元素唯一
numbers = {1, 2, 3, 3, 4} # 重复的3会被自动去掉
print(numbers) # 输出: {1, 2, 3, 4}
记住,Python的变量不需要声明类型,它会根据赋值自动确定类型,这就是所谓的"动态类型"。
2. 条件判断和循环
编程中,条件判断和循环是基本中的基本。Python的语法让它们看起来特别清晰。
条件判断:
# if-elif-else 结构
score = 85
if score >= 90:
grade = 'A'
elif score >= 80:
grade = 'B'
elif score >= 70:
grade = 'C'
elif score >= 60:
grade = 'D'
else:
grade = 'F'
print(f"得分:{score},等级:{grade}") # 输出: 得分:85,等级:B
循环:
# for循环 - 遍历列表
fruits = ['苹果', '香蕉', '橙子']
for fruit in fruits:
print(f"我喜欢吃{fruit}")
# while循环 - 条件为真时执行
count = 5
while count > 0:
print(f"倒计时: {count}")
count -= 1
print("发射!")
# break和continue
for i in range(10):
if i == 3:
continue # 跳过当前循环
if i == 7:
break # 结束整个循环
print(i) # 输出: 0, 1, 2, 4, 5, 6
3. 字符串操作
字符串是编程中最常用的数据类型之一,Python提供了丰富的字符串操作方法:
# 字符串连接
first_name = '张'
last_name = '三'
full_name = first_name + last_name
print(full_name) # 输出: 张三
# 字符串格式化(推荐使用f-string,Python 3.6+)
name
= '小明'
age = 18
message = f"{name}今年{age}岁了"
print(message) # 输出: 小明今年18岁了
# 字符串方法
text = " Python编程很有趣! "
print(text.strip()) # 去除两端空格
print(text.upper()) # 转大写
print(text.lower()) # 转小写
print(text.replace('有趣', '简单')) # 替换
print(text.split('编程')) # 分割
# 判断子串
sentence = "Python是一门非常流行的编程语言"
print('Python' in sentence) # 输出: True
print(sentence.startswith('Python')) # 输出: True
print(sentence.endswith('语言')) # 输出: True
4. 列表操作大全
列表是Python中最灵活的数据结构之一,掌握列表操作能让你的代码更加高效:
# 创建列表
numbers = [1, 2, 3, 4, 5]
mixed = [1, '二', 3.0, [4, 5]] # 可以包含不同类型的元素
empty = [] # 空列表
# 访问列表元素
print(numbers[0]) # 第一个元素,输出: 1
print(numbers[-1]) # 最后一个元素,输出: 5
print(numbers[1:3]) # 切片,输出: [2, 3]
print(numbers[::-1]) # 逆序,输出: [5, 4, 3, 2, 1]
# 修改列表
numbers[0] = 10
print(numbers) # 输出: [10, 2, 3, 4, 5]
# 添加元素
numbers.append(6) # 在末尾添加
print(numbers) # 输出: [10, 2, 3, 4, 5, 6]
numbers.insert(1, 15) # 在指定位置插入
print(numbers) # 输出: [10, 15, 2, 3, 4, 5, 6]
# 删除元素
numbers.remove(3) # 删除指定值的元素
print(numbers) # 输出: [10, 15, 2, 4, 5, 6]
popped =
numbers.pop() # 删除并返回最后一个元素
print(popped) # 输出: 6
print(numbers) # 输出: [10, 15, 2, 4, 5]
del numbers[0] # 删除指定位置的元素
print(numbers) # 输出: [15, 2, 4, 5]
# 列表方法
numbers.sort() # 排序
print(numbers) # 输出: [2, 4, 5, 15]
numbers.reverse() # 反转
print(numbers) # 输出: [15, 5, 4, 2]
print(len(numbers)) # 长度,输出: 4
print(min(numbers)) # 最小值,输出: 2
print(max(numbers)) # 最大值,输出: 15
print(numbers.count(5)) # 统计出现次数,输出: 1
5. 函数定义与调用
函数让你可以组织和重用代码,是编程中的基本构建块:
# 简单函数
def greet():
print("你好,欢迎学习Python!")
greet() # 调用函数
# 带参数的函数
def greet_person(name):
print(f"你好,{name}!")
greet_person("小明") # 输出: 你好,小明!
# 带默认参数的函数
def greet_with_time(name, time="早上"):
print(f"{time}好,{name}!")
greet_with_time("小红") # 使用默认参数,输出: 早上好,小红!
greet_with_time("小刚", "晚上") # 覆盖默认参数,输出: 晚上好,小刚!
# 返回值
def add(a, b):
return a + b
result = add(5, 3)
print(result) # 输出: 8
# 多个返回值
def get_user_info():
return "张三", 25, "北京"
name, age, city = get_user_info() # 解包多个返回值
print(name, age, city) # 输出: 张三 25 北京
# 可变参数
def sum_all(*numbers):
return sum(numbers)
print(sum_all
(1, 2, 3, 4)) # 输出: 10
# 关键字参数
def print_info(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
print_info(name="小明", age=18, city="上海")
6. 模块和包的使用
Python的强大很大程度上来自其丰富的模块生态系统:
# 导入整个模块
import math
print(math.sqrt(16)) # 输出: 4.0
# 导入特定函数
from math import sin, cos
print(sin(0)) # 输出: 0.0
# 导入所有内容(不推荐,可能引起命名冲突)
from math import *
# 给模块起别名
import math as m
print(m
.pi) # 输出: 3.141592653589793
# 第三方模块示例(需先安装:pip install requests)
# import requests
# response = requests.get("https://www.example.com")
# print(response.status_code)
创建自己的模块也很简单,只需将函数保存在.py
文件中,然后导入使用。
7. 文件操作
处理文件是编程中的常见任务,Python让它变得很简单:
# 读取文本文件
with open('example.txt', 'r', encoding='utf-8') as file:
content = file.read()
print(content)
# 按行读取
with open('example.txt', 'r', encoding='utf-8') as file:
for line in file:
print(line.strip()) # strip()去除行尾换行符
# 写入文件
with open('output.txt', 'w', encoding='utf-8') as file:
file.write(
"这是第一行\n")
file.write("这是第二行\n")
# 追加内容到文件
with open('output.txt', 'a', encoding='utf-8') as file:
file.write("这是追加的内容\n")
# 读写二进制文件
with open('image.jpg', 'rb') as file:
image_data = file.read()
with open('copy.jpg', 'wb') as file:
file.write(image_data)
注意with
语句的使用,它会自动处理文件的关闭,推荐使用这种方式操作文件。
8. 异常处理
程序中总会有可能出现各种错误,异常处理让你的代码更健壮:
# 基本的try-except
try:
num = int(input("请输入一个数字: "))
result = 10 / num
print(f"10除以{num}
等于{result}")
except ValueError:
print("输入的不是有效的数字")
except ZeroDivisionError:
print("不能除以零")
# 捕获多个异常
try:
# 可能出错的代码
pass
except (ValueError, TypeError) as e:
print(f"发生错误: {e}")
# try-except-else-finally
try:
num = int(input("请输入一个数字: "))
result = 100 / num
except ZeroDivisionError:
print("除数不能为零")
except ValueError:
print("请输入有效的数字")
else:
# 当try块中没有异常发生时执行
print(f"结果是: {result}")
finally:
# 无论是否发生异常都会执行
print("计算完成,清理资源")
# 自定义异常
class MyCustomError(Exception):
pass
def check_value(value):
if value < 0:
raise MyCustomError("值不能小于零")
try:
check_value(-10)
except MyCustomError as e:
print(e)
9. 字典和集合
字典和集合是两种高效的数据结构,用好它们可以让你的代码更加优雅:
字典操作:
# 创建字典
student = {'name': '小明', 'age': 18, 'score': 95}
empty_dict = {} # 空字典
another_dict = dict(name='小红', age=17) # 使用dict()函数创建
# 访问字典元素
print(student['name']) # 输出: 小明
# print(student['gender']) # 会报KeyError
# 更安全的访问方式
print(student.get('gender')) # 输出: None,不存在时返回None
print(student.get('gender'
, '未知')) # 输出: 未知,提供默认值
# 增加/修改键值对
student['gender'] = '男'
student['score'] = 98 # 修改已有键的值
# 删除键值对
del student['age']
score = student.pop('score') # 删除并返回值
print(score) # 输出: 98
# 字典方法
print(student.keys()) # 获取所有键
print(student.values()) # 获取所有值
print(student.items()) # 获取所有键值对
# 遍历字典
for key in student:
print(key, student[key])
for key, value in student.items():
print(key, value)
# 检查键是否存在
print('name' in student) # 输出: True
集合操作:
# 创建集合
fruits = {'苹果', '香蕉', '橙子'}
empty_set = set() # 空集合(注意:{}创建的是空字典)
# 集合操作
fruits.add('西瓜') # 添加元素
fruits.remove('香蕉') # 删除元素(不存在会报错)
fruits.discard('芒果') # 删除元素(不存在也不会报错)
# 集合运算
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
print(set1 | set2) # 并集: {1, 2, 3, 4, 5, 6, 7, 8}
print(set1 & set2) # 交集: {4, 5}
print(set1 - set2) # 差集: {1, 2, 3}
print(set1 ^ set2) # 对称差: {1, 2, 3, 6, 7, 8}
# 检查元素是否在集合中
print('苹果' in fruits) # 输出: True
10. 列表、字典和集合推导式
推导式是Python中非常有用的特性,可以用简洁的方式创建列表、字典和集合:
# 列表推导式
squares = [x**2 for x in range(1, 11)]
print(squares) # 输出: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
# 带条件的列表推导式
even_squares = [x**2 for x in range(1, 11) if x % 2 == 0]
print(even_squares) # 输出: [4, 16, 36, 64, 100]
# 字典推导式
square_dict = {x: x**2 for x in range(1, 6)}
print(square_dict) # 输出: {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
# 集合推导式
even_set = {x for x in range(10) if x % 2 == 0}
print(even_set) # 输出: {0, 2, 4, 6, 8}
# 多层推导式(生成所有可能的坐标对)
coordinates = [(
x, y) for x in range(3) for y in range(2)]
print(coordinates) # 输出: [(0, 0), (0, 1), (1, 0), (1, 1), (2, 0), (2, 1)]
今天咱们一次性讲了这么多Python基础知识点,虽然每个点没展开太深入,但对新手来说已经够用了。多写代码、多实践,这些知识点自然就烂熟于心了!
记住这10个基础知识点:
数据类型和变量
条件判断和循环
字符串操作
列表操作
函数定义与调用
模块和包的使用
文件操作
异常处理
字典和集合
推导式
如果这篇文章对你有帮助,别忘了点个赞、转发给其他Python学习者!有任何问题也欢迎在评论区留言交流,我们一起学习进步!
转发、收藏、在看,是对作者最大的鼓励!👏
对Python,AI,自动化办公提效,副业发展等感兴趣的伙伴们,扫码添加逍遥,限免交流群
备注【成长交流】